@@ -0,0 +1,4 @@ | |||
apache-karaf-4.2.1-minimal/karaf.pid | |||
apache-karaf-4.2.1-minimal/lock | |||
apache-karaf-4.2.1-minimal/instances | |||
apache-karaf-4.2.1-minimal/data |
@@ -0,0 +1,58 @@ | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one | |||
or more contributor license agreements. See the NOTICE file | |||
distributed with this work for additional information | |||
regarding copyright ownership. The ASF licenses this file | |||
to you under the Apache License, Version 2.0 (the | |||
"License"); you may not use this file except in compliance | |||
with the License. You may obtain a copy of the License at | |||
http://www.apache.org/licenses/LICENSE-2.0 | |||
Unless required by applicable law or agreed to in writing, | |||
software distributed under the License is distributed on an | |||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |||
KIND, either express or implied. See the License for the | |||
specific language governing permissions and limitations | |||
under the License. | |||
--> | |||
# Building Apache Karaf | |||
## Initial Setup | |||
1. Install J2SE 8.0 SDK (or later), which can be downloaded from | |||
http://www.oracle.com/technetwork/java/javase/downloads/index.html | |||
Use version of "JDK 8.0 Update 131" (or later). | |||
2. Make sure that your JAVA_HOME environment variable is set to the newly installed | |||
JDK location, and that your PATH includes `%JAVA_HOME%\bin` (windows) or | |||
`$JAVA_HOME$/bin` (unix). | |||
3. Install Maven 3.0.3 (or later), which can be downloaded from | |||
http://maven.apache.org/download.html. Make sure that your PATH includes | |||
the `$MVN_HOME/bin` directory. | |||
## Building | |||
1. Change to the top level directory of Apache Karaf source distribution. | |||
2. Run | |||
``` | |||
$> mvn clean install | |||
``` | |||
This will compile Apache Karaf and run all of the tests in the | |||
Apache Karaf source distribution. Alternatively, you can run: | |||
``` | |||
$> mvn clean install -DskipTests | |||
``` | |||
This will compile Apache Karaf without running the tests and takes less | |||
time to build. | |||
3. The distributions will be available under `assemblies/apache-karaf/target` | |||
and `assemblies/apache-karaf-minimal/target` directories. | |||
@@ -0,0 +1,475 @@ | |||
Apache License | |||
Version 2.0, January 2004 | |||
http://www.apache.org/licenses/ | |||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | |||
1. Definitions. | |||
"License" shall mean the terms and conditions for use, reproduction, | |||
and distribution as defined by Sections 1 through 9 of this document. | |||
"Licensor" shall mean the copyright owner or entity authorized by | |||
the copyright owner that is granting the License. | |||
"Legal Entity" shall mean the union of the acting entity and all | |||
other entities that control, are controlled by, or are under common | |||
control with that entity. For the purposes of this definition, | |||
"control" means (i) the power, direct or indirect, to cause the | |||
direction or management of such entity, whether by contract or | |||
otherwise, or (ii) ownership of fifty percent (50%) or more of the | |||
outstanding shares, or (iii) beneficial ownership of such entity. | |||
"You" (or "Your") shall mean an individual or Legal Entity | |||
exercising permissions granted by this License. | |||
"Source" form shall mean the preferred form for making modifications, | |||
including but not limited to software source code, documentation | |||
source, and configuration files. | |||
"Object" form shall mean any form resulting from mechanical | |||
transformation or translation of a Source form, including but | |||
not limited to compiled object code, generated documentation, | |||
and conversions to other media types. | |||
"Work" shall mean the work of authorship, whether in Source or | |||
Object form, made available under the License, as indicated by a | |||
copyright notice that is included in or attached to the work | |||
(an example is provided in the Appendix below). | |||
"Derivative Works" shall mean any work, whether in Source or Object | |||
form, that is based on (or derived from) the Work and for which the | |||
editorial revisions, annotations, elaborations, or other modifications | |||
represent, as a whole, an original work of authorship. For the purposes | |||
of this License, Derivative Works shall not include works that remain | |||
separable from, or merely link (or bind by name) to the interfaces of, | |||
the Work and Derivative Works thereof. | |||
"Contribution" shall mean any work of authorship, including | |||
the original version of the Work and any modifications or additions | |||
to that Work or Derivative Works thereof, that is intentionally | |||
submitted to Licensor for inclusion in the Work by the copyright owner | |||
or by an individual or Legal Entity authorized to submit on behalf of | |||
the copyright owner. For the purposes of this definition, "submitted" | |||
means any form of electronic, verbal, or written communication sent | |||
to the Licensor or its representatives, including but not limited to | |||
communication on electronic mailing lists, source code control systems, | |||
and issue tracking systems that are managed by, or on behalf of, the | |||
Licensor for the purpose of discussing and improving the Work, but | |||
excluding communication that is conspicuously marked or otherwise | |||
designated in writing by the copyright owner as "Not a Contribution." | |||
"Contributor" shall mean Licensor and any individual or Legal Entity | |||
on behalf of whom a Contribution has been received by Licensor and | |||
subsequently incorporated within the Work. | |||
2. Grant of Copyright License. Subject to the terms and conditions of | |||
this License, each Contributor hereby grants to You a perpetual, | |||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||
copyright license to reproduce, prepare Derivative Works of, | |||
publicly display, publicly perform, sublicense, and distribute the | |||
Work and such Derivative Works in Source or Object form. | |||
3. Grant of Patent License. Subject to the terms and conditions of | |||
this License, each Contributor hereby grants to You a perpetual, | |||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||
(except as stated in this section) patent license to make, have made, | |||
use, offer to sell, sell, import, and otherwise transfer the Work, | |||
where such license applies only to those patent claims licensable | |||
by such Contributor that are necessarily infringed by their | |||
Contribution(s) alone or by combination of their Contribution(s) | |||
with the Work to which such Contribution(s) was submitted. If You | |||
institute patent litigation against any entity (including a | |||
cross-claim or counterclaim in a lawsuit) alleging that the Work | |||
or a Contribution incorporated within the Work constitutes direct | |||
or contributory patent infringement, then any patent licenses | |||
granted to You under this License for that Work shall terminate | |||
as of the date such litigation is filed. | |||
4. Redistribution. You may reproduce and distribute copies of the | |||
Work or Derivative Works thereof in any medium, with or without | |||
modifications, and in Source or Object form, provided that You | |||
meet the following conditions: | |||
(a) You must give any other recipients of the Work or | |||
Derivative Works a copy of this License; and | |||
(b) You must cause any modified files to carry prominent notices | |||
stating that You changed the files; and | |||
(c) You must retain, in the Source form of any Derivative Works | |||
that You distribute, all copyright, patent, trademark, and | |||
attribution notices from the Source form of the Work, | |||
excluding those notices that do not pertain to any part of | |||
the Derivative Works; and | |||
(d) If the Work includes a "NOTICE" text file as part of its | |||
distribution, then any Derivative Works that You distribute must | |||
include a readable copy of the attribution notices contained | |||
within such NOTICE file, excluding those notices that do not | |||
pertain to any part of the Derivative Works, in at least one | |||
of the following places: within a NOTICE text file distributed | |||
as part of the Derivative Works; within the Source form or | |||
documentation, if provided along with the Derivative Works; or, | |||
within a display generated by the Derivative Works, if and | |||
wherever such third-party notices normally appear. The contents | |||
of the NOTICE file are for informational purposes only and | |||
do not modify the License. You may add Your own attribution | |||
notices within Derivative Works that You distribute, alongside | |||
or as an addendum to the NOTICE text from the Work, provided | |||
that such additional attribution notices cannot be construed | |||
as modifying the License. | |||
You may add Your own copyright statement to Your modifications and | |||
may provide additional or different license terms and conditions | |||
for use, reproduction, or distribution of Your modifications, or | |||
for any such Derivative Works as a whole, provided Your use, | |||
reproduction, and distribution of the Work otherwise complies with | |||
the conditions stated in this License. | |||
5. Submission of Contributions. Unless You explicitly state otherwise, | |||
any Contribution intentionally submitted for inclusion in the Work | |||
by You to the Licensor shall be under the terms and conditions of | |||
this License, without any additional terms or conditions. | |||
Notwithstanding the above, nothing herein shall supersede or modify | |||
the terms of any separate license agreement you may have executed | |||
with Licensor regarding such Contributions. | |||
6. Trademarks. This License does not grant permission to use the trade | |||
names, trademarks, service marks, or product names of the Licensor, | |||
except as required for reasonable and customary use in describing the | |||
origin of the Work and reproducing the content of the NOTICE file. | |||
7. Disclaimer of Warranty. Unless required by applicable law or | |||
agreed to in writing, Licensor provides the Work (and each | |||
Contributor provides its Contributions) on an "AS IS" BASIS, | |||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | |||
implied, including, without limitation, any warranties or conditions | |||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | |||
PARTICULAR PURPOSE. You are solely responsible for determining the | |||
appropriateness of using or redistributing the Work and assume any | |||
risks associated with Your exercise of permissions under this License. | |||
8. Limitation of Liability. In no event and under no legal theory, | |||
whether in tort (including negligence), contract, or otherwise, | |||
unless required by applicable law (such as deliberate and grossly | |||
negligent acts) or agreed to in writing, shall any Contributor be | |||
liable to You for damages, including any direct, indirect, special, | |||
incidental, or consequential damages of any character arising as a | |||
result of this License or out of the use or inability to use the | |||
Work (including but not limited to damages for loss of goodwill, | |||
work stoppage, computer failure or malfunction, or any and all | |||
other commercial damages or losses), even if such Contributor | |||
has been advised of the possibility of such damages. | |||
9. Accepting Warranty or Additional Liability. While redistributing | |||
the Work or Derivative Works thereof, You may choose to offer, | |||
and charge a fee for, acceptance of support, warranty, indemnity, | |||
or other liability obligations and/or rights consistent with this | |||
License. However, in accepting such obligations, You may act only | |||
on Your own behalf and on Your sole responsibility, not on behalf | |||
of any other Contributor, and only if You agree to indemnify, | |||
defend, and hold each Contributor harmless for any liability | |||
incurred by, or claims asserted against, such Contributor by reason | |||
of your accepting any such warranty or additional liability. | |||
END OF TERMS AND CONDITIONS | |||
APPENDIX: How to apply the Apache License to your work. | |||
To apply the Apache License to your work, attach the following | |||
boilerplate notice, with the fields enclosed by brackets "[]" | |||
replaced with your own identifying information. (Don't include | |||
the brackets!) The text should be enclosed in the appropriate | |||
comment syntax for the file format. We also recommend that a | |||
file or class name and description of purpose be included on the | |||
same "printed page" as the copyright notice for easier | |||
identification within third-party archives. | |||
Copyright [yyyy] [name of copyright owner] | |||
Licensed under the Apache License, Version 2.0 (the "License"); | |||
you may not use this file except in compliance with the License. | |||
You may obtain a copy of the License at | |||
http://www.apache.org/licenses/LICENSE-2.0 | |||
Unless required by applicable law or agreed to in writing, software | |||
distributed under the License is distributed on an "AS IS" BASIS, | |||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
See the License for the specific language governing permissions and | |||
limitations under the License. | |||
For asm: | |||
Copyright (c) 2000-2011 INRIA, France Telecom | |||
All rights reserved. | |||
Redistribution and use in source and binary forms, with or without | |||
modification, are permitted provided that the following conditions | |||
are met: | |||
1. Redistributions of source code must retain the above copyright | |||
notice, this list of conditions and the following disclaimer. | |||
2. Redistributions in binary form must reproduce the above copyright | |||
notice, this list of conditions and the following disclaimer in the | |||
documentation and/or other materials provided with the distribution. | |||
3. Neither the name of the copyright holders nor the names of its | |||
contributors may be used to endorse or promote products derived from | |||
this software without specific prior written permission. | |||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | |||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | |||
THE POSSIBILITY OF SUCH DAMAGE. | |||
For equinox: | |||
Eclipse Public License - v 1.0 | |||
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). | |||
ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. | |||
1. DEFINITIONS | |||
"Contribution" means: | |||
a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and | |||
b) in the case of each subsequent Contributor: | |||
i) changes to the Program, and | |||
ii) additions to the Program; | |||
where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. | |||
A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone | |||
acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate | |||
modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not | |||
derivative works of the Program. | |||
"Contributor" means any person or entity that distributes the Program. | |||
"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale | |||
of its Contribution alone or when combined with the Program. | |||
"Program" means the Contributions distributed in accordance with this Agreement. | |||
"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. | |||
2. GRANT OF RIGHTS | |||
a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, | |||
royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, | |||
distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code | |||
and object code form. | |||
b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, | |||
royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer | |||
the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to | |||
the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such | |||
addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall | |||
not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. | |||
c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no | |||
assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property | |||
rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity | |||
based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses | |||
granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights | |||
needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, | |||
it is Recipient's responsibility to acquire that license before distributing the Program. | |||
d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, | |||
to grant the copyright license set forth in this Agreement. | |||
3. REQUIREMENTS | |||
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: | |||
a) it complies with the terms and conditions of this Agreement; and | |||
b) its license agreement: | |||
i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including | |||
warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and | |||
fitness for a particular purpose; | |||
ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, | |||
incidental and consequential damages, such as lost profits; | |||
iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any | |||
other party; and | |||
iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain | |||
it in a reasonable manner on or through a medium customarily used for software exchange. | |||
When the Program is made available in source code form: | |||
a) it must be made available under this Agreement; and | |||
b) a copy of this Agreement must be included with each copy of the Program. | |||
Contributors may not remove or alter any copyright notices contained within the Program. | |||
Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably | |||
allows subsequent Recipients to identify the originator of the Contribution. | |||
4. COMMERCIAL DISTRIBUTION | |||
Commercial distributors of software may accept certain responsibilities with respect to end users, business partners | |||
and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who | |||
includes the Program in a commercial product offering should do so in a manner which does not create potential | |||
liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, | |||
such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor | |||
("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, | |||
lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused | |||
by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a | |||
commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any | |||
actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly | |||
notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and | |||
cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The | |||
Indemnified Contributor may participate in any such claim at its own expense. | |||
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is | |||
then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties | |||
related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. | |||
Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to | |||
those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, | |||
the Commercial Contributor must pay those damages. | |||
5. NO WARRANTY | |||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR | |||
CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, | |||
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for | |||
determining the appropriateness of using and distributing the Program and assumes all risks associated with its | |||
exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, | |||
compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption | |||
of operations. | |||
6. DISCLAIMER OF LIABILITY | |||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR | |||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST | |||
PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS | |||
GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. | |||
7. GENERAL | |||
If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity | |||
or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, | |||
such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. | |||
If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) | |||
alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes | |||
such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date | |||
such litigation is filed. | |||
All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or | |||
conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of | |||
such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and | |||
distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement | |||
and any licenses granted by Recipient relating to the Program shall continue and survive. | |||
Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the | |||
Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right | |||
to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement | |||
Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse | |||
Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new | |||
version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may | |||
always be distributed subject to the version of the Agreement under which it was received. In addition, after a new | |||
version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) | |||
under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or | |||
licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, | |||
estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. | |||
This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States | |||
of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the | |||
cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. | |||
For Java Service Wrapper: | |||
Copyright (c) 1999, 2006 Tanuki Software, Inc. | |||
Permission is hereby granted, free of charge, to any person | |||
obtaining a copy of the Java Service Wrapper and associated | |||
documentation files (the "Software"), to deal in the Software | |||
without restriction, including without limitation the rights | |||
to use, copy, modify, merge, publish, distribute, sub-license, | |||
and/or sell copies of the Software, and to permit persons to | |||
whom the Software is furnished to do so, subject to the | |||
following conditions: | |||
The above copyright notice and this permission notice shall be | |||
included in all copies or substantial portions of the Software. | |||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | |||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |||
NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | |||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |||
OTHER DEALINGS IN THE SOFTWARE. | |||
Portions of the Software have been derived from source code | |||
developed by Silver Egg Technology under the following license: | |||
BEGIN Silver Egg Techology License ----------------------------------- | |||
Copyright (c) 2001 Silver Egg Technology | |||
Permission is hereby granted, free of charge, to any person | |||
obtaining a copy of this software and associated documentation | |||
files (the "Software"), to deal in the Software without | |||
restriction, including without limitation the rights to use, | |||
copy, modify, merge, publish, distribute, sub-license, and/or | |||
sell copies of the Software, and to permit persons to whom the | |||
Software is furnished to do so, subject to the following | |||
conditions: | |||
The above copyright notice and this permission notice shall be | |||
included in all copies or substantial portions of the Software. | |||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | |||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |||
NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | |||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |||
OTHER DEALINGS IN THE SOFTWARE. | |||
END Silver Egg Techology License ------------------------------------- | |||
For slf4j | |||
Copyright (c) 2004-2011 QOS.ch | |||
All rights reserved. | |||
Permission is hereby granted, free of charge, to any person obtaining | |||
a copy of this software and associated documentation files (the | |||
"Software"), to deal in the Software without restriction, including | |||
without limitation the rights to use, copy, modify, merge, publish, | |||
distribute, sublicense, and/or sell copies of the Software, and to | |||
permit persons to whom the Software is furnished to do so, subject to | |||
the following conditions: | |||
The above copyright notice and this permission notice shall be | |||
included in all copies or substantial portions of the Software. | |||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
@@ -0,0 +1,65 @@ | |||
Apache Karaf | |||
Copyright 2010-2018 The Apache Software Foundation | |||
I. Included Software | |||
This product includes software developed at | |||
The Apache Software Foundation (http://www.apache.org/). | |||
Licensed under the Apache License 2.0. | |||
This product includes software developed at | |||
The OSGi Alliance (http://www.osgi.org/). | |||
Copyright (c) OSGi Alliance (2000, 2010). | |||
Licensed under the Apache License 2.0. | |||
This product includes software developed at | |||
OW2 (http://www.ow2.org/). | |||
Licensed under the BSD License. | |||
This product includes software developed at | |||
OPS4J (http://www.ops4j.org/). | |||
Licensed under the Apache License 2.0. | |||
This product includes software developed at | |||
Eclipse Foundation (http://www.eclipse.org/). | |||
Licensed under the EPL. | |||
This product includes software written by | |||
Antony Lesuisse. | |||
Licensed under Public Domain. | |||
II. Used Software | |||
This product uses software developed at | |||
FUSE Source (http://www.fusesource.org/). | |||
Licensed under the Apache License 2.0. | |||
This product uses software developed at | |||
AOP Alliance (http://aopalliance.sourceforge.net/). | |||
Licensed under the Public Domain. | |||
This product uses software developed at | |||
Tanuki Software (http://www.tanukisoftware.com/). | |||
Licensed under the Apache License 2.0. | |||
This product uses software developed at | |||
Jasypt (http://jasypt.sourceforge.net/). | |||
Licensed under the Apache License 2.0. | |||
This product uses software developed at | |||
JLine (https://github.com/jline/). | |||
Licensed under the BSD License. | |||
This product uses software developed at | |||
SLF4J (http://www.slf4j.org/). | |||
Licensed under the MIT License. | |||
This product uses software developed at | |||
SpringSource (http://www.springsource.org/). | |||
Licensed under the Apache License 2.0. | |||
III. License Summary | |||
- Apache License 2.0 | |||
- BSD License | |||
- EPL License | |||
- MIT License |
@@ -0,0 +1,92 @@ | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one | |||
or more contributor license agreements. See the NOTICE file | |||
distributed with this work for additional information | |||
regarding copyright ownership. The ASF licenses this file | |||
to you under the Apache License, Version 2.0 (the | |||
"License"); you may not use this file except in compliance | |||
with the License. You may obtain a copy of the License at | |||
http://www.apache.org/licenses/LICENSE-2.0 | |||
Unless required by applicable law or agreed to in writing, | |||
software distributed under the License is distributed on an | |||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |||
KIND, either express or implied. See the License for the | |||
specific language governing permissions and limitations | |||
under the License. | |||
--> | |||
# Apache Karaf | |||
[Apache Karaf](http://karaf.apache.org) is a modern and polymorphic applications container. | |||
It's a lightweight, powered, and enterprise ready container powered by OSGi. | |||
[Apache Karaf](http://karaf.apache.org) is a "product project", providing a complete and turnkey runtime. The runtime is | |||
"multi-facets", meaning that you can deploy different kind of applications: OSGi or non OSGi, webapplication, services based, ... | |||
## Overview | |||
* **Hot deployment**: Karaf supports hot deployment of OSGi bundles by monitoring | |||
jar files inside the [home]/deploy directory. Each time a jar is copied in this folder, | |||
it will be installed inside the runtime. You can then update or delete it and changes will | |||
be handled automatically. In addition, the Kernel also supports exploded bundles and custom | |||
deployers (a spring one is included by default). | |||
* **Dynamic configuration**: Services are usually configured through the ConfigurationAdmin OSGi | |||
service. Such configuration can be defined in Karaf using property files inside | |||
the [home]/etc directory. These configurations are monitored and changes on the properties | |||
files will be propagated to the services. | |||
* **Resolver**: Apache Karaf resolver is able to deal with requirements and capabilities of your module, | |||
simplifying the way of deploying your applications. | |||
* **Logging System**: using a centralized logging back end supported by Log4J, Karaf | |||
supports a number of different APIs (JDK 1.4, JCL, SLF4J, Avalon, Tomcat, OSGi) | |||
* **Provisioning**: Provisioning of libraries or applications can be done through a number of | |||
different ways, by which they will be downloaded locally, installed and started. It interacts | |||
with the resolver to automatically install the required components. | |||
* **Native OS integration**: Karaf can be integrated into your own Operating System as | |||
a service so that the lifecycle will be bound to your Operating System. | |||
* **Extensible Shell console**: Karaf features a nice text console where you can manage the | |||
services, install new applications or libraries and manage their state. This shell is easily | |||
extensible by deploying new commands dynamically along with new features or applications. | |||
* **Remote access**: use any SSH client to connect to the kernel and issue commands in the console | |||
* **Security & ACL** framework based on JAAS providing complete RBAC solution. | |||
* **Managing instances**: Karaf provides simple commands for managing instances of Karaf. | |||
You can easily create, delete, start and stop instances of Karaf through the console. | |||
* **Enterprise features**: Karaf provides a bunch of enterprise features that you can use in your applications (JDBC, JPA, JTA, JMS, ...). | |||
* **WebContainer**: Karaf provides a full features web container, allowing you to deploy your web applications. | |||
* **REST & Services**: Karaf supports different service frameworks as Apache CXF allowing you to easily implements your services. | |||
* **Karaf Extensions**: Karaf project is a complete ecosystem. The container can be extended by other Karaf subprojects such as Karaf Decanter, Karaf Cellar, Karaf Cave, ... | |||
* **Third Party Extensions**: Karaf is a supported runtime for a lot of other projects as [Apache Camel](http://camel.apache.org), and much more. | |||
## Getting Started | |||
For an Apache Karaf source distribution, please read [BUILDING.md](https://github.com/apache/karaf/BUILDING.md) for instructions on building Apache Karaf. | |||
For an Apache Karaf binary distribution, please read [RELEASE-NOTES.md](https://github.com/apache/karaf/RELEASE-NOTES.md) for installation instructions and list of supported | |||
and unsupported features. | |||
The PDF manual is the right place to find any information about Karaf. | |||
The [examples](http://github.com/apache/karaf/examples) provide a bunch of turnkey minimal applications that you can deploy in Apache Karaf and extend/template as you want. | |||
## Contact Us | |||
To get involved in Apache Karaf: | |||
* [Subscribe](mailto:user-subscribe@karaf.apache.org) or [mail](mailto:user@karaf.apache.org) the [user@karaf.apache.org](http://mail-archives.apache.org/mod_mbox/karaf-user/) list. | |||
* [Subscribe](mailto:dev-subscribe@karaf.apache.org) or [mail](mailto:dev@karaf.apache.org) the [dev@karaf.apache.org](http://mail-archives.apache.org/mod_mbox/karaf-dev/) list. | |||
* Report issues on [JIRA](https://issues.apache.org/jira/browse/KARAF). | |||
We also have a [contributor's guide](http://karaf.apache.org/community.html#contribute). | |||
## More Information | |||
* [Apache Karaf](http://karaf.apache.org) | |||
* [Apache Karaf News](http://karaf.apache.org/news.html) | |||
* [Apache Karaf Download](http://karaf.apache.org/download.html) | |||
* [Apache Karaf Documentation](http://karaf.apache.org/documentation.html) | |||
* [Apache Karaf Community](http://karaf.apache.org/community.html) | |||
* [Apache Software Foundation](https://www.apache.org) | |||
Many thanks for using Apache Karaf. | |||
**The Apache Karaf Team** |
@@ -0,0 +1,622 @@ | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one | |||
or more contributor license agreements. See the NOTICE file | |||
distributed with this work for additional information | |||
regarding copyright ownership. The ASF licenses this file | |||
to you under the Apache License, Version 2.0 (the | |||
"License"); you may not use this file except in compliance | |||
with the License. You may obtain a copy of the License at | |||
http://www.apache.org/licenses/LICENSE-2.0 | |||
Unless required by applicable law or agreed to in writing, | |||
software distributed under the License is distributed on an | |||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |||
KIND, either express or implied. See the License for the | |||
specific language governing permissions and limitations | |||
under the License. | |||
--> | |||
## Apache Karaf 4.2.1 | |||
Apache Karaf 4.2.1 is a major update on the 4.2.x series. It brings bunch of fixes, dependencies updates | |||
and new features, especially: | |||
* new assembly tooling to create Karaf Docker images | |||
* new Docker feature allowing you to manipulate Docker directly from a Karaf instance | |||
* Better Java 9/10/11 support | |||
* new examples directly as part of the Karaf distribution | |||
* improved KarafTestSupport allowing you to easily implement your itests | |||
### ChangeLog | |||
#### Bug | |||
* [KARAF-4996] - Missing packages in created instances | |||
* [KARAF-5422] - Feature Repository with Spaces in Path | |||
* [KARAF-5683] - Completion is "weird" on Windows 8 | |||
* [KARAF-5689] - Console is broken after Ctrl+C | |||
* [KARAF-5690] - Add missing jaxb endorsed / osgi classes | |||
* [KARAF-5692] - Alias not honoured in config:edit --factory --alias | |||
* [KARAF-5694] - strip url to ensure it's a valid one which could download | |||
* [KARAF-5695] - Starting Karaf Container 4.2.0 in Ubuntu 17.10 with OpenJDK 9 fails | |||
* [KARAF-5696] - Java detection is broken on windows | |||
* [KARAF-5697] - feature:start and feature:stop should be able to select multiple features | |||
* [KARAF-5699] - Upgrade to jolokia 1.5.0 | |||
* [KARAF-5701] - feature installation: Crash and ResolutionException | |||
* [KARAF-5705] - Java 10 issues with jetty | |||
* [KARAF-5729] - Karaf won't start on Solaris 11 and AIX 7.2 | |||
* [KARAF-5748] - Command results are not printed anymore unless they are strings | |||
* [KARAF-5749] - Possible shell crash when executing malformed script | |||
* [KARAF-5750] - Karaf console not calling Converter for custom gogo commands | |||
* [KARAF-5753] - Karaf won't start correctly on HP-UX | |||
* [KARAF-5760] - VerifyMojo should allow blacklisting feature repositories | |||
* [KARAF-5765] - karaf-service script not working on HP-UX | |||
* [KARAF-5768] - karaf-service script not working on AIX platforms | |||
* [KARAF-5781] - Properties edit doesn't conserve the existing ones | |||
* [KARAF-5791] - need to check the blacklist when we add feature repo through JMX | |||
* [KARAF-5798] - Karaf slave instance does not write pid or port file until it becomes master | |||
* [KARAF-5809] - 'simple' host.key files no longer work | |||
* [KARAF-5840] - Karaf specs activator is missing when used with wrapper | |||
* [KARAF-5842] - Console unusable in docker | |||
* [KARAF-5850] - JPA features should provide the engine capability | |||
* [KARAF-5851] - Remove heading spaces in the cfg files | |||
* [KARAF-5862] - org.apache.karaf.specs.java.xml doesn't work with IBM JDK | |||
#### New Feature | |||
* [KARAF-5761] - Print better usage of commands in karaf shell | |||
* [KARAF-5867] - Provide openjpa 3.0.0 support | |||
* [KARAF-5870] - Upgrade to Hibernate Validator 6.0.12.Final | |||
* [KARAF-5871] - Upgrade to ASM 6.2.1 | |||
* [KARAF-5872] - Upgrade to Spring 5.0.8.RELEASE | |||
#### Improvement | |||
* [KARAF-3235] - Provide karaf itest common bundle | |||
* [KARAF-5363] - Add --no-start option to kar:install, kar cfg and kar MBean | |||
* [KARAF-5644] - Add docker feature | |||
* [KARAF-5685] - Add ProfileMBean | |||
* [KARAF-5700] - handle \* scope specifically for ACL match | |||
* [KARAF-5706] - Upgrade to Felix Utils 1.11.0 | |||
* [KARAF-5742] - Possibility to configure colors for karaf shell | |||
* [KARAF-5752] - Add bundle ID in bundle:classes output | |||
* [KARAF-5759] - Add an option to config:list to list only the PIDs | |||
* [KARAF-5778] - NPE in the ssh client if TERM is null | |||
* [KARAF-5787] - Improve scheduler whiteboard to avoid ClassCastException | |||
* [KARAF-5796] - Heap dump needs to end in .hprof w/ newer JDK | |||
* [KARAF-5804] - FastDateFormatTest fails on EDT (jdk 1.8.0_151) | |||
* [KARAF-5805] - Add feature required item field to JmxFeature CompositeData | |||
* [KARAF-5839] - Add assertServiceAvailable() in KarafTestSupport | |||
* [KARAF-5847] - org.apache.felix.coordinator could be installed with configadmin, to prevent its refreshes | |||
* [KARAF-5868] - be able to remove properties during distribution assembly | |||
#### Test | |||
* [KARAF-5845] - JMXSecurityTest.testJMXSecurityAsManager is flaky | |||
* [KARAF-5846] - ConfigManagedServiceFactoryTest.updateProperties is flacky | |||
#### Task | |||
* [KARAF-2511] - Review and update documentation | |||
* [KARAF-5764] - ensure we can build and run Karaf master with JDK11 | |||
#### Dependency upgrade | |||
* [KARAF-5698] - Upgrade to Felix Gogo Runtime / JLine 1.0.12 | |||
* [KARAF-5710] - Upgrade to Felix Resolver 1.16.0 | |||
* [KARAF-5713] - Upgrade to Maven API 3.5.3 | |||
* [KARAF-5714] - Upgrade to ServiceMix Spec Locator 2.10 | |||
* [KARAF-5715] - Upgrade to XBean 4.8 | |||
* [KARAF-5716] - Upgrade to awaitability 3.1.0 | |||
* [KARAF-5717] - Upgrade to easymock 3.6 | |||
* [KARAF-5718] - Upgrade to Equinox 3.12.100 | |||
* [KARAF-5719] - Upgrade to Jansi 1.17.1 | |||
* [KARAF-5720] - Upgrade to JLine 3.7.1 | |||
* [KARAF-5721] - Upgrade to Pax JMS 1.0.1 | |||
* [KARAF-5722] - Upgrade to ASM 6.2 & Aries Proxy Impl 1.1.2 | |||
* [KARAF-5723] - Upgrade to Pax JDBC 1.3.0 | |||
* [KARAF-5726] - Upgrade to Aries Proxy version Java 10 compliant | |||
* [KARAF-5728] - Upgrade to Pax Web 7.1.1 & Jetty 9.4.10.v20180503 | |||
* [KARAF-5732] - Upgrade to Felix ConfigAdmin 1.9.0 | |||
* [KARAF-5733] - Upgrade to Felix EventAdmin 1.5.0 | |||
* [KARAF-5734] - Upgrade to Felix Metatype 1.2.0 | |||
* [KARAF-5735] - Upgrade to Felix SCR 2.1.0 | |||
* [KARAF-5736] - Upgrade to Narayana 5.8.1.Final | |||
* [KARAF-5737] - Upgrade to Aries JPA 2.7.0 | |||
* [KARAF-5738] - Upgrade to maven-resources-plugin 3.1.0 | |||
* [KARAF-5745] - Upgrade to Spring 5.0.5.RELEASE | |||
* [KARAF-5758] - Update to Hibernate Validator 6.0.10.Final | |||
* [KARAF-5766] - Upgrade to Felix Connect 0.2.0 | |||
* [KARAF-5771] - Upgrade to Pax Transx 0.3.0 | |||
* [KARAF-5779] - Upgrade to Spring 4.3.17.RELEASE and 5.0.6.RELEASE | |||
* [KARAF-5800] - Upgrade to Felix Gogo 1.1.0 | |||
* [KARAF-5807] - Upgrade to Pax Exam 4.12.0 | |||
* [KARAF-5812] - Upgrade to Spring 4.3.18.RELEASE | |||
* [KARAF-5813] - Upgrade to Spring 5.0.7.RELEASE | |||
* [KARAF-5815] - Upgrade to commons-compress 1.17 | |||
* [KARAF-5816] - Upgrade to Aries Transaction Blueprint 2.2.0 | |||
* [KARAF-5817] - Upgrade to maven-bundle-plugin 3.5.1 | |||
* [KARAF-5818] - Upgrade to Felix ConfigAdmin 1.9.2 | |||
* [KARAF-5821] - Upgrade to Maven API 3.5.4 | |||
* [KARAF-5822] - Upgrade to Maven Wagon 3.1.0 | |||
* [KARAF-5824] - Upgrade to awaitility 3.1.1 | |||
* [KARAF-5826] - Upgrade to narayana 5.9.0.Final | |||
* [KARAF-5827] - Upgrade to jline 3.9.0 | |||
* [KARAF-5829] - Upgrade to Xerces 2.12.0 | |||
* [KARAF-5830] - Upgrade to tagsoup 1.2.1 | |||
* [KARAF-5831] - Upgrade to maven-enforcer-plugin 3.0.0-M2 | |||
* [KARAF-5832] - Upgrade to maven-jar-plugin 3.1.0 | |||
* [KARAF-5833] - Upgrade to maven-project-info-reports-plugin 3.0.0 | |||
* [KARAF-5834] - Upgrade to maven-site-plugin 3.7.1 | |||
* [KARAF-5835] - Upgrade to maven-surefire-plugin 2.22.0 | |||
* [KARAF-5836] - Upgrade to maven-war-plugin 3.2.2 | |||
* [KARAF-5837] - Upgrade to maven-jacoco-plugin 0.8.1 | |||
* [KARAF-5838] - Upgrade to eclipselink 2.7.2 | |||
* [KARAF-5841] - Upgrade to Pax Web 7.2.1 | |||
* [KARAF-5849] - Upgrade to Pax Transx 0.4.0 | |||
* [KARAF-5856] - Upgrade to Pax Web 7.2.2 | |||
* [KARAF-5857] - Upgrade to maven-compiler-plugin 3.8.0 | |||
* [KARAF-5858] - Upgrade to Felix ConfigAdmin 1.9.4 | |||
* [KARAF-5859] - Upgrade to Hibernate Validator 6.0.11.Final | |||
* [KARAF-5861] - Upgrade to Pax Web 7.2.3 / Jetty 9.4.11.v20180605 | |||
* [KARAF-5865] - Upgrade to eclipselink 2.7.3 | |||
* [KARAF-5866] - Upgrade to Felix SCR 2.1.2 | |||
* [KARAF-5869] - Upgrade to awaitility 3.1.2 | |||
## Apache Karaf 4.2.0 | |||
Apache Karaf 4.2.0 is the first GA release on the 4.2.x series. We encourage all users to upgrade to this | |||
new stable series, bringing a lot of fixes, improvements and new features. | |||
### ChangeLog | |||
#### Bug | |||
* [KARAF-5342] - No reference to branding-ssh.properties in console branding section | |||
* [KARAF-5384] - Optional dependencies in MINA SSHD Core cause system bundle refreshes | |||
* [KARAF-5473] - Karaf SSH session timing out | |||
* [KARAF-5554] - the karaf.secured.command.compulsory.roles shouldn't apply for alias commands | |||
* [KARAF-5559] - log:tail kills ssh & karaf when root logger is in DEBUG | |||
* [KARAF-5563] - Enf-of-line display problem with the ShellTable on windows | |||
* [KARAF-5566] - Features installed through prerequisites lead to errors when uninstalling features | |||
* [KARAF-5569] - Cannot pass commands to client script when sftpEnabled=false | |||
* [KARAF-5573] - Karaf on Windows does not pass the version check when JAVA_HOME contains whitespace | |||
* [KARAF-5581] - bin/client -u karaf -p karaf can login if we enable jasypt for jaas | |||
* [KARAF-5585] - Verify mojo configure pax-url-mvn with non existent settings.xml | |||
* [KARAF-5591] - Blacklisted features should be considered as dependencies and/or conditionals | |||
* [KARAF-5592] - Karaf shell unexpected exit when Ctrl + C during log:display or select text then press Enter | |||
* [KARAF-5610] - Build problems with JDK9 | |||
* [KARAF-5611] - karaf.bat still uses endorsed dirs with Java 9 install | |||
* [KARAF-5634] - karaf/karaf.bat scripts do not handle lib.next->lib update correctly | |||
* [KARAF-5639] - NPE during instance:start | |||
* [KARAF-5641] - Karaf boot scripts need to deal with JDK10 version patterns | |||
* [KARAF-5642] - karaf:deploy goal broken | |||
* [KARAF-5645] - Karaf crashes when using the character ']' in the console | |||
* [KARAF-5646] - Support env:XXX subtitution missing for system.properties | |||
* [KARAF-5647] - start, stop, shell, status and client fail on Solaris Sparc 11 | |||
* [KARAF-5657] - client.bat doesn't work on Windows | |||
* [KARAF-5667] - Installing the audit-log feature never ends | |||
* [KARAF-5670] - pax-web throws an exception when running with a security manager | |||
* [KARAF-5671] - Demo profiles still use "old style" pax-logging configuration | |||
* [KARAF-5672] - Servlets urls are displayed without the http context path | |||
* [KARAF-5673] - karaf-maven-plugin can be very long to apply profile | |||
* [KARAF-5678] - Existing configfiles (in kar) may be overwritten when building assembly | |||
* [KARAF-5688] - XML parsing fails when xerces is installed on JDK 8 | |||
#### New Feature | |||
* [KARAF-1677] - Unpacked KAR deployment | |||
* [KARAF-5614] - Add HttpRedirect/Proxy service with http:redirect/proxy command & MBean | |||
* [KARAF-5629] - Add new karaf commands shell:elif and shell:else | |||
* [KARAF-5635] - Integrate WebConsole Memory Usage plugin | |||
* [KARAF-5665] - Sometimes the command description does not show when listing commands with "TAB" | |||
* [KARAF-5680] - Provide support for xml parsers deployed as bundle on Java 9 | |||
#### Improvement | |||
* [KARAF-2688] - Karaf info - Add memory details about perm gen pool | |||
* [KARAF-4496] - UserPrincipal lookup in the JAAS' BackingEngine | |||
* [KARAF-5448] - Fix Java 9 warnings | |||
* [KARAF-5558] - Be able to configure the Quartz Scheduler | |||
* [KARAF-5568] - Karaf Commands cannot have return codes | |||
* [KARAF-5578] - Add repo URL for sling | |||
* [KARAF-5588] - Increase max number of threads in the scheduler by default | |||
* [KARAF-5604] - karaf:features-generate-descriptor takes long when faced with complex feature dependencies | |||
* [KARAF-5627] - Upgrade to PAX-JMS 0.3.0 | |||
* [KARAF-5677] - deploy goal throws NPE with artifactLocations is not provided | |||
* [KARAF-5679] - Upgrade to Hibernate Validator 6.0.9.Final | |||
#### Task | |||
* [KARAF-5586] - Upgrade to Hibernate-validator 5.4.2 | |||
#### Dependency upgrade | |||
* [KARAF-5574] - Upgrade to Pax Web 7.0.0/Jetty 9.4.6 | |||
* [KARAF-5584] - Upgrade to SSHD 1.7.0 | |||
* [KARAF-5595] - Upgrade toJLine 3.6.0 and Jansi 1.17 | |||
* [KARAF-5596] - Upgrade to Spring 5.0.3.RELEASE | |||
* [KARAF-5597] - Upgrade to Spring 4.3.14.RELEASE | |||
* [KARAF-5599] - Upgrade Narayana to version 5.7.2.Final | |||
* [KARAF-5602] - Upgrade to Spring Security 4.2.4.RELEASE | |||
* [KARAF-5605] - Upgrade to OpenJPA 2.4.2 | |||
* [KARAF-5606] - Upgrade to EclipseLink 2.7.1 | |||
* [KARAF-5607] - Upgrade to Hibernate 5.2.9.Final | |||
* [KARAF-5612] - Upgrade to blueprint-core 1.9.0, blueprint-cm-1.2.0, blueprint-spring-0.6.0 and blueprint-spring-extender-0.4.0 | |||
* [KARAF-5616] - Upgrade to SCR 2.0.14 | |||
* [KARAF-5617] - Upgrade to JNA 4.5.1 | |||
* [KARAF-5618] - Upgrade to Aries JMX Blueprint 1.2.0 | |||
* [KARAF-5619] - Upgrade to Aries JMX Core 1.1.8 & JMX Whiteboard 1.2.0 | |||
* [KARAF-5622] - Upgrade to commons-compress 1.16.1 | |||
* [KARAF-5623] - Upgrade to maven-bundle-plugin 3.5.0 | |||
* [KARAF-5624] - Upgrade to jline 3.6.1 | |||
* [KARAF-5625] - Upgrade to Pax Swissbox 1.8.3 | |||
* [KARAF-5631] - Upgrade to PAX-CDI 1.0.0 | |||
* [KARAF-5658] - Upgrade to Spring 5.0.4.RELEASE | |||
* [KARAF-5668] - Upgrade to JLine 3.6.2 | |||
* [KARAF-5675] - Upgrade to XBean 4.7 | |||
## Apache Karaf 4.2.0.M2 | |||
Apache Karaf 4.2.0.M2 is a the second technical preview of the 4.2.x series. It's not yet a GA release. It | |||
brings a lot of improvements and new features, in preparation for the first 4.2.0 GA release. | |||
### ChangeLog | |||
#### Bug | |||
* [KARAF-2792] - shared cm-properties empty for second bundle | |||
* [KARAF-3875] - Karaf scheduler should wrap QuartzException in exported SchedulerException | |||
* [KARAF-3976] - Broken compatibility with 3.x jdbc DataSources | |||
* [KARAF-4181] - blacklist.properties and overrides.properties are not properties file | |||
* [KARAF-4662] - Unable to create Karaf Cave 4.0.0 Kar file | |||
* [KARAF-4684] - karaf-maven-plugin assembly goal fails to find nested features with explicit version containing qualifier | |||
* [KARAF-4912] - Cannot register Servlet via http-whiteboard under Java 9 | |||
* [KARAF-5203] - KAR:Create missing bundles that are marked conditional | |||
* [KARAF-5210] - Seemingly random NPEs from Aether resolver | |||
* [KARAF-5372] - startup.properties doesn't respect overrides | |||
* [KARAF-5446] - Fragment bundles are not resolved properly when installing/restarting the container | |||
* [KARAF-5452] - [SCR] Karaf can't activate/deactivate SCR components via JMX | |||
* [KARAF-5455] - remove redundant sshRole comment | |||
* [KARAF-5458] - karaf-maven-plugin fails to assemble artifacts if only available within local reactor | |||
* [KARAF-5461] - incorrect filter in EncryptionSupport of jaas modules | |||
* [KARAF-5464] - karaf.bat file is missing KARAF_SYSTEM_OPTS property | |||
* [KARAF-5466] - Karaf does not start on JDK 9.0.1 | |||
* [KARAF-5467] - Karaf doesn't recognize Java 9 on Ubuntu 16.04 | |||
* [KARAF-5470] - Karaf fails build with Java 9.0.1 | |||
* [KARAF-5472] - Karaf RmiRegistryFactory throws a warning with Java 9 | |||
* [KARAF-5478] - Provide a Version class to check Karaf version used. | |||
* [KARAF-5480] - The webconsole gogo plugin is broken | |||
* [KARAF-5495] - Upgrade SyncopeBackingEngineFactory to support Syncope 2.x | |||
* [KARAF-5496] - NPEs in SyncopeLoginModule if "version" is not specified | |||
* [KARAF-5498] - SyncopeLoginModule parses roles instead of groups for Syncope 2.0.x | |||
* [KARAF-5505] - Jetty version out of date | |||
* [KARAF-5508] - Error using OSGi JAX RS Connector in Java 9 | |||
* [KARAF-5527] - the karaf.secured.command.compulsory.roles should only affect command ACL rules | |||
* [KARAF-5528] - Karaf feature deployer should stop refreshed bundles together with the updated ones | |||
* [KARAF-5533] - KarArtifactInstaller does not properly detect already installed KAR files | |||
* [KARAF-5541] - ensure check the compulsory.roles even there's no ACL for a specific command scope | |||
* [KARAF-5542] - Installing a feature triggers restarting previous ones | |||
* [KARAF-5546] - incorrect acl rules for system:start-level | |||
* [KARAF-5547] - Blueprint namespace handlers cause warning to be printed | |||
#### Dependency upgrade | |||
* [KARAF-5412] - Upgrade to ASM 6.0 | |||
* [KARAF-5488] - Upgrade to Felix Framework 5.6.10 | |||
* [KARAF-5489] - Upgrade to commons-io 2.6 | |||
* [KARAF-5490] - Upgrade to JNA 4.5.0 | |||
* [KARAF-5491] - Upgrade to commons-compress 1.15 | |||
* [KARAF-5516] - Upgrade to commons-lang3 3.7 | |||
* [KARAF-5517] - Upgrade to Apache Felix Metatype 1.1.6 | |||
* [KARAF-5518] - Upgrade to Apache Felix WebConsole DS plugin 2.0.8 | |||
* [KARAF-5519] - Upgrade to Apache Felix WebConsole EventAdmin plugin 1.1.8 | |||
* [KARAF-5520] - Upgrade to Maven dependencies 3.5.2 | |||
* [KARAF-5521] - Upgrade to Maven Wagon 3.0.0 | |||
* [KARAF-5522] - Upgrade to easymock 3.5.1 | |||
* [KARAF-5523] - Upgrade to Equinox 3.12.50 | |||
* [KARAF-5524] - Upgrade to maven-dependency-tree 3.0.1 | |||
* [KARAF-5525] - Upgrade to PAX tinybundle 3.0.0 | |||
* [KARAF-5531] - Upgrade to maven-compiler-plugin 3.7.0 | |||
* [KARAF-5532] - Upgrade to maven-dependency-plugin 3.0.2 | |||
* [KARAF-5535] - Upgrade to maven-javadoc-plugin 3.0.0 | |||
* [KARAF-5536] - Upgrade to maven-war-plugin 3.2.0 | |||
* [KARAF-5537] - Upgrade to modello-maven-plugin 1.9.1 | |||
* [KARAF-5538] - Upgrade to maven-invoker-plugin 3.0.1 | |||
* [KARAF-5539] - Upgrade to maven-archetype-plugin 3.0.1 | |||
* [KARAF-5549] - Upgrade to JLine 3.5.4 | |||
* [KARAF-5550] - Upgrade to pax-url 2.5.4 | |||
* [KARAF-5551] - Upgrade to Pax Web 6.1.0 | |||
#### Improvement | |||
* [KARAF-3674] - Document and improve scheduler feature | |||
* [KARAF-4329] - Consider bundles from override.properties while creating the assembly | |||
* [KARAF-5273] - karaf-maven-plugin assembly should take feature wildcards | |||
* [KARAF-5323] - Set multi-location for created configurations | |||
* [KARAF-5339] - Allow to define blacklisted bundles in a profile | |||
* [KARAF-5418] - SSH public key authentication from LDAP | |||
* [KARAF-5448] - Fix Java 9 warnings | |||
* [KARAF-5456] - introduce a property karaf.shell.history.file.maxSize to configure the history file size on disk | |||
* [KARAF-5476] - Reduce number of logins when using the webconsole | |||
* [KARAF-5486] - Add a command to change job scheduling | |||
* [KARAF-5494] - Fix performance issue generating service metadata, change logging | |||
* [KARAF-5506] - ensure we also check the ACL for alias cmds before auto-completer | |||
* [KARAF-5511] - Proper Provide-Capability for org.apache.karaf.jaas.modules.EncryptionService | |||
* [KARAF-5529] - Rewrite SCR management layer to more closely follow the real object model | |||
* [KARAF-5544] - Provide bundle consistency report from custom Karaf distribution | |||
* [KARAF-5548] - Improve the find-class command to support package names | |||
#### New Feature | |||
* [KARAF-5307] - Add SchedulerMBean to mimic scheduler shell commands | |||
* [KARAF-5447] - Support Spring 5.0.x | |||
* [KARAF-5475] - Provide a security audit log | |||
* [KARAF-5485] - Be able to disable the sftp server | |||
#### Proposal | |||
* [KARAF-5376] - Processor mechanism for feature definitions (a.k.a. "better overrides") | |||
#### Task | |||
* [KARAF-5468] - Clean up AssemblyMojo | |||
## Apache Karaf 4.2.0.M1 | |||
Apache Karaf 4.2.0.M1 is a technical preview of the 4.2.x series. It's not yet a GA release. It | |||
brings a lot of improvements and new features, including Java 9 support. | |||
### ChangeLog | |||
#### Bug | |||
* [KARAF-3347] - 'LATEST' placeholder is not resolved correctly for descriptors and repositories | |||
* [KARAF-3429] - always use proxy server listed in maven settings.xml when installing features | |||
* [KARAF-3531] - SimpleMavenResolver does not handle wrap: prefix in mvn urls | |||
* [KARAF-3875] - Karaf scheduler should wrap QuartzException in exported SchedulerException | |||
* [KARAF-4174] - NullPointerException when running obr:info on a bundle served by cave | |||
* [KARAF-4380] - Remove blueprint feature in standard distribution | |||
* [KARAF-4490] - LDAPLoginModule use authentication to check user password | |||
* [KARAF-4603] - Nashorn support in Karaf | |||
* [KARAF-4655] - karaf-maven-plugin add-features-to-repo goal can't add Camel feature | |||
* [KARAF-4985] - Karaf does not start with JDK 9 in Windows | |||
* [KARAF-4988] - Refreshing a feature repository from webconsole fails | |||
* [KARAF-5031] - Subshell doesn't show in prompt | |||
* [KARAF-5051] - Command "shell wrapper:install" fails | |||
* [KARAF-5073] - OpenSSHGeneratorFileKeyProvider is unable to write SSH keys | |||
* [KARAF-5078] - Shell crash | |||
* [KARAF-5091] - log:get does not show correct level | |||
* [KARAF-5094] - Remove -server option in Karaf scripts | |||
* [KARAF-5096] - Karaf 4.1.1 Console Issues Over SSH (PuTTY) | |||
* [KARAF-5103] - Quick start fails at the step "feature:install camel-spring" | |||
* [KARAF-5105] - Issue with bin/shell command in karaf 4.1.1 | |||
* [KARAF-5106] - karaf-maven-plugin hangs the build (probably when having cyclic deps in the features def) | |||
* [KARAF-5109] - endorsed and ext directories are not set properly when using instance start | |||
* [KARAF-5115] - Error while installing cxf | |||
* [KARAF-5116] - Defining karaf.log.console as a log4j2 log level causes exceptions | |||
* [KARAF-5119] - log:tail on OSX does not display updates without user input and exits shell on ctrl + c | |||
* [KARAF-5120] - etc/org.apache.karaf.shell.cfg is "raw", all comments are lost in the distribution | |||
* [KARAF-5121] - blueprint created by jms:create is not correct | |||
* [KARAF-5123] - Executing feature:repo-remove can leave karaf in an invalid state | |||
* [KARAF-5124] - NPE when location information is included in console logging pattern | |||
* [KARAF-5128] - Upgrade to aries.proxy 1.1.1 | |||
* [KARAF-5134] - Instance org.apache.karaf.features.cfg refers to 4.1.1-SNAPSHOT | |||
* [KARAF-5138] - CTRL-D on a connected instance exits from the root one | |||
* [KARAF-5143] - Command cannot be executed via SSH when property "karaf.shell.init.script" (etc/system.properties) has its default value | |||
* [KARAF-5144] - java.lang.RuntimeException: Command name evaluates to null: $.jline.terminal | |||
* [KARAF-5147] - Upgrade to pax-web-6.0.4 | |||
* [KARAF-5164] - karaf-maven-plugin fails to verify artifacts if only available within local reactor | |||
* [KARAF-5165] - Custom Distributions: Pax-Web gets installed twice | |||
* [KARAF-5167] - Instance etc folder is not sync automatically | |||
* [KARAF-5171] - Upgrade to ServiceMix Specs 2.9.0 | |||
* [KARAF-5174] - Uninstalling feature using liquibase-slf4j crashes karaf | |||
* [KARAF-5176] - Fix support for characters entered while executing a command | |||
* [KARAF-5179] - Setting the karaf.restart.jvm property to true causes system halt commands to behave as reboots | |||
* [KARAF-5180] - The framework is restarted and sometimes spits an exception when refreshing a fragment | |||
* [KARAF-5181] - NPE while running "threads --tree" command from console | |||
* [KARAF-5182] - Console command log:list returns "null" | |||
* [KARAF-5184] - ClassLoader leak when org.apache.karaf.shell.core bundle is refreshed | |||
* [KARAF-5196] - Strongly consider removing -XX:+UnsyncloadClass from start scripts | |||
* [KARAF-5197] - Features deployed from a KAR file do not respect the feature's install setting | |||
* [KARAF-5199] - Karaf installs both version of the feature (old and new) in case if referencing feature contains wrapped bundle with package import | |||
* [KARAF-5206] - Karaf doesn't start after not clean reboot, because stored PID corresponds to running process | |||
* [KARAF-5207] - Features 1.4 namespace not supported by the features deployer | |||
* [KARAF-5211] - NPE in StoredWiringResolver if BundleEvent.UNRESOLVED handled before BundleEvent.RESOLVED event | |||
* [KARAF-5216] - Exiting karaf shell, mess the bash shell | |||
* [KARAF-5218] - bin/client exists when typing CTRL-C | |||
* [KARAF-5221] - karaf-maven-plugin's pidsToExtract handled incorrectly | |||
* [KARAF-5223] - "Error in initialization script" messages printed to the main console when clients connect through ssh | |||
* [KARAF-5229] - The download manager may generate wrong jar with custom urls | |||
* [KARAF-5234] - Update BUILDING file to reference Java 8 | |||
* [KARAF-5245] - Running karaf.bat inside a "Program Files (x86)" directory | |||
* [KARAF-5247] - java.lang.InterruptedException after logout command in shell | |||
* [KARAF-5250] - SNAPSHOT metadata doesn't match SNAPSHOT artifacts after mvn deploy | |||
* [KARAF-5252] - Upgrade Narayana to version 5.6.3.Final | |||
* [KARAF-5255] - Upgrade to pax-web-6.0.6 | |||
* [KARAF-5259] - Duplicate log entries displayed when using log:tail | |||
* [KARAF-5260] - log:tail default should start at the end of the file | |||
* [KARAF-5264] - Clean up maven dependencies | |||
* [KARAF-5267] - Karaf does not work correctly after log:tail | |||
* [KARAF-5271] - Improve JDBC generic lock to better support network glitches | |||
* [KARAF-5276] - Do not use right prompt by default | |||
* [KARAF-5279] - InterruptedException when updating the shell.core bundle | |||
* [KARAF-5283] - Karaf in offline (no internet) environment - NamespaceHandler bugs | |||
* [KARAF-5298] - config:update doesn't create the cfg file in the etc folder | |||
* [KARAF-5304] - checkRootInstance function in karaf script fails under AIX | |||
* [KARAF-5305] - FeatureConfigInstaller writes incorrect config if append=true and file already exists | |||
* [KARAF-5311] - NPE in karaf-maven-plugin when specifying descriptor by file url | |||
* [KARAF-5312] - bin/stop script output some unwanted message on mac | |||
* [KARAF-5313] - Exception when deleting a .cfg file from hot deploy directory | |||
* [KARAF-5314] - The performance of profile builder used by karaf maven plugin has reduced significantly in 4.1 compared to 4.0 | |||
* [KARAF-5315] - Race condition during shutdown using SIGTERM | |||
* [KARAF-5317] - "Exception in thread "SIGWINCH handler" java.lang.UnsupportedOperationException" occurs when resizing the console while `log:tail` is run | |||
* [KARAF-5320] - Karaf Command Arguments escapes backslash characters | |||
* [KARAF-5326] - variables in cfg files are expanded | |||
* [KARAF-5327] - Threads not stopped on karaf.restart + bundle(0).stop() | |||
* [KARAF-5328] - NPE is thrown when execute source command from client/ssh | |||
* [KARAF-5330] - Require a specific role to access the SSH console | |||
* [KARAF-5331] - Use shell command access control lists during command completion | |||
* [KARAF-5332] - bin/stop script fails when KARAF_DEBUG is set | |||
* [KARAF-5333] - UnsupportedCharsetException: cp65001 and unprintable characters from karaf 4.1.2 console | |||
* [KARAF-5334] - Fix broken shell.support.table.ShellTableTest on Windows | |||
* [KARAF-5337] - karaf-maven-plugin generates an "override.properties" instead of "overrides.properties" | |||
* [KARAF-5338] - Unable to access the local JMX server on OSX | |||
* [KARAF-5340] - A "Set<LocalDependency>" cannot contain a "Artifact" in Dependency31Helper | |||
* [KARAF-5343] - Upgrade to pax-web-6.0.7 | |||
* [KARAF-5344] - Remote shell *really* doesn't like you resizing the console window | |||
* [KARAF-5352] - KARAF_ETC envvar ignored | |||
* [KARAF-5355] - The scripts triggered with {{scheduler::schedule}} command fail to execute | |||
* [KARAF-5361] - shell:watch is broken | |||
* [KARAF-5371] - Race condition between FeatureService and Fileinstall | |||
* [KARAF-5373] - Karaf-maven-plugin fails to create feature file | |||
* [KARAF-5374] - karaf-maven-plugin can't configure the start-level for the startupBundles | |||
* [KARAF-5375] - feature:stop command does not stop the bundles | |||
* [KARAF-5377] - Speed up repository loading | |||
* [KARAF-5382] - Karaf shell session.readLine consumes backslashes | |||
* [KARAF-5385] - shutdown -f command can't exit the karaf | |||
* [KARAF-5387] - Build fail on JLineTerminal | |||
* [KARAF-5388] - create dump doesn't include log file anymore | |||
* [KARAF-5390] - tar.gz archives contains invalid data in demos\web\src\main\webapp\WEB-INF\karaf\system\org\apache\felix | |||
* [KARAF-5394] - maven-metadata-local.xml in KARs cause SAXParseException | |||
* [KARAF-5395] - Improve memory consumption during resolution | |||
* [KARAF-5398] - The "cd" command should not attempt to complete multiple directories | |||
* [KARAF-5404] - CLI autocompletion issue | |||
* [KARAF-5406] - CLI error on window resize on Linux(Wayland) | |||
* [KARAF-5411] - Client doesn't prompt for user if no user.properties file | |||
* [KARAF-5413] - Missing explicit version in features | |||
* [KARAF-5414] - Features mentioned in feature.xml stubs aren't taken into account in dependency calculations | |||
* [KARAF-5420] - Bad console behavior when dealing with the input stream with the exec command | |||
* [KARAF-5423] - Karaf is flagged as vulnerable to CVE-2015-5262 | |||
* [KARAF-5425] - ArrayIndexOutOfBoundsException running history | grep | |||
* [KARAF-5435] - BundleException when installing a bundle by API when the FeatureService install a feature | |||
* [KARAF-5436] - Factory configurations file in etc/ are not deleted when the configuration is deleted | |||
* [KARAF-5440] - No override facility for properties in system.properties | |||
#### Dependency | |||
* [KARAF-5345] - Upgrade to pax-jms-0.1.0 and ActiveMQ 5.15.0 | |||
#### Dependency upgrade | |||
* [KARAF-4921] - Upgrade to pax-logging 1.10.0 | |||
* [KARAF-4991] - Upgrade to Narayana 5.5.2.Final | |||
* [KARAF-5085] - Upgrade to Aries JPA 2.6.1 | |||
* [KARAF-5087] - Upgrade to Spring 4.3.7.RELEASE | |||
* [KARAF-5090] - Update equinox to 3.11.3 | |||
* [KARAF-5112] - Upgrade to jansi 1.16 | |||
* [KARAF-5113] - Upgrade to jline 3.3.0 | |||
* [KARAF-5114] - Upgrade to gogo 1.0.6 | |||
* [KARAF-5132] - Cellar: Upgrade Hazelcast to 3.8.2 | |||
* [KARAF-5146] - Upgrade to Narayana 5.6.0.Final | |||
* [KARAF-5149] - Upgrade to JNA 4.4.0 | |||
* [KARAF-5150] - Upgrade to Aries Blueprint Core 1.8.1 | |||
* [KARAF-5151] - Upgrade to Aries Transaction Manager 1.3.3 | |||
* [KARAF-5152] - Upgrade to commons-compress 1.14 | |||
* [KARAF-5153] - Upgrade to Felix BundleRepository 2.0.10 | |||
* [KARAF-5154] - Upgrade to Felix Framework 5.6.4 | |||
* [KARAF-5155] - Upgrade to Felix HttpLite 0.1.6 | |||
* [KARAF-5157] - Upgrade to Felix Resolver 1.14.0 | |||
* [KARAF-5158] - Upgrade to Felix SCR 2.0.10 | |||
* [KARAF-5159] - Upgrade to Felix WebConsole 4.3.4 | |||
* [KARAF-5160] - Upgrade to Equinox Region 1.2.101.v20150831-1342 | |||
* [KARAF-5214] - Upgrade to Pax Logging 1.10.1 | |||
* [KARAF-5219] - Upgrade Narayana to version 5.6.2.Final | |||
* [KARAF-5220] - Cellar-Kubernetes: Bump to Kubernetes-client 2.4.1 | |||
* [KARAF-5231] - Upgrade to jline 3.3.1 | |||
* [KARAF-5248] - Upgrade to blueprint-core 1.8.2 | |||
* [KARAF-5249] - Upgrade to blueprint spring 0.4.0 | |||
* [KARAF-5253] - Update pax-jdbc to 1.1.0 | |||
* [KARAF-5256] - Upgrade to Felix SCR 2.0.12 | |||
* [KARAF-5257] - Upgrade to sshd 1.6.0 | |||
* [KARAF-5258] - Upgrade to Pax Exam 4.11.0 | |||
* [KARAF-5268] - Upgrade to commons-logging 1.2 | |||
* [KARAF-5269] - Upgrade to commons-lang3 3.6 | |||
* [KARAF-5278] - Update to felix framework 5.6.6 | |||
* [KARAF-5281] - Upgrade to Spring 4.3.10.RELEASE | |||
* [KARAF-5288] - Cellar: Bump to Kubernetes-client 2.5.9 | |||
* [KARAF-5289] - Upgrade to jline 3.4.0 | |||
* [KARAF-5291] - Upgrade Narayana to version 5.6.4.Final | |||
* [KARAF-5293] - Upgrade to Apache POM 18 | |||
* [KARAF-5309] - Upgrade to directory server 2.0.0-M24 | |||
* [KARAF-5310] - Upgrade to maven surefire plugin 2.20 to get colored output | |||
* [KARAF-5349] - Upgrade to pax-jdbc-1.2.0 | |||
* [KARAF-5359] - Upgrade to JLine 3.5.0 | |||
* [KARAF-5360] - Upgrade to Felix Gogo Runtime / JLine 1.0.8 | |||
* [KARAF-5365] - Upgrade to Aries Subsystem 2.0.10 | |||
* [KARAF-5366] - Upgrade to Felix ConfigAdmin 1.8.16 | |||
* [KARAF-5367] - Upgrade to Felix EventAdmin 1.4.10 | |||
* [KARAF-5368] - Upgrade to Felix Framework & Main 5.6.8 | |||
* [KARAF-5369] - Upgrade to Felix Metatype 1.1.4 | |||
* [KARAF-5370] - Upgrade to Felix Resolver 1.14.0 | |||
* [KARAF-5401] - Upgrade to Aries Blueprint Spring 0.5.0 | |||
* [KARAF-5419] - Upgrade to Aries Blueprint Core 1.8.3 | |||
* [KARAF-5429] - Upgrade Narayana to version 5.7.0.Final | |||
* [KARAF-5430] - Upgrade to Spring 4.0.9.RELEASE & 4.3.12.RELEASE | |||
* [KARAF-5431] - Upgrade to Felix Gogo Runtime / JLine 1.0.10 | |||
* [KARAF-5432] - Upgrade to Felix Utils 1.10.4 and FileInstall 3.6.4 | |||
* [KARAF-5439] - Upgrade Narayana to version 5.7.1.Final | |||
#### Documentation | |||
* [KARAF-5357] - Help string for feature:stop is incorrect | |||
#### Improvement | |||
* [KARAF-3825] - Add ability to shutdown Karaf with a disabled shutdown port | |||
* [KARAF-4417] - Display a summary for the verify goal | |||
* [KARAF-4418] - Ability to exclude a set of features from the verify goal | |||
* [KARAF-4748] - Make Felix Resolver Threads configurable | |||
* [KARAF-4785] - Use the scr gogo commands and provide completion | |||
* [KARAF-4803] - Allow to turn off Karaf configuration persistence manager | |||
* [KARAF-4932] - Remove blueprint compat and blueprint annotations bundles | |||
* [KARAF-4973] - Refactoring of features extension | |||
* [KARAF-5004] - Discover the artifact type instead of relying on the artifact type/classifier string (kar / features / bundle) | |||
* [KARAF-5023] - Improve config commands to better support substituted and typed properties | |||
* [KARAF-5072] - Add setting to ssh server for forcing a provided key | |||
* [KARAF-5080] - Use the full ttop command from gogo-jline | |||
* [KARAF-5102] - org.ops4j.pax.logging.cfg contains non-ASCII character | |||
* [KARAF-5104] - karaf:run should support a features set | |||
* [KARAF-5118] - Make SSHD server threads configurable | |||
* [KARAF-5126] - Use awaitility and matchers in JmsTest | |||
* [KARAF-5131] - XA + JMS support | |||
* [KARAF-5162] - Code can be simplified using new Map methods | |||
* [KARAF-5168] - Replace old-style loops with foreach loops or streams | |||
* [KARAF-5169] - Remove redundant type information | |||
* [KARAF-5170] - Use try-with-resources | |||
* [KARAF-5173] - Some tests could benefit from a common CallbackHandler | |||
* [KARAF-5178] - Code can be simplified using lambdas | |||
* [KARAF-5185] - Karaf enterprise feature shall omit the jpa feature in favor of the aries jpa feature | |||
* [KARAF-5205] - Add -r/--refresh option to bundle:update command | |||
* [KARAF-5208] - Improve feature:install error message | |||
* [KARAF-5222] - Make possible to force the start of a karaf instance even if another one has been detected as running. | |||
* [KARAF-5230] - Support version range when installing features | |||
* [KARAF-5235] - Remove null values from AssemblyMojo configuration | |||
* [KARAF-5241] - Improve RBAC logging for JMX | |||
* [KARAF-5243] - add -p option for bin/client | |||
* [KARAF-5266] - log commands should limit number of lines printed instead of number of log entries | |||
* [KARAF-5272] - Enhance the features deployer so that it performs a real upgrade | |||
* [KARAF-5280] - Shell should not display the welcome message again when it is restarted | |||
* [KARAF-5282] - SyncopeLoginModule should support Syncope 2.x response format | |||
* [KARAF-5286] - Separate server key generation from key reading | |||
* [KARAF-5287] - Provide a way to hide passwords in shell | |||
* [KARAF-5292] - uneeded dependency to dbcp in eclipselink feature | |||
* [KARAF-5294] - Cleanup Maven repository | |||
* [KARAF-5308] - Remove RepositoryImpl lazy loading as we always load it upfront anyway | |||
* [KARAF-5316] - Jaas Encryption should be easier to use | |||
* [KARAF-5319] - the jetty feature in karaf shouldn't depend on pax-jetty feature | |||
* [KARAF-5363] - Add --no-start option to kar:install, kar cfg and kar MBean | |||
* [KARAF-5380] - Fix typo in JDBC lock implementation | |||
* [KARAF-5400] - Remove usage of felix scr compatibility bundle | |||
* [KARAF-5407] - Allow feature:info to print the xml for a given feature | |||
* [KARAF-5426] - Print type of wiring resource | |||
* [KARAF-5427] - Add RBAC support for reflection invocation and redirections in the console | |||
* [KARAF-5437] - Use named thread pools to help identifying threads | |||
* [KARAF-5443] - Add a completer for bundle symbolic names | |||
* [KARAF-5445] - Completers should be followed by a space when complete | |||
#### New Feature | |||
* [KARAF-2401] - Improve log coloring | |||
* [KARAF-3270] - Add command/MBean operation to give current user and his roles | |||
* [KARAF-4188] - Add support for Systemd's watchdog | |||
* [KARAF-5008] - Provide Maven diagnostic commands | |||
* [KARAF-5074] - Support for typed config files (as in Felix ConfigAdmin config files) in features | |||
* [KARAF-5082] - Allow the use of external data for features configuration | |||
* [KARAF-5107] - Allow hooking into the feature installation process | |||
* [KARAF-5129] - JMS Pooling and better Artemis support | |||
* [KARAF-5172] - Add simple LDAPBackingEngine | |||
* [KARAF-5175] - Provide a debugs option for the karaf script to make it easier to debug karaf startup sequence | |||
* [KARAF-5306] - Add scheduler:trigger command | |||
* [KARAF-5354] - The log:get and log:set commands should support etc/log4j2.xml configuration | |||
* [KARAF-5416] - Remove support for ext and endorsed libraries for Java 9 compatibility | |||
#### Task | |||
* [KARAF-5125] - Upgrade to Narayana 5.5.6.Final | |||
* [KARAF-5148] - Replace use of org.json | |||
* [KARAF-5225] - Add Narayana dependencies to DependencyManagement | |||
* [KARAF-5226] - Add Hibernate-validator dependency to DependencyManagement | |||
* [KARAF-5227] - Use an explicit Awaitility version property | |||
* [KARAF-5396] - Ensure Karaf can build with JDK9 GA(build 9+181) | |||
* [KARAF-5417] - Trim down distributions | |||
#### Test | |||
* [KARAF-4936] - FeatureTest#repoRefreshCommand failure |
@@ -0,0 +1,139 @@ | |||
#!/bin/sh | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
realpath() { | |||
# Use in priority xpg4 awk or nawk on SunOS as standard awk is outdated | |||
AWK=awk | |||
if ${solaris}; then | |||
if [ -x /usr/xpg4/bin/awk ]; then | |||
AWK=/usr/xpg4/bin/awk | |||
elif [ -x /usr/bin/nawk ]; then | |||
AWK=/usr/bin/nawk | |||
fi | |||
fi | |||
READLINK_EXISTS=$(command -v readlink &> /dev/null) | |||
if [ -z "$READLINK_EXISTS" ]; then | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
else | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
fi | |||
} | |||
REALNAME=$(realpath "$0") | |||
DIRNAME=$(dirname "${REALNAME}") | |||
PROGNAME=$(basename "${REALNAME}") | |||
# | |||
# Load common functions | |||
# | |||
. "${DIRNAME}/inc" | |||
# | |||
# Sourcing environment settings for karaf similar to tomcats setenv | |||
# | |||
KARAF_SCRIPT="${PROGNAME}" | |||
export KARAF_SCRIPT | |||
if [ -f "${DIRNAME}/setenv" ]; then | |||
. "${DIRNAME}/setenv" | |||
fi | |||
setupClassPath() { | |||
# Add the jars in the lib dir | |||
CLASSPATH="${KARAF_HOME}/system/org/apache/karaf/org.apache.karaf.client/4.2.1/org.apache.karaf.client-4.2.1.jar" | |||
CLASSPATH="${CLASSPATH}:${KARAF_HOME}/system/org/apache/sshd/sshd-core/1.7.0/sshd-core-1.7.0.jar" | |||
CLASSPATH="${CLASSPATH}:${KARAF_HOME}/system/org/fusesource/jansi/jansi/1.17.1/jansi-1.17.1.jar" | |||
CLASSPATH="${CLASSPATH}:${KARAF_HOME}/system/org/jline/jline/3.9.0/jline-3.9.0.jar" | |||
CLASSPATH="${CLASSPATH}:${KARAF_HOME}/system/org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12.jar" | |||
} | |||
init() { | |||
# Determine if there is special OS handling we must perform | |||
detectOS | |||
# Unlimit the number of file descriptors if possible | |||
unlimitFD | |||
# Locate the Karaf home directory | |||
locateHome | |||
# Locate the Karaf base directory | |||
locateBase | |||
# Locate the Karaf data directory | |||
locateData | |||
# Locate the Karaf etc directory | |||
locateEtc | |||
# Setup the native library path | |||
setupNativePath | |||
# Locate the Java VM to execute | |||
locateJava | |||
# Determine the JVM vendor | |||
detectJVM | |||
# Setup default options | |||
setupDefaults | |||
# Setup classpath | |||
setupClassPath | |||
} | |||
run() { | |||
convertPaths | |||
exec "${JAVA}" ${JAVA_OPTS} \ | |||
-Dkaraf.instances="${KARAF_HOME}/instances" \ | |||
-Dkaraf.home="${KARAF_HOME}" \ | |||
-Dkaraf.base="${KARAF_BASE}" \ | |||
-Dkaraf.etc="${KARAF_ETC}" \ | |||
-Djava.io.tmpdir="${KARAF_DATA}/tmp" \ | |||
-Djava.util.logging.config.file="${KARAF_BASE}/etc/java.util.logging.properties" \ | |||
${KARAF_OPTS} ${OPTS} \ | |||
-classpath "${CLASSPATH}" \ | |||
org.apache.karaf.client.Main "$@" | |||
} | |||
main() { | |||
init | |||
run "$@" | |||
} | |||
main "$@" |
@@ -0,0 +1,135 @@ | |||
@echo off | |||
rem | |||
rem | |||
rem Licensed to the Apache Software Foundation (ASF) under one or more | |||
rem contributor license agreements. See the NOTICE file distributed with | |||
rem this work for additional information regarding copyright ownership. | |||
rem The ASF licenses this file to You under the Apache License, Version 2.0 | |||
rem (the "License"); you may not use this file except in compliance with | |||
rem the License. You may obtain a copy of the License at | |||
rem | |||
rem http://www.apache.org/licenses/LICENSE-2.0 | |||
rem | |||
rem Unless required by applicable law or agreed to in writing, software | |||
rem distributed under the License is distributed on an "AS IS" BASIS, | |||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
rem See the License for the specific language governing permissions and | |||
rem limitations under the License. | |||
rem | |||
if not "%ECHO%" == "" echo %ECHO% | |||
setlocal | |||
set DIRNAME=%~dp0% | |||
set PROGNAME=%~nx0% | |||
set ARGS=%* | |||
rem Sourcing environment settings for karaf similar to tomcats setenv | |||
SET KARAF_SCRIPT="client.bat" | |||
if exist "%DIRNAME%setenv.bat" ( | |||
call "%DIRNAME%setenv.bat" | |||
) | |||
rem Check console window title. Set to Karaf by default | |||
if not "%KARAF_TITLE%" == "" ( | |||
title %KARAF_TITLE% | |||
) else ( | |||
title Karaf | |||
) | |||
rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage | |||
if "%JAVA_MIN_MEM%" == "" ( | |||
set JAVA_MIN_MEM=128M | |||
) | |||
if "%JAVA_MAX_MEM%" == "" ( | |||
set JAVA_MAX_MEM=512M | |||
) | |||
goto BEGIN | |||
:warn | |||
echo %PROGNAME%: %* | |||
goto :EOF | |||
:BEGIN | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
if not "%KARAF_HOME%" == "" ( | |||
call :warn Ignoring predefined value for KARAF_HOME | |||
) | |||
set KARAF_HOME=%DIRNAME%.. | |||
if not exist "%KARAF_HOME%" ( | |||
call :warn KARAF_HOME is not valid: "%KARAF_HOME%" | |||
goto END | |||
) | |||
if not "%KARAF_BASE%" == "" ( | |||
if not exist "%KARAF_BASE%" ( | |||
call :warn KARAF_BASE is not valid: "%KARAF_BASE%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_BASE%" == "" ( | |||
set "KARAF_BASE=%KARAF_HOME%" | |||
) | |||
if not "%KARAF_DATA%" == "" ( | |||
if not exist "%KARAF_DATA%" ( | |||
call :warn KARAF_DATA is not valid: "%KARAF_DATA%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_DATA%" == "" ( | |||
set "KARAF_DATA=%KARAF_BASE%\data" | |||
) | |||
if not "%KARAF_ETC%" == "" ( | |||
if not exist "%KARAF_ETC%" ( | |||
call :warn KARAF_ETC is not valid: "%KARAF_ETC%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_ETC%" == "" ( | |||
set "KARAF_ETC=%KARAF_BASE%\etc" | |||
) | |||
rem Support for loading native libraries | |||
set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib | |||
rem Setup the Java Virtual Machine | |||
if not "%JAVA%" == "" goto :Check_JAVA_END | |||
set JAVA=java | |||
if "%JAVA_HOME%" == "" call :warn JAVA_HOME not set; results may vary | |||
if not "%JAVA_HOME%" == "" set JAVA=%JAVA_HOME%\bin\java | |||
if not exist "%JAVA_HOME%" ( | |||
call :warn JAVA_HOME is not valid: "%JAVA_HOME%" | |||
goto END | |||
) | |||
:Check_JAVA_END | |||
if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS% | |||
if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END | |||
set JAVA_OPTS=%JAVA_OPTS% %EXTRA_JAVA_OPTS% | |||
:KARAF_EXTRA_JAVA_OPTS_END | |||
set CLASSPATH=%KARAF_HOME%\system\org\apache\karaf\org.apache.karaf.client\4.2.1\org.apache.karaf.client-4.2.1.jar | |||
set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\apache\sshd\sshd-core\1.7.0\sshd-core-1.7.0.jar | |||
set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\jline\jline\3.9.0\jline-3.9.0.jar | |||
set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\fusesource\jansi\jansi\1.17.1\jansi-1.17.1.jar | |||
set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\slf4j\slf4j-api\1.7.12\slf4j-api-1.7.12.jar | |||
:EXECUTE | |||
if "%SHIFT%" == "true" SET ARGS=%2 %3 %4 %5 %6 %7 %8 %9 | |||
if not "%SHIFT%" == "true" SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8 %9 | |||
rem Execute the Java Virtual Machine | |||
"%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" %KARAF_OPTS% org.apache.karaf.client.Main %ARGS% | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
:END | |||
endlocal | |||
@@ -0,0 +1,33 @@ | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
# Karaf Service | |||
# | |||
KARAF_SERVICE_PATH="${KARAF_SERVICE_PATH}" | |||
KARAF_SERVICE_NAME="${KARAF_SERVICE_NAME}" | |||
KARAF_SERVICE_LOG="${KARAF_SERVICE_LOG}" | |||
KARAF_SERVICE_USER="${KARAF_SERVICE_USER}" | |||
KARAF_SERVICE_GROUP="${KARAF_SERVICE_GROUP}" | |||
KARAF_LOCKFILE="/var/lock/subsys/$KARAF_SERVICE_NAME" | |||
KARAF_SERVICE_PIDFILE="${KARAF_SERVICE_PIDFILE}" | |||
KARAF_SERVICE_EXECUTABLE="${KARAF_SERVICE_EXECUTABLE}" | |||
# | |||
# Karaf | |||
# | |||
# | |||
# User | |||
# |
@@ -0,0 +1,171 @@ | |||
#!/bin/sh | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
# Karaf control script | |||
# description: Karaf startup script | |||
# processname: ${KARAF_SERVICE_NAME} | |||
# pidfile: ${KARAF_SERVICE_PIDFILE} | |||
# config: ${KARAF_SERVICE_CONF} | |||
# | |||
if [ -r "${KARAF_SERVICE_CONF}" ]; then | |||
. "${KARAF_SERVICE_CONF}" | |||
else | |||
echo "Error KARAF_SERVICE_CONF not defined" | |||
exit -1 | |||
fi | |||
# Location of JDK | |||
if [ -n "$JAVA_HOME" ]; then | |||
export JAVA_HOME | |||
fi | |||
# Setup the JVM | |||
if [ -z "$JAVA" ]; then | |||
if [ -n "$JAVA_HOME" ]; then | |||
JAVA="$JAVA_HOME/bin/java" | |||
else | |||
JAVA="java" | |||
fi | |||
fi | |||
if [ -z "$STARTUP_WAIT" ]; then | |||
STARTUP_WAIT=30 | |||
fi | |||
if [ -z "$SHUTDOWN_WAIT" ]; then | |||
SHUTDOWN_WAIT=30 | |||
fi | |||
prog=${KARAF_SERVICE_NAME} | |||
do_start() { | |||
echo "Starting $prog: " | |||
if [ -f "$KARAF_SERVICE_PIDFILE" ]; then | |||
read ppid < "$KARAF_SERVICE_PIDFILE" | |||
if [ `ps -p $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then | |||
echo "$prog is already running" | |||
return 1 | |||
else | |||
rm -f "$KARAF_SERVICE_PIDFILE" | |||
fi | |||
fi | |||
LOG_PATH=`dirname "$KARAF_SERVICE_LOG"` | |||
mkdir -p "$LOG_PATH" | |||
cat /dev/null > "$KARAF_SERVICE_LOG" | |||
chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$KARAF_SERVICE_LOG" | |||
PID_PATH=`dirname "$KARAF_SERVICE_PIDFILE"` | |||
mkdir -p "$PID_PATH" | |||
chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$PID_PATH" || true | |||
if [ ! -z "$KARAF_SERVICE_USER" ]; then | |||
if [ "$KARAF_SERVICE_USER" = "root" ]; then | |||
KARAF_EXEC=exec | |||
export KARAF_EXEC | |||
JAVA_HOME=$JAVA_HOME | |||
export JAVA_HOME | |||
"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE" daemon >> "$KARAF_SERVICE_LOG" 2>&1 & | |||
echo $! > "$KARAF_SERVICE_PIDFILE" | |||
else | |||
su - $KARAF_SERVICE_USER \ | |||
-c " { export KARAF_EXEC=exec; export JAVA_HOME=$JAVA_HOME; \"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" daemon >> \"$KARAF_SERVICE_LOG\" 2>&1 & } ; echo \$! >| \"$KARAF_SERVICE_PIDFILE\" " | |||
fi | |||
sleep 1 | |||
if [ -f "$KARAF_SERVICE_PIDFILE" ]; then | |||
chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$KARAF_SERVICE_PIDFILE" | |||
fi | |||
fi | |||
RETVAL=$? | |||
return $RETVAL | |||
} | |||
do_stop() { | |||
echo $"Stopping $prog: " | |||
count=0; | |||
if [ -f "$KARAF_SERVICE_PIDFILE" ]; then | |||
read kpid < "$KARAF_SERVICE_PIDFILE" | |||
kwait=$SHUTDOWN_WAIT | |||
if [ "$KARAF_SERVICE_USER" = "root" ]; then | |||
JAVA_HOME=$JAVA_HOME | |||
export JAVA_HOME | |||
"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE" stop >> "$KARAF_SERVICE_LOG" 2>&1 | |||
else | |||
su - $KARAF_SERVICE_USER \ | |||
-c "export JAVA_HOME=$JAVA_HOME; \"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" stop >> \"$KARAF_SERVICE_LOG\" 2>&1" | |||
fi | |||
until [ `ps -p $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ] | |||
do | |||
sleep 1 | |||
count=`expr $count + 1` | |||
done | |||
if [ $count -gt $kwait ]; then | |||
if [ `ps -p $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '1' ]; then | |||
kill -9 $kpid | |||
fi | |||
fi | |||
fi | |||
rm -f "$KARAF_SERVICE_PIDFILE" | |||
rm -f $KARAF_LOCKFILE | |||
} | |||
do_status() { | |||
if [ -f "$KARAF_SERVICE_PIDFILE" ]; then | |||
read ppid < "$KARAF_SERVICE_PIDFILE" | |||
if [ `ps -p $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then | |||
echo "$prog is running (pid $ppid)" | |||
return 0 | |||
else | |||
echo "$prog dead but pid file exists" | |||
return 1 | |||
fi | |||
fi | |||
echo "$prog is not running" | |||
return 3 | |||
} | |||
case "$1" in | |||
start) | |||
do_start | |||
;; | |||
stop) | |||
do_stop | |||
;; | |||
restart) | |||
do_stop | |||
do_start | |||
;; | |||
status) | |||
do_status | |||
;; | |||
*) | |||
## If no parameters are given, print which are avaiable. | |||
echo "Usage: $0 {start|stop|status|restart}" | |||
exit 1 | |||
;; | |||
esac |
@@ -0,0 +1,246 @@ | |||
#!/bin/sh | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
# /etc/init.d/${KARAF_SERVICE_NAME} -- startup script for Karaf | |||
# | |||
# | |||
### BEGIN INIT INFO | |||
# Provides: ${KARAF_SERVICE_NAME} | |||
# Required-Start: $remote_fs $network | |||
# Required-Stop: $remote_fs $network | |||
# Should-Start: $named | |||
# Should-Stop: $named | |||
# Default-Start: 2 3 4 5 | |||
# Default-Stop: 0 1 6 | |||
# Short-Description: Karaf | |||
# Description: Provide Karaf startup/shutdown script | |||
### END INIT INFO | |||
NAME=${KARAF_SERVICE_NAME} | |||
DESC=${KARAF_SERVICE_NAME} | |||
DEFAULT="/etc/default/$NAME" | |||
# Check privileges | |||
if [ `id -u` -ne 0 ]; then | |||
echo "You need root privileges to run this script" | |||
exit 1 | |||
fi | |||
# Make sure karaf is started with system locale | |||
if [ -r /etc/default/locale ]; then | |||
. /etc/default/locale | |||
export LANG | |||
fi | |||
. /lib/lsb/init-functions | |||
if [ -r /etc/default/rcS ]; then | |||
. /etc/default/rcS | |||
fi | |||
# Overwrite settings from default file | |||
if [ -f "$DEFAULT" ]; then | |||
. "$DEFAULT" | |||
fi | |||
if [ -r "${KARAF_SERVICE_CONF}" ]; then | |||
. "${KARAF_SERVICE_CONF}" | |||
else | |||
echo "Error KARAF_SERVICE_CONF not defined" | |||
exit -1 | |||
fi | |||
# Location of JDK | |||
if [ -n "$JAVA_HOME" ]; then | |||
export JAVA_HOME | |||
fi | |||
# Setup the JVM | |||
if [ -z "$JAVA" ]; then | |||
if [ -n "$JAVA_HOME" ]; then | |||
JAVA="$JAVA_HOME/bin/java" | |||
else | |||
JAVA="java" | |||
fi | |||
fi | |||
# Check karaf user | |||
id $KARAF_SERVICE_USER > /dev/null 2>&1 | |||
if [ $? -ne 0 -o -z "$KARAF_SERVICE_USER" ]; then | |||
echo "User \"$KARAF_SERVICE_USER\" does not exist..." >&2 | |||
exit 1 | |||
fi | |||
# Check owner of KARAF_SERVICE_PATH | |||
if [ ! $(stat -L -c "%U" "$KARAF_SERVICE_PATH") = $KARAF_SERVICE_USER ]; then | |||
echo "The user \"$KARAF_SERVICE_USER\" is not owner of \"$KARAF_SERVICE_PATH\"" >&2 | |||
exit 1 | |||
fi | |||
# The amount of time to wait for startup | |||
if [ -z "$STARTUP_WAIT" ]; then | |||
STARTUP_WAIT=30 | |||
fi | |||
# The amount of time to wait for shutdown | |||
if [ -z "$SHUTDOWN_WAIT" ]; then | |||
SHUTDOWN_WAIT=30 | |||
fi | |||
# Helper function to check status of karaf service | |||
check_status() { | |||
pidofproc -p "$KARAF_SERVICE_PIDFILE" "$JAVA" >/dev/null 2>&1 | |||
} | |||
case "$1" in | |||
start) | |||
echo "Starting $DESC" "$NAME" | |||
# PID file | |||
PID_PATH=$(dirname "$KARAF_SERVICE_PIDFILE") | |||
if [ ! -d "$PID_PATH" ]; then | |||
mkdir -p "$PID_PATH" | |||
fi | |||
chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$PID_PATH" || true | |||
# Console log | |||
LOG_PATH=$(dirname "$KARAF_SERVICE_LOG") | |||
if [ ! -d "$LOG_PATH" ]; then | |||
mkdir -p "$LOG_PATH" | |||
fi | |||
cat /dev/null > "$KARAF_SERVICE_LOG" | |||
chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$LOG_PATH" | |||
chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$KARAF_SERVICE_LOG" | |||
start-stop-daemon \ | |||
--start \ | |||
--user "$KARAF_SERVICE_USER" \ | |||
--chuid "$KARAF_SERVICE_USER" \ | |||
--chdir "$KARAF_SERVICE_PATH" \ | |||
--pidfile "$KARAF_SERVICE_PIDFILE" \ | |||
--make-pidfile \ | |||
--exec "$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE" -- "daemon" \ | |||
>> "$KARAF_SERVICE_LOG" 2>&1 & | |||
count=0 | |||
launched=0 | |||
until [ $count -gt $STARTUP_WAIT ] | |||
do | |||
sleep 1 | |||
count=$((count + 1)); | |||
if check_status; then | |||
launched=1 | |||
break | |||
fi | |||
done | |||
if check_status; then | |||
log_end_msg 0 | |||
else | |||
log_end_msg 1 | |||
fi | |||
if [ $launched -eq 0 ]; then | |||
log_warning_msg "$DESC hasn't started within the timeout allowed" | |||
log_warning_msg "please review file \"$KARAF_SERVICE_LOG\" to see the status of the service" | |||
fi | |||
;; | |||
stop) | |||
check_status | |||
status_stop=$? | |||
if [ $status_stop -eq 0 ]; then | |||
kwait=$SHUTDOWN_WAIT | |||
read kpid < "$KARAF_SERVICE_PIDFILE" | |||
log_daemon_msg "Stopping $DESC" "$NAME" | |||
children_pids=$(pgrep -P $kpid) | |||
su - $KARAF_SERVICE_USER \ | |||
-c "export JAVA_HOME=$JAVA_HOME; \"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" stop" | |||
count=0 | |||
until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ] | |||
do | |||
sleep 1 | |||
count=$((count + 1)); | |||
done | |||
if check_status; then | |||
start-stop-daemon \ | |||
--stop \ | |||
--quiet \ | |||
--pidfile "$KARAF_SERVICE_PIDFILE" \ | |||
--user "$KARAF_SERVICE_USER" \ | |||
--retry=TERM/$SHUTDOWN_WAIT/KILL/5 \ | |||
> /dev/null 2>&1 | |||
if [ $? -eq 2 ]; then | |||
log_failure_msg "$DESC can't be stopped" | |||
exit 1 | |||
fi | |||
fi | |||
for child in $children_pids; do | |||
/bin/kill -9 $child >/dev/null 2>&1 | |||
done | |||
log_end_msg 0 | |||
rm -rf "$KARAF_SERVICE_PIDFILE" | |||
elif [ $status_stop -eq 1 ]; then | |||
log_action_msg "$DESC is not running but the pid file exists, cleaning up" | |||
rm -f "$KARAF_SERVICE_PIDFILE" | |||
elif [ $status_stop -eq 3 ]; then | |||
log_action_msg "$DESC is not running" | |||
fi | |||
;; | |||
restart) | |||
check_status | |||
status_restart=$? | |||
if [ $status_restart -eq 0 ]; then | |||
$0 stop | |||
fi | |||
$0 start | |||
;; | |||
status) | |||
check_status | |||
status=$? | |||
if [ $status -eq 0 ]; then | |||
read pid < $KARAF_SERVICE_PIDFILE | |||
log_action_msg "$DESC is running with pid $pid" | |||
exit 0 | |||
elif [ $status -eq 1 ]; then | |||
log_action_msg "$DESC is not running and the pid file exists" | |||
exit 1 | |||
elif [ $status -eq 3 ]; then | |||
log_action_msg "$DESC is not running" | |||
exit 3 | |||
else | |||
log_action_msg "Unable to determine $DESC status" | |||
exit 4 | |||
fi | |||
;; | |||
*) | |||
log_action_msg "Usage: $0 {start|stop|restart|status}" | |||
exit 2 | |||
;; | |||
esac | |||
exit 0 |
@@ -0,0 +1,164 @@ | |||
#!/bin/sh | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
# Karaf control script | |||
# | |||
# chkconfig: - 80 20 | |||
# description: Karaf startup script | |||
# processname: ${KARAF_SERVICE_NAME} | |||
# pidfile: ${KARAF_SERVICE_PIDFILE} | |||
# config: ${KARAF_SERVICE_CONF} | |||
# | |||
# Source function library. | |||
. /etc/init.d/functions | |||
# Load Java configuration. | |||
[ -r /etc/java/java.conf ] && . /etc/java/java.conf | |||
export JAVA_HOME | |||
if [ -r "${KARAF_SERVICE_CONF}" ]; then | |||
. "${KARAF_SERVICE_CONF}" | |||
else | |||
echo "Error KARAF_SERVICE_CONF not defined" | |||
exit -1 | |||
fi | |||
if [ -z "$STARTUP_WAIT" ]; then | |||
STARTUP_WAIT=30 | |||
fi | |||
if [ -z "$SHUTDOWN_WAIT" ]; then | |||
SHUTDOWN_WAIT=30 | |||
fi | |||
prog=${KARAF_SERVICE_NAME} | |||
currenttime=$(date +%s%N | cut -b1-13) | |||
start() { | |||
echo -n "Starting $prog: " | |||
if [ -f "$KARAF_SERVICE_PIDFILE" ]; then | |||
read ppid < "$KARAF_SERVICE_PIDFILE" | |||
if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then | |||
echo -n "$prog is already running" | |||
failure | |||
echo | |||
return 1 | |||
else | |||
rm -f "$KARAF_SERVICE_PIDFILE" | |||
fi | |||
fi | |||
LOG_PATH=`dirname "$KARAF_SERVICE_LOG"` | |||
mkdir -p "$LOG_PATH" | |||
cat /dev/null > "$KARAF_SERVICE_LOG" | |||
chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$KARAF_SERVICE_LOG" | |||
PID_PATH=`dirname "$KARAF_SERVICE_PIDFILE"` | |||
mkdir -p "$PID_PATH" | |||
chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$PID_PATH" || true | |||
if [ ! -z "$KARAF_SERVICE_USER" ]; then | |||
if [ -r /etc/rc.d/init.d/functions ]; then | |||
daemon \ | |||
--user="$KARAF_SERVICE_USER" \ | |||
--pidfile="$KARAF_SERVICE_PIDFILE" \ | |||
" { \"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" daemon >> \"$KARAF_SERVICE_LOG\" 2>&1 & } ; echo \$! >| \"$KARAF_SERVICE_PIDFILE\" " | |||
else | |||
su - $KARAF_SERVICE_USER \ | |||
-c " { \"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" daemon >> \"$KARAF_SERVICE_LOG\" 2>&1 & } ; echo \$! >| \"$KARAF_SERVICE_PIDFILE\" " | |||
fi | |||
if [ -f "$KARAF_SERVICE_PIDFILE" ]; then | |||
chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$KARAF_SERVICE_PIDFILE" | |||
fi | |||
fi | |||
RETVAL=$? | |||
echo | |||
if [ $RETVAL -eq 0 ]; then | |||
touch $KARAF_LOCKFILE | |||
fi | |||
return $RETVAL | |||
} | |||
stop() { | |||
echo -n $"Stopping $prog: " | |||
count=0; | |||
if [ -f "$KARAF_SERVICE_PIDFILE" ]; then | |||
read kpid < "$KARAF_SERVICE_PIDFILE" | |||
let kwait=$SHUTDOWN_WAIT | |||
# Try issuing SIGTERM | |||
su - $KARAF_SERVICE_USER \ | |||
-c "export JAVA_HOME=$JAVA_HOME; \"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" stop" | |||
until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ] | |||
do | |||
sleep 1 | |||
let count=$count+1; | |||
done | |||
if [ $count -gt $kwait ]; then | |||
kill -9 $kpid | |||
fi | |||
fi | |||
rm -f "$KARAF_SERVICE_PIDFILE" | |||
rm -f "$KARAF_LOCKFILE" | |||
success | |||
echo | |||
} | |||
status() { | |||
if [ -f "$KARAF_SERVICE_PIDFILE" ]; then | |||
read ppid < "$KARAF_SERVICE_PIDFILE" | |||
if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then | |||
echo "$prog is running (pid $ppid)" | |||
return 0 | |||
else | |||
echo "$prog dead but pid file exists" | |||
return 1 | |||
fi | |||
fi | |||
echo "$prog is not running" | |||
return 3 | |||
} | |||
case "$1" in | |||
start) | |||
start | |||
;; | |||
stop) | |||
stop | |||
;; | |||
restart) | |||
$0 stop | |||
$0 start | |||
;; | |||
status) | |||
status | |||
;; | |||
*) | |||
## If no parameters are given, print which are avaiable. | |||
echo "Usage: $0 {start|stop|status|restart}" | |||
exit 1 | |||
;; | |||
esac |
@@ -0,0 +1,94 @@ | |||
<?xml version="1.0" ?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
this work for additional information regarding copyright ownership. | |||
The ASF licenses this file to You under the Apache License, Version 2.0 | |||
(the "License"); you may not use this file except in compliance with | |||
the License. You may obtain a copy of the License at | |||
http://www.apache.org/licenses/LICENSE-2.0 | |||
Unless required by applicable law or agreed to in writing, software | |||
distributed under the License is distributed on an "AS IS" BASIS, | |||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
See the License for the specific language governing permissions and | |||
limitations under the License. | |||
--> | |||
<!DOCTYPE service_bundle | |||
SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'> | |||
<service_bundle type="manifest" name="application/${KARAF_SERVICE_NAME}"> | |||
<service version="1" type="service" name="application/${KARAF_SERVICE_NAME}"> | |||
<create_default_instance enabled='false' /> | |||
<single_instance /> | |||
<dependency | |||
restart_on="none" | |||
type="service" | |||
name="multi_user_dependency" | |||
grouping="require_all"> | |||
<service_fmri value="svc:/milestone/multi-user"/> | |||
</dependency> | |||
<method_context> | |||
<method_credential user='${KARAF_SERVICE_USER}' group='${KARAF_SERVICE_GROUP}'/> | |||
<method_environment> | |||
<envvar name="JAVA_HOME" value="${JAVA_HOME}"/> | |||
</method_environment> | |||
</method_context> | |||
<!-- *************************************************************** --> | |||
<!-- STOP/START --> | |||
<!-- *************************************************************** --> | |||
<exec_method | |||
timeout_seconds="60" | |||
type="method" | |||
name="start" | |||
exec="${KARAF_SERVICE_PATH}/bin/${KARAF_SERVICE_EXECUTABLE} daemon &"> | |||
</exec_method> | |||
<exec_method | |||
timeout_seconds="60" | |||
type="method" | |||
name="stop" | |||
exec="${KARAF_SERVICE_PATH}/bin/${KARAF_SERVICE_EXECUTABLE} stop"> | |||
</exec_method> | |||
<!-- *************************************************************** --> | |||
<!-- --> | |||
<!-- *************************************************************** --> | |||
<!-- do not restart the service in case of errors --> | |||
<property_group name='startd' type='framework'> | |||
<propval name='duration' | |||
type='astring' | |||
value='transient'/> | |||
<propval name='ignore_error' | |||
type='astring' | |||
value='core,signal'/> | |||
</property_group> | |||
<stability value='Evolving' /> | |||
<template> | |||
<common_name> | |||
<loctext xml:lang="C"> | |||
${KARAF_SERVICE_NAME} | |||
</loctext> | |||
</common_name> | |||
<description> | |||
<loctext xml:lang="C"> | |||
${KARAF_SERVICE_NAME} | |||
</loctext> | |||
</description> | |||
</template> | |||
</service> | |||
</service_bundle> | |||
@@ -0,0 +1,39 @@ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
[Unit] | |||
Description=Karaf - ${KARAF_SERVICE_NAME} | |||
After=syslog.target network.target | |||
[Service] | |||
EnvironmentFile=${KARAF_SERVICE_CONF} | |||
ExecStart=${KARAF_SERVICE_PATH}/bin/${KARAF_SERVICE_EXECUTABLE} daemon | |||
ExecStop=${KARAF_SERVICE_PATH}/bin/${KARAF_SERVICE_EXECUTABLE} stop | |||
User=${KARAF_SERVICE_USER} | |||
Group=${KARAF_SERVICE_GROUP} | |||
SuccessExitStatus=0 143 | |||
RestartSec=15 | |||
Restart=on-failure | |||
LimitNOFILE=102642 | |||
[Install] | |||
WantedBy=multi-user.target | |||
@@ -0,0 +1,42 @@ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
[Unit] | |||
Description=Karaf - ${KARAF_SERVICE_NAME} - %i | |||
After=syslog.target network.target | |||
Requires=${KARAF_SERVICE_NAME}.service | |||
[Service] | |||
EnvironmentFile=-${KARAF_SERVICE_PATH}/etc/${KARAF_SERVICE_NAME}-%i.conf | |||
EnvironmentFile=-${KARAF_SERVICE_PATH}/instances/%i/etc/${KARAF_SERVICE_NAME}.conf | |||
Environment=KARAF_HOME=${KARAF_SERVICE_PATH} | |||
Environment=KARAF_BASE=${KARAF_SERVICE_PATH}/instances/%i | |||
ExecStart=${KARAF_SERVICE_PATH}/bin/${KARAF_SERVICE_EXECUTABLE} daemon | |||
ExecStop=${KARAF_SERVICE_PATH}/bin/${KARAF_SERVICE_EXECUTABLE} stop | |||
User=${KARAF_SERVICE_USER} | |||
Group=${KARAF_SERVICE_GROUP} | |||
SuccessExitStatus=0 1 143 | |||
RestartSec=15 | |||
Restart=on-failure | |||
LimitNOFILE=102642 | |||
[Install] | |||
WantedBy=multi-user.target |
@@ -0,0 +1,50 @@ | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one or more | |||
contributor license agreements. See the NOTICE file distributed with | |||
this work for additional information regarding copyright ownership. | |||
The ASF licenses this file to You under the Apache License, Version 2.0 | |||
(the "License"); you may not use this file except in compliance with | |||
the License. You may obtain a copy of the License at | |||
http://www.apache.org/licenses/LICENSE-2.0 | |||
Unless required by applicable law or agreed to in writing, software | |||
distributed under the License is distributed on an "AS IS" BASIS, | |||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
See the License for the specific language governing permissions and | |||
limitations under the License. | |||
--> | |||
<service> | |||
<!-- | |||
This script is provided as a template you can quckly customize by replacing | |||
the following variables: | |||
KARAF_SERVICE_NAME | |||
KARAF_SERVICE_PATH | |||
KARAF_SERVICE_EXECUTABLE | |||
For a detailed overview of the confguration options, please visit winsw home | |||
page (https://github.com/kohsuke/winsw) | |||
--> | |||
<id>%KARAF_SERVICE_NAME%</id> | |||
<name>%KARAF_SERVICE_NAME%</name> | |||
<description>Apache Karaf %KARAF_SERVICE_NAME%</description> | |||
<!-- start --> | |||
<executable>%KARAF_SERVICE_PATH%\bin\%KARAF_SERVICE_EXECUTABLE%</executable> | |||
<startargument>daemon</startargument> | |||
<!-- stop --> | |||
<stopexecutable>%KARAF_SERVICE_PATH%\bin\%KARAF_SERVICE_EXECUTABLE%</stopexecutable> | |||
<stopargument>stop</stopargument> | |||
<stoptimeout>10sec</stoptimeout> | |||
<!-- logging --> | |||
<logpath>%KARAF_SERVICE_PATH%\data\log</logpath> | |||
<log mode="roll-by-time"> | |||
<pattern>yyyyMMdd</pattern> | |||
</log> | |||
</service> |
@@ -0,0 +1,206 @@ | |||
#!/usr/bin/env bash | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
function usage { | |||
cat <<-END >&2 | |||
USAGE: $0 | |||
-k KARAF_SERVICE_PATH # Karaf installation path | |||
-d KARAF_SERVICE_DATA # Karaf data path (default to \${KARAF_SERVICE_PATH}/data) | |||
-c KARAF_SERVICE_CONF # Karaf configuration file (default to \${KARAF_SERVICE_PATH/etc/\${KARAF_SERVICE_NAME}.conf | |||
-t KARAF_SERVICE_ETC # Karaf etc path (default to \${KARAF_SERVICE_PATH/etc} | |||
-p KARAF_SERVICE_PIDFILE # Karaf pid path (default to \${KARAF_SERVICE_DATA}/\${KARAF_SERVICE_NAME}.pid) | |||
-n KARAF_SERVICE_NAME # Karaf service name (default karaf) | |||
-e KARAF_ENV # Karaf environment variable (can be repeated) | |||
-u KARAF_SERVICE_USER # Karaf user | |||
-g KARAF_SERVICE_GROUP # Karaf group (default \${KARAF_SERVICE_USER) | |||
-l KARAF_SERVICE_LOG # Karaf console log (default to \${KARAF_SERVICE_DATA}/log/\${KARAF_SERVICE_NAME}-console.log) | |||
-f KARAF_SERVICE_TEMPLATE # Template file to use | |||
-x KARAF_SERVICE_EXECUTABLE # Karaf executable name (defaul karaf, should support daemon and stop commands) | |||
-h # this usage message | |||
END | |||
exit | |||
} | |||
CONF_TEMPLATE="karaf-service-template.conf" | |||
SYSTEMD_TEMPLATE="karaf-service-template.systemd" | |||
SYSTEMD_TEMPLATE_INSTANCES="karaf-service-template.systemd-instances" | |||
INIT_TEMPLATE="karaf-service-template.init" | |||
INIT_REDHAT_TEMPLATE="karaf-service-template.init-redhat" | |||
INIT_DEBIAN_TEMPLATE="karaf-service-template.init-debian" | |||
SOLARIS_SMF_TEMPLATE="karaf-service-template.solaris-smf" | |||
################################################################################ | |||
# | |||
################################################################################ | |||
KARAF_ENV=() | |||
while getopts k:d:c:p:n:u:g:l:t:e:f:x:h opt | |||
do | |||
case $opt in | |||
k) export KARAF_SERVICE_PATH="$OPTARG" ;; | |||
d) export KARAF_SERVICE_DATA="$OPTARG" ;; | |||
c) export KARAF_SERVICE_CONF="$OPTARG" ;; | |||
p) export KARAF_SERVICE_PIDFILE="$OPTARG" ;; | |||
n) export KARAF_SERVICE_NAME="$OPTARG" ;; | |||
u) export KARAF_SERVICE_USER="$OPTARG" ;; | |||
g) export KARAF_SERVICE_GROUP="$OPTARG" ;; | |||
l) export KARAF_SERVICE_LOG="$OPTARG" ;; | |||
t) export KARAF_SERVICE_ETC="$OPTARG" ;; | |||
f) export KARAF_SERVICE_TEMPLATE="$OPTARG" ;; | |||
x) export KARAF_SERVICE_EXECUTABLE="$OPTARG" ;; | |||
e) KARAF_ENV+=("$OPTARG") ;; | |||
h|?) usage ;; | |||
esac | |||
done | |||
shift $(( $OPTIND - 1 )) | |||
if [[ ! $KARAF_SERVICE_PATH ]]; then | |||
echo "Warning, KARAF_SERVICE_PATH is required" | |||
usage | |||
fi | |||
if [[ ! $KARAF_SERVICE_DATA ]]; then | |||
export KARAF_SERVICE_DATA="${KARAF_SERVICE_PATH}/data" | |||
fi | |||
if [[ ! $KARAF_SERVICE_ETC ]]; then | |||
export KARAF_SERVICE_ETC="${KARAF_SERVICE_PATH}/etc" | |||
fi | |||
if [[ ! $KARAF_SERVICE_NAME ]]; then | |||
export KARAF_SERVICE_NAME="karaf" | |||
fi | |||
if [[ ! $KARAF_SERVICE_CONF ]]; then | |||
export KARAF_SERVICE_CONF="${KARAF_SERVICE_PATH}/etc/${KARAF_SERVICE_NAME}.conf" | |||
fi | |||
if [[ ! $KARAF_SERVICE_PIDFILE ]]; then | |||
export KARAF_SERVICE_PIDFILE="${KARAF_SERVICE_DATA}/${KARAF_SERVICE_NAME}.pid" | |||
fi | |||
if [[ ! $KARAF_SERVICE_LOG ]]; then | |||
export KARAF_SERVICE_LOG="${KARAF_SERVICE_DATA}/log/${KARAF_SERVICE_NAME}-console.log" | |||
fi | |||
if [[ ! $KARAF_SERVICE_USER ]]; then | |||
export KARAF_SERVICE_USER="root" | |||
fi | |||
if [[ ! $KARAF_SERVICE_GROUP ]]; then | |||
export KARAF_SERVICE_GROUP="${KARAF_SERVICE_USER}" | |||
fi | |||
if [[ ! $KARAF_SERVICE_EXECUTABLE ]]; then | |||
export KARAF_SERVICE_EXECUTABLE="karaf" | |||
fi | |||
################################################################################ | |||
# | |||
################################################################################ | |||
function generate_service_descriptor { | |||
echo "Writing service file \"$2\"" | |||
perl -p -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' < "$1" > "$2" | |||
if [ $# -eq 4 ]; then | |||
echo "Writing service configuration file \"$4\"" | |||
perl -p -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' < "$3" > "$4" | |||
for var in "${KARAF_ENV[@]}"; do | |||
echo "${var}" >> "$4" | |||
done | |||
fi | |||
} | |||
################################################################################ | |||
# | |||
################################################################################ | |||
if [[ ! $KARAF_SERVICE_TEMPLATE ]]; then | |||
case $(uname | tr [:upper:] [:lower:]) in | |||
sunos) | |||
# add KARAF_ENV vars to envirioment | |||
for var in "${KARAF_ENV[@]}"; do | |||
export $var | |||
done | |||
# Default java path if not set | |||
if [[ ! $JAVA_HOME ]]; then | |||
export JAVA_HOME=/usr/java | |||
fi | |||
# escape spaces in path | |||
export KARAF_SERVICE_PATH="$(echo $KARAF_SERVICE_PATH | sed 's/ /\\ /g')" | |||
export KARAF_SERVICE_DATA="$(echo $KARAF_SERVICE_DATA | sed 's/ /\\ /g')" | |||
export KARAF_SERVICE_CONF="$(echo $KARAF_SERVICE_CONF | sed 's/ /\\ /g')" | |||
export KARAF_SERVICE_PIDFILE="$(echo $KARAF_SERVICE_PIDFILE | sed 's/ /\\ /g')" | |||
generate_service_descriptor \ | |||
"$SOLARIS_SMF_TEMPLATE" \ | |||
"${PWD}/${KARAF_SERVICE_NAME}.xml" | |||
;; | |||
linux) | |||
if [ -d /run/systemd/system ]; then | |||
generate_service_descriptor \ | |||
"$SYSTEMD_TEMPLATE" \ | |||
"${PWD}/${KARAF_SERVICE_NAME}.service" \ | |||
"${CONF_TEMPLATE}" \ | |||
"${KARAF_SERVICE_CONF}" | |||
generate_service_descriptor \ | |||
"$SYSTEMD_TEMPLATE_INSTANCES" \ | |||
"${PWD}/${KARAF_SERVICE_NAME}@.service" | |||
elif [ -f /etc/redhat-release ]; then | |||
generate_service_descriptor \ | |||
"$INIT_REDHAT_TEMPLATE" \ | |||
"${PWD}/${KARAF_SERVICE_NAME}" \ | |||
"${CONF_TEMPLATE}" \ | |||
"${KARAF_SERVICE_CONF}" | |||
chmod 755 "${PWD}/${KARAF_SERVICE_NAME}" | |||
elif [ -f /etc/debian-release ] || [ -f /etc/debian_version ]; then | |||
generate_service_descriptor \ | |||
"$INIT_DEBIAN_TEMPLATE" \ | |||
"${PWD}/${KARAF_SERVICE_NAME}" \ | |||
"${CONF_TEMPLATE}" \ | |||
"${KARAF_SERVICE_CONF}" | |||
chmod 755 "${PWD}/${KARAF_SERVICE_NAME}" | |||
fi | |||
;; | |||
*) | |||
generate_service_descriptor \ | |||
"$INIT_TEMPLATE" \ | |||
"${PWD}/${KARAF_SERVICE_NAME}" \ | |||
"${CONF_TEMPLATE}" \ | |||
"${KARAF_SERVICE_CONF}" | |||
chmod 755 "${PWD}/${KARAF_SERVICE_NAME}" | |||
;; | |||
esac | |||
else | |||
generate_service_descriptor \ | |||
"$KARAF_SERVICE_TEMPLATE" \ | |||
"${PWD}/${KARAF_SERVICE_NAME}" \ | |||
"${CONF_TEMPLATE}" \ | |||
"${KARAF_SERVICE_CONF}" | |||
fi |
@@ -0,0 +1,321 @@ | |||
#!/bin/sh | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
warn() { | |||
echo "${PROGNAME}: $*" | |||
} | |||
die() { | |||
warn "$*" | |||
exit 1 | |||
} | |||
detectOS() { | |||
# OS specific support (must be 'true' or 'false'). | |||
cygwin=false; | |||
mingw=false; | |||
darwin=false; | |||
aix=false; | |||
os400=false; | |||
hpux=false; | |||
solaris=false; | |||
case "$(uname)" in | |||
CYGWIN*) | |||
cygwin=true | |||
;; | |||
MINGW*) | |||
mingw=true | |||
;; | |||
Darwin*) | |||
darwin=true | |||
;; | |||
AIX*) | |||
aix=true | |||
# For AIX, set an environment variable | |||
export LDR_CNTRL=MAXDATA=0xB0000000@DSA | |||
echo ${LDR_CNTRL} | |||
;; | |||
OS400*) | |||
os400=true | |||
;; | |||
HP-UX*) | |||
hpux=true | |||
# For HP-UX, set an environment variable | |||
export PS_PREFIX="UNIX95= " | |||
echo "${PS_PREFIX}" | |||
;; | |||
SunOS*) | |||
solaris=true | |||
;; | |||
esac | |||
} | |||
unlimitFD() { | |||
# Use the maximum available, or set MAX_FD != -1 to use that | |||
if [ "x${MAX_FD}" = "x" ]; then | |||
MAX_FD="maximum" | |||
fi | |||
# Increase the maximum file descriptors if we can | |||
if [ "x$(command -v ulimit)" != "x" ] && [ "${os400}" = "false" ] ; then | |||
if [ "${MAX_FD}" = "maximum" ] || [ "${MAX_FD}" = "max" ]; then | |||
MAX_FD_LIMIT=$(ulimit -H -n) | |||
if [ $? -eq 0 ]; then | |||
# use the system max | |||
MAX_FD="${MAX_FD_LIMIT}" | |||
else | |||
warn "Could not query system maximum file descriptor limit: ${MAX_FD_LIMIT}" | |||
fi | |||
fi | |||
if [ "${MAX_FD}" != 'unlimited' ]; then | |||
ulimit -n "${MAX_FD}" > /dev/null | |||
if [ $? -ne 0 ]; then | |||
warn "Could not set maximum file descriptor limit: ${MAX_FD}" | |||
fi | |||
fi | |||
fi | |||
} | |||
locateHome() { | |||
if [ "x${KARAF_HOME}" != "x" ]; then | |||
warn "Ignoring predefined value for KARAF_HOME" | |||
unset KARAF_HOME | |||
fi | |||
if [ "x${KARAF_HOME}" = "x" ]; then | |||
# In POSIX shells, CDPATH may cause cd to write to stdout | |||
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH | |||
# KARAF_HOME is not provided, fall back to default | |||
KARAF_HOME=$(cd "${DIRNAME}/.." || exit 2; pwd) | |||
fi | |||
if [ ! -d "${KARAF_HOME}" ]; then | |||
die "KARAF_HOME is not valid: ${KARAF_HOME}" | |||
fi | |||
} | |||
locateBase() { | |||
if [ "x${KARAF_BASE}" != "x" ]; then | |||
if [ ! -d "${KARAF_BASE}" ]; then | |||
die "KARAF_BASE is not valid: ${KARAF_BASE}" | |||
fi | |||
else | |||
KARAF_BASE=${KARAF_HOME} | |||
fi | |||
} | |||
locateData() { | |||
if [ "x${KARAF_DATA}" != "x" ]; then | |||
if [ ! -d "${KARAF_DATA}" ]; then | |||
die "KARAF_DATA is not valid: ${KARAF_DATA}" | |||
fi | |||
else | |||
KARAF_DATA=${KARAF_BASE}/data | |||
fi | |||
} | |||
locateEtc() { | |||
if [ "x${KARAF_ETC}" != "x" ]; then | |||
if [ ! -d "${KARAF_ETC}" ]; then | |||
die "KARAF_ETC is not valid: ${KARAF_ETC}" | |||
fi | |||
else | |||
KARAF_ETC=${KARAF_BASE}/etc | |||
fi | |||
} | |||
setupNativePath() { | |||
# Support for loading native libraries | |||
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${KARAF_BASE}/lib:${KARAF_HOME}/lib" | |||
# For Cygwin, set PATH from LD_LIBRARY_PATH | |||
if ${cygwin}; then | |||
LD_LIBRARY_PATH=$(cygpath --path --windows "${LD_LIBRARY_PATH}") | |||
PATH="${PATH};${LD_LIBRARY_PATH}" | |||
export PATH | |||
fi | |||
export LD_LIBRARY_PATH | |||
} | |||
pathCanonical() { | |||
dst="${1}" | |||
while [ -h "${dst}" ] ; do | |||
ls=$(ls -ld "${dst}") | |||
link=$(expr "${ls}" : '.*-> \(.*\)$') | |||
if expr "${link}" : '/.*' > /dev/null; then | |||
dst="${link}" | |||
else | |||
dst="$(dirname "${dst}")/${link}" | |||
fi | |||
done | |||
bas=$(basename "${dst}") | |||
dir=$(dirname "${dst}") | |||
if [ "${bas}" != "${dir}" ]; then | |||
dst="$(pathCanonical "${dir}")/${bas}" | |||
fi | |||
echo "${dst}" | sed -e 's#//#/#g' -e 's#/./#/#g' -e 's#/[^/]*/../#/#g' | |||
} | |||
locateJava() { | |||
# Setup the Java Virtual Machine | |||
if ${cygwin} ; then | |||
[ -n "${JAVA}" ] && JAVA=$(cygpath --unix "${JAVA}") | |||
[ -n "${JAVA_HOME}" ] && JAVA_HOME=$(cygpath --unix "${JAVA_HOME}") | |||
fi | |||
if [ "x${JAVA_HOME}" = "x" ] && [ "${darwin}" = "true" ]; then | |||
JAVA_HOME="$(/usr/libexec/java_home -v 1.8)" | |||
fi | |||
if [ "x${JAVA}" = "x" ] && [ -r /etc/gentoo-release ] ; then | |||
JAVA_HOME=$(java-config --jre-home) | |||
fi | |||
if [ "x${JAVA}" = "x" ]; then | |||
if [ "x${JAVA_HOME}" != "x" ]; then | |||
if [ ! -d "${JAVA_HOME}" ]; then | |||
die "JAVA_HOME is not valid: ${JAVA_HOME}" | |||
fi | |||
JAVA="${JAVA_HOME}/bin/java" | |||
else | |||
warn "JAVA_HOME not set; results may vary" | |||
JAVA=$(command -v java) | |||
if [ "x${JAVA}" = "x" ]; then | |||
die "java command not found" | |||
fi | |||
fi | |||
fi | |||
if [ "x${JAVA_HOME}" = "x" ]; then | |||
JAVA_HOME="$(dirname "$(dirname "$(pathCanonical "${JAVA}")")")" | |||
fi | |||
} | |||
detectJVM() { | |||
# This service should call $(java -version), | |||
# read stdout, and look for hints | |||
if "${JAVA}" -version 2>&1 | grep "^IBM" ; then | |||
JVM_VENDOR="IBM" | |||
# on OS/400, java -version does not contain IBM explicitly | |||
elif ${os400}; then | |||
JVM_VENDOR="IBM" | |||
else | |||
JVM_VENDOR="SUN" | |||
fi | |||
# echo "JVM vendor is ${JVM_VENDOR}" | |||
} | |||
checkJvmVersion() { | |||
# Use in priority xpg4 awk or nawk on SunOS as standard awk is outdated | |||
AWK=awk | |||
if ${solaris}; then | |||
if [ -x /usr/xpg4/bin/awk ]; then | |||
AWK=/usr/xpg4/bin/awk | |||
elif [ -x /usr/bin/nawk ]; then | |||
AWK=/usr/bin/nawk | |||
fi | |||
fi | |||
VERSION=$("${JAVA}" -version 2>&1 | ${AWK} -F '"' '/version/ {print $2}' | sed -e 's/_.*//g; s/^1\.//g; s/\..*//g; s/-.*//g;') | |||
# java must be at least version 8 | |||
if [ "${VERSION}" -lt "8" ]; then | |||
die "JVM must be greater than 1.8" | |||
fi | |||
} | |||
setupDebugOptions() { | |||
if [ "x${JAVA_OPTS}" = "x" ]; then | |||
JAVA_OPTS="${DEFAULT_JAVA_OPTS}" | |||
fi | |||
export JAVA_OPTS | |||
if [ "x${EXTRA_JAVA_OPTS}" != "x" ]; then | |||
JAVA_OPTS="${JAVA_OPTS} ${EXTRA_JAVA_OPTS}" | |||
fi | |||
# Set Debug options if enabled | |||
if [ "x${KARAF_DEBUG}" != "x" ]; then | |||
# Use the defaults if JAVA_DEBUG_OPTS was not set | |||
if [ "x${JAVA_DEBUG_OPTS}" = "x" ]; then | |||
JAVA_DEBUG_OPTS="${DEFAULT_JAVA_DEBUG_OPTS}" | |||
fi | |||
JAVA_OPTS="${JAVA_DEBUG_OPTS} ${JAVA_OPTS}" | |||
warn "Enabling Java debug options: ${JAVA_DEBUG_OPTS}" | |||
fi | |||
} | |||
setupDefaults() { | |||
# | |||
# Set up some easily accessible MIN/MAX params for JVM mem usage | |||
# | |||
if [ "x${JAVA_MIN_MEM}" = "x" ]; then | |||
JAVA_MIN_MEM=128M | |||
export JAVA_MIN_MEM | |||
fi | |||
if [ "x${JAVA_MAX_MEM}" = "x" ]; then | |||
JAVA_MAX_MEM=512M | |||
export JAVA_MAX_MEM | |||
fi | |||
DEFAULT_JAVA_OPTS="-Xms${JAVA_MIN_MEM} -Xmx${JAVA_MAX_MEM} -XX:+UnlockDiagnosticVMOptions " | |||
#Set the JVM_VENDOR specific JVM flags | |||
if [ "${JVM_VENDOR}" = "SUN" ]; then | |||
DEFAULT_JAVA_OPTS="${DEFAULT_JAVA_OPTS} -Dcom.sun.management.jmxremote" | |||
elif [ "${JVM_VENDOR}" = "IBM" ]; then | |||
if ${os400}; then | |||
DEFAULT_JAVA_OPTS="${DEFAULT_JAVA_OPTS}" | |||
elif ${aix}; then | |||
DEFAULT_JAVA_OPTS="-Xverify:none -Xdump:heap -Xlp ${DEFAULT_JAVA_OPTS}" | |||
else | |||
DEFAULT_JAVA_OPTS="-Xverify:none ${DEFAULT_JAVA_OPTS}" | |||
fi | |||
fi | |||
DEFAULT_JAVA_DEBUG_PORT="5005" | |||
if [ "x${JAVA_DEBUG_PORT}" = "x" ]; then | |||
JAVA_DEBUG_PORT="${DEFAULT_JAVA_DEBUG_PORT}" | |||
fi | |||
DEFAULT_JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${JAVA_DEBUG_PORT}" | |||
DEFAULT_JAVA_DEBUGS_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=${JAVA_DEBUG_PORT}" | |||
## | |||
## TODO: Move to conf/profiler/yourkit.{sh|cmd} | |||
## | |||
# Uncomment to enable YourKit profiling | |||
#DEFAULT_JAVA_DEBUG_OPTS="-Xrunyjpagent" | |||
} | |||
convertPaths() { | |||
if $cygwin; then | |||
if [ ! -z "${KARAF_HOME}" ]; then | |||
KARAF_HOME=$(cygpath --path --windows "${KARAF_HOME}") | |||
fi | |||
if [ ! -z "${KARAF_BASE}" ]; then | |||
KARAF_BASE=$(cygpath --path --windows "${KARAF_BASE}") | |||
fi | |||
if [ ! -z "${KARAF_DATA}" ]; then | |||
KARAF_DATA=$(cygpath --path --windows "${KARAF_DATA}") | |||
fi | |||
if [ ! -z "${KARAF_ETC}" ]; then | |||
KARAF_ETC=$(cygpath --path --windows "${KARAF_ETC}") | |||
fi | |||
if [ ! -z "${CLASSPATH}" ]; then | |||
CLASSPATH=$(cygpath --path --windows "${CLASSPATH}") | |||
fi | |||
fi | |||
} | |||
@@ -0,0 +1,143 @@ | |||
#!/bin/sh | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
realpath() { | |||
# Use in priority xpg4 awk or nawk on SunOS as standard awk is outdated | |||
AWK=awk | |||
if ${solaris}; then | |||
if [ -x /usr/xpg4/bin/awk ]; then | |||
AWK=/usr/xpg4/bin/awk | |||
elif [ -x /usr/bin/nawk ]; then | |||
AWK=/usr/bin/nawk | |||
fi | |||
fi | |||
READLINK_EXISTS=$(command -v readlink &> /dev/null) | |||
if [ -z "$READLINK_EXISTS" ]; then | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
else | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
fi | |||
} | |||
REALNAME=$(realpath "$0") | |||
DIRNAME=$(dirname "${REALNAME}") | |||
PROGNAME=$(basename "${REALNAME}") | |||
# | |||
# Load common functions | |||
# | |||
. "${DIRNAME}/inc" | |||
# | |||
# Sourcing environment settings for karaf similar to tomcats setenv | |||
# | |||
KARAF_SCRIPT="${PROGNAME}" | |||
export KARAF_SCRIPT | |||
if [ -f "${DIRNAME}/setenv" ]; then | |||
. "${DIRNAME}/setenv" | |||
fi | |||
setupClassPath() { | |||
# Setup classpath | |||
CLASSPATH="${KARAF_HOME}/system/org/apache/karaf/instance/org.apache.karaf.instance.core/4.2.1/org.apache.karaf.instance.core-4.2.1.jar" | |||
CLASSPATH="${CLASSPATH}:${KARAF_HOME}/system/org/apache/karaf/shell/org.apache.karaf.shell.core/4.2.1/org.apache.karaf.shell.core-4.2.1.jar" | |||
CLASSPATH="${CLASSPATH}:${KARAF_HOME}/system/org/ops4j/pax/logging/pax-logging-api/1.10.1/pax-logging-api-1.10.1.jar" | |||
CLASSPATH="${CLASSPATH}:${KARAF_HOME}/system/org/jline/jline/3.9.0/jline-3.9.0.jar" | |||
} | |||
init() { | |||
# Determine if there is special OS handling we must perform | |||
detectOS | |||
# Unlimit the number of file descriptors if possible | |||
unlimitFD | |||
# Locate the Karaf home directory | |||
locateHome | |||
# Locate the Karaf base directory | |||
locateBase | |||
# Locate the Karaf data directory | |||
locateData | |||
# Locate the Karaf etc directory | |||
locateEtc | |||
# Setup the native library path | |||
setupNativePath | |||
# Locate the Java VM to execute | |||
locateJava | |||
# Determine the JVM vendor | |||
detectJVM | |||
# Setup default options | |||
setupDefaults | |||
# Setup classpath | |||
setupClassPath | |||
# Install debug options | |||
setupDebugOptions | |||
} | |||
run() { | |||
convertPaths | |||
exec "${JAVA}" ${JAVA_OPTS} \ | |||
-Dkaraf.instances="${KARAF_HOME}/instances" \ | |||
-Dkaraf.home="${KARAF_HOME}" \ | |||
-Dkaraf.base="${KARAF_BASE}" \ | |||
-Dkaraf.etc="${KARAF_ETC}" \ | |||
-Djava.io.tmpdir="${KARAF_DATA}/tmp" \ | |||
-Djava.util.logging.config.file="${KARAF_BASE}/etc/java.util.logging.properties" \ | |||
${KARAF_OPTS} ${OPTS} \ | |||
-classpath "${CLASSPATH}" \ | |||
org.apache.karaf.instance.main.Execute "$@" | |||
} | |||
main() { | |||
init | |||
run "$@" | |||
} | |||
main "$@" | |||
@@ -0,0 +1,158 @@ | |||
@echo off | |||
rem | |||
rem | |||
rem Licensed to the Apache Software Foundation (ASF) under one or more | |||
rem contributor license agreements. See the NOTICE file distributed with | |||
rem this work for additional information regarding copyright ownership. | |||
rem The ASF licenses this file to You under the Apache License, Version 2.0 | |||
rem (the "License"); you may not use this file except in compliance with | |||
rem the License. You may obtain a copy of the License at | |||
rem | |||
rem http://www.apache.org/licenses/LICENSE-2.0 | |||
rem | |||
rem Unless required by applicable law or agreed to in writing, software | |||
rem distributed under the License is distributed on an "AS IS" BASIS, | |||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
rem See the License for the specific language governing permissions and | |||
rem limitations under the License. | |||
rem | |||
if not "%ECHO%" == "" echo %ECHO% | |||
setlocal | |||
set DIRNAME=%~dp0% | |||
set PROGNAME=%~nx0% | |||
set ARGS=%* | |||
rem Sourcing environment settings for karaf similar to tomcats setenv | |||
SET KARAF_SCRIPT="instance.bat" | |||
if exist "%DIRNAME%setenv.bat" ( | |||
call "%DIRNAME%setenv.bat" | |||
) | |||
rem Check console window title. Set to Karaf by default | |||
if not "%KARAF_TITLE%" == "" ( | |||
title %KARAF_TITLE% | |||
) else ( | |||
title Karaf | |||
) | |||
rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage | |||
if "%JAVA_MIN_MEM%" == "" ( | |||
set JAVA_MIN_MEM=128M | |||
) | |||
if "%JAVA_MAX_MEM%" == "" ( | |||
set JAVA_MAX_MEM=512M | |||
) | |||
goto BEGIN | |||
:warn | |||
echo %PROGNAME%: %* | |||
goto :EOF | |||
:BEGIN | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
if not "%KARAF_HOME%" == "" ( | |||
call :warn Ignoring predefined value for KARAF_HOME | |||
) | |||
set KARAF_HOME=%DIRNAME%.. | |||
if not exist "%KARAF_HOME%" ( | |||
call :warn KARAF_HOME is not valid: "%KARAF_HOME%" | |||
goto END | |||
) | |||
if not "%KARAF_BASE%" == "" ( | |||
if not exist "%KARAF_BASE%" ( | |||
call :warn KARAF_BASE is not valid: "%KARAF_BASE%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_BASE%" == "" ( | |||
set "KARAF_BASE=%KARAF_HOME%" | |||
) | |||
if not "%KARAF_DATA%" == "" ( | |||
if not exist "%KARAF_DATA%" ( | |||
call :warn KARAF_DATA is not valid: "%KARAF_DATA%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_DATA%" == "" ( | |||
set "KARAF_DATA=%KARAF_BASE%\data" | |||
) | |||
if not "%KARAF_ETC%" == "" ( | |||
if not exist "%KARAF_ETC%" ( | |||
call :warn KARAF_ETC is not valid: "%KARAF_ETC%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_ETC%" == "" ( | |||
set "KARAF_ETC=%KARAF_BASE%\etc" | |||
) | |||
set DEFAULT_JAVA_OPTS= | |||
set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 | |||
rem Support for loading native libraries | |||
set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib | |||
rem Setup the Java Virtual Machine | |||
if not "%JAVA%" == "" goto :Check_JAVA_END | |||
set JAVA=java | |||
if "%JAVA_HOME%" == "" call :warn JAVA_HOME not set; results may vary | |||
if not "%JAVA_HOME%" == "" set JAVA=%JAVA_HOME%\bin\java | |||
if not exist "%JAVA_HOME%" ( | |||
call :warn JAVA_HOME is not valid: "%JAVA_HOME%" | |||
goto END | |||
) | |||
:Check_JAVA_END | |||
if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS% | |||
if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END | |||
set JAVA_OPTS="%JAVA_OPTS% %EXTRA_JAVA_OPTS%" | |||
:KARAF_EXTRA_JAVA_OPTS_END | |||
if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END | |||
rem Use the defaults if JAVA_DEBUG_OPTS was not set | |||
if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS% | |||
set JAVA_OPTS="%JAVA_DEBUG_OPTS% %JAVA_OPTS%" | |||
call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS% | |||
:KARAF_DEBUG_END | |||
rem Setup the classpath | |||
pushd "%KARAF_HOME%\lib" | |||
for %%G in (*.jar) do call:APPEND_TO_CLASSPATH %%G | |||
popd | |||
goto CLASSPATH_END | |||
: APPEND_TO_CLASSPATH | |||
set filename=%~1 | |||
set suffix=%filename:~-4% | |||
if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\%filename% | |||
goto :EOF | |||
:CLASSPATH_END | |||
set CLASSPATH=%KARAF_HOME%\system\org\apache\karaf\instance\org.apache.karaf.instance.core\4.2.1\org.apache.karaf.instance.core-4.2.1.jar | |||
set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\apache\karaf\shell\org.apache.karaf.shell.core\4.2.1\org.apache.karaf.shell.core-4.2.1.jar | |||
set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\ops4j\pax\logging\pax-logging-api\1.10.1\pax-logging-api-1.10.1.jar | |||
set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\jline\jline\3.9.0\jline-3.9.0.jar | |||
:EXECUTE | |||
if "%SHIFT%" == "true" SET ARGS=%2 %3 %4 %5 %6 %7 %8 | |||
if not "%SHIFT%" == "true" SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8 | |||
rem Execute the Java Virtual Machine | |||
"%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" %KARAF_OPTS% org.apache.karaf.instance.main.Execute %ARGS% | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
:END | |||
endlocal | |||
@@ -0,0 +1,360 @@ | |||
#!/bin/sh | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
realpath() { | |||
# Use in priority xpg4 awk or nawk on SunOS as standard awk is outdated | |||
AWK=awk | |||
if ${solaris}; then | |||
if [ -x /usr/xpg4/bin/awk ]; then | |||
AWK=/usr/xpg4/bin/awk | |||
elif [ -x /usr/bin/nawk ]; then | |||
AWK=/usr/bin/nawk | |||
fi | |||
fi | |||
READLINK_EXISTS=$(command -v readlink &> /dev/null) | |||
if [ -z "$READLINK_EXISTS" ]; then | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
else | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
fi | |||
} | |||
REALNAME=$(realpath "$0") | |||
DIRNAME=$(dirname "${REALNAME}") | |||
PROGNAME=$(basename "${REALNAME}") | |||
LOCAL_CLASSPATH=$CLASSPATH | |||
# | |||
# Load common functions | |||
# | |||
. "${DIRNAME}/inc" | |||
# | |||
# Sourcing environment settings for karaf similar to tomcats setenv | |||
# | |||
KARAF_SCRIPT="${PROGNAME}" | |||
export KARAF_SCRIPT | |||
if [ -f "${DIRNAME}/setenv" ]; then | |||
. "${DIRNAME}/setenv" | |||
fi | |||
forceNoRoot() { | |||
# If configured, prevent execution as root | |||
if [ "${KARAF_NOROOT}" ] && [ "$(id -u)" -eq 0 ]; then | |||
die "Do not run as root!" | |||
fi | |||
} | |||
setupClassPath() { | |||
# Add the jars in the lib dir | |||
for file in "${KARAF_HOME}"/lib/boot/*.jar | |||
do | |||
if [ -z "${CLASSPATH}" ]; then | |||
CLASSPATH="${file}" | |||
else | |||
CLASSPATH="${CLASSPATH}:${file}" | |||
fi | |||
done | |||
} | |||
checkRootInstance() { | |||
ROOT_INSTANCE_RUNNING=false | |||
if [ -f "${KARAF_HOME}/instances/instance.properties" ]; | |||
then | |||
ROOT_INSTANCE_PID=$(sed -n -e '/item.0.pid/ s/.*\= *//p' "${KARAF_HOME}/instances/instance.properties") | |||
ROOT_INSTANCE_NAME=$(sed -n -e '/item.0.name/ s/.*\= *//p' "${KARAF_HOME}/instances/instance.properties") | |||
if [ "${ROOT_INSTANCE_PID}" -ne "0" ]; then | |||
if ps -p "${ROOT_INSTANCE_PID}" > /dev/null | |||
then | |||
MAIN=org.apache.karaf.main.Main | |||
PID_COMMAND=$("${PS_PREFIX}"ps -p "${ROOT_INSTANCE_PID}" -o args | sed 1d) | |||
if [ "${PID_COMMAND#*$MAIN}" != "$PID_COMMAND" ]; then | |||
ROOT_INSTANCE_RUNNING=true | |||
fi | |||
fi | |||
fi | |||
fi | |||
} | |||
init() { | |||
# Prevent root execution if configured | |||
forceNoRoot | |||
# Determine if there is special OS handling we must perform | |||
detectOS | |||
# Unlimit the number of file descriptors if possible | |||
unlimitFD | |||
# Locate the Karaf home directory | |||
locateHome | |||
# Locate the Karaf base directory | |||
locateBase | |||
# Locate the Karaf data directory | |||
locateData | |||
# Locate the Karaf etc directory | |||
locateEtc | |||
# Setup the native library path | |||
setupNativePath | |||
# Locate the Java VM to execute | |||
locateJava | |||
# Determine the JVM vendor | |||
detectJVM | |||
# Determine the JVM version >= 1.6 | |||
checkJvmVersion | |||
# Check if a root instance is already running | |||
checkRootInstance | |||
# Setup default options | |||
setupDefaults | |||
# Setup classpath | |||
setupClassPath | |||
# Install debug options | |||
setupDebugOptions | |||
} | |||
run() { | |||
OPTS="-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true" | |||
MAIN=org.apache.karaf.main.Main | |||
if [ "x$CHECK_ROOT_INSTANCE_RUNNING" = "x" ]; then | |||
CHECK_ROOT_INSTANCE_RUNNING=true | |||
fi | |||
JAVA_ENDORSED_DIRS="${JAVA_HOME}/jre/lib/endorsed:${JAVA_HOME}/lib/endorsed:${KARAF_HOME}/lib/endorsed" | |||
JAVA_EXT_DIRS="${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:${KARAF_HOME}/lib/ext" | |||
if ${cygwin}; then | |||
JAVA_HOME=$(cygpath --path --windows "${JAVA_HOME}") | |||
JAVA_ENDORSED_DIRS=$(cygpath --path --windows "${JAVA_ENDORSED_DIRS}") | |||
JAVA_EXT_DIRS=$(cygpath --path --windows "${JAVA_EXT_DIRS}") | |||
fi | |||
convertPaths | |||
cd "${KARAF_BASE}" || exit 2 | |||
if [ -z "${KARAF_EXEC}" ]; then | |||
KARAF_EXEC="" | |||
fi | |||
debug=false | |||
debugs=false | |||
nodebug=false | |||
while [ "${1}" != "" ]; do | |||
case "${1}" in | |||
'clean') | |||
rm -rf "${KARAF_DATA:?}" | |||
shift | |||
;; | |||
'debug') | |||
debug=true | |||
shift | |||
;; | |||
'debugs') | |||
debug=true | |||
debugs=true | |||
shift | |||
;; | |||
'status') | |||
MAIN=org.apache.karaf.main.Status | |||
CHECK_ROOT_INSTANCE_RUNNING=false | |||
nodebug=true | |||
shift | |||
;; | |||
'stop') | |||
MAIN=org.apache.karaf.main.Stop | |||
CHECK_ROOT_INSTANCE_RUNNING=false | |||
nodebug=true | |||
shift | |||
;; | |||
'console') | |||
CHECK_ROOT_INSTANCE_RUNNING=false | |||
shift | |||
;; | |||
'server') | |||
OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true" | |||
shift | |||
;; | |||
'run') | |||
OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -Dkaraf.log.console=ALL" | |||
shift | |||
;; | |||
'daemon') | |||
OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true" | |||
KARAF_DAEMON="true" | |||
KARAF_EXEC="exec" | |||
shift | |||
;; | |||
'client') | |||
OPTS="-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false" | |||
CHECK_ROOT_INSTANCE_RUNNING=false | |||
nodebug=true | |||
shift | |||
;; | |||
'classpath') | |||
echo "Classpath: ${CLASSPATH}" | |||
shift | |||
;; | |||
*) | |||
break | |||
;; | |||
esac | |||
done | |||
if ${nodebug}; then | |||
debug=false | |||
fi | |||
if ${debug}; then | |||
if [ "x${JAVA_DEBUG_OPTS}" = "x" ]; then | |||
if ${debugs}; then | |||
JAVA_DEBUG_OPTS="${DEFAULT_JAVA_DEBUGS_OPTS}" | |||
else | |||
JAVA_DEBUG_OPTS="${DEFAULT_JAVA_DEBUG_OPTS}" | |||
fi | |||
fi | |||
JAVA_OPTS="${JAVA_DEBUG_OPTS} ${JAVA_OPTS}" | |||
fi | |||
while true; do | |||
# When users want to update the lib version of, they just need to create | |||
# a lib.next directory and on the new restart, it will replace the current lib directory. | |||
if [ -d "${KARAF_HOME:?}/lib.next" ] ; then | |||
echo "Updating libs..." | |||
rm -rf "${KARAF_HOME:?}/lib" | |||
mv -f "${KARAF_HOME:?}/lib.next" "${KARAF_HOME}/lib" | |||
echo "Updating classpath..." | |||
CLASSPATH=$LOCAL_CLASSPATH | |||
setupClassPath | |||
fi | |||
# Ensure the log directory exists | |||
# We may need to have a place to redirect stdout/stderr | |||
if [ ! -d "${KARAF_DATA}/log" ]; then | |||
mkdir -p "${KARAF_DATA}/log" | |||
fi | |||
if [ ! -d "${KARAF_DATA}/tmp" ]; then | |||
mkdir -p "${KARAF_DATA}/tmp" | |||
fi | |||
if [ "${ROOT_INSTANCE_RUNNING}" = "false" ] || [ "${CHECK_ROOT_INSTANCE_RUNNING}" = "false" ] ; then | |||
if [ "${VERSION}" -gt "8" ]; then | |||
${KARAF_EXEC} "${JAVA}" ${JAVA_OPTS} \ | |||
--add-reads=java.xml=java.logging \ | |||
--patch-module java.base=lib/endorsed/org.apache.karaf.specs.locator-4.2.1.jar \ | |||
--patch-module java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-4.2.1.jar \ | |||
--add-opens java.base/java.security=ALL-UNNAMED \ | |||
--add-opens java.base/java.net=ALL-UNNAMED \ | |||
--add-opens java.base/java.lang=ALL-UNNAMED \ | |||
--add-opens java.base/java.util=ALL-UNNAMED \ | |||
--add-opens java.naming/javax.naming.spi=ALL-UNNAMED \ | |||
--add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED \ | |||
--add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED \ | |||
--add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED \ | |||
--add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED \ | |||
--add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED \ | |||
--add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED \ | |||
-Dkaraf.instances="${KARAF_HOME}/instances" \ | |||
-Dkaraf.home="${KARAF_HOME}" \ | |||
-Dkaraf.base="${KARAF_BASE}" \ | |||
-Dkaraf.data="${KARAF_DATA}" \ | |||
-Dkaraf.etc="${KARAF_ETC}" \ | |||
-Dkaraf.restart.jvm.supported=true \ | |||
-Djava.io.tmpdir="${KARAF_DATA}/tmp" \ | |||
-Djava.util.logging.config.file="${KARAF_BASE}/etc/java.util.logging.properties" \ | |||
${KARAF_SYSTEM_OPTS} \ | |||
${KARAF_OPTS} \ | |||
${OPTS} \ | |||
-classpath "${CLASSPATH}" \ | |||
${MAIN} "$@" | |||
else | |||
${KARAF_EXEC} "${JAVA}" ${JAVA_OPTS} \ | |||
-Djava.endorsed.dirs="${JAVA_ENDORSED_DIRS}" \ | |||
-Djava.ext.dirs="${JAVA_EXT_DIRS}" \ | |||
-Dkaraf.instances="${KARAF_HOME}/instances" \ | |||
-Dkaraf.home="${KARAF_HOME}" \ | |||
-Dkaraf.base="${KARAF_BASE}" \ | |||
-Dkaraf.data="${KARAF_DATA}" \ | |||
-Dkaraf.etc="${KARAF_ETC}" \ | |||
-Dkaraf.restart.jvm.supported=true \ | |||
-Djava.io.tmpdir="${KARAF_DATA}/tmp" \ | |||
-Djava.util.logging.config.file="${KARAF_BASE}/etc/java.util.logging.properties" \ | |||
${KARAF_SYSTEM_OPTS} \ | |||
${KARAF_OPTS} \ | |||
${OPTS} \ | |||
-classpath "${CLASSPATH}" \ | |||
${MAIN} "$@" | |||
fi | |||
else | |||
die "There is a Root instance already running with name ${ROOT_INSTANCE_NAME} and pid ${ROOT_INSTANCE_PID}. If you know what you are doing and want to force the run anyway, export CHECK_ROOT_INSTANCE_RUNNING=false and re run the command." | |||
fi | |||
KARAF_RC=$? | |||
if [ ${KARAF_DAEMON} ] ; then | |||
exit ${KARAF_RC} | |||
else | |||
if [ "${KARAF_RC}" -eq 10 ]; then | |||
echo "Restarting JVM..." | |||
else | |||
exit ${KARAF_RC} | |||
fi | |||
fi | |||
done | |||
} | |||
nothing() { | |||
# nothing to do here | |||
a=a | |||
} | |||
main() { | |||
init | |||
trap 'nothing' TSTP | |||
run "$@" | |||
} | |||
main "$@" |
@@ -0,0 +1,480 @@ | |||
@echo off | |||
rem | |||
rem | |||
rem Licensed to the Apache Software Foundation (ASF) under one or more | |||
rem contributor license agreements. See the NOTICE file distributed with | |||
rem this work for additional information regarding copyright ownership. | |||
rem The ASF licenses this file to You under the Apache License, Version 2.0 | |||
rem (the "License"); you may not use this file except in compliance with | |||
rem the License. You may obtain a copy of the License at | |||
rem | |||
rem http://www.apache.org/licenses/LICENSE-2.0 | |||
rem | |||
rem Unless required by applicable law or agreed to in writing, software | |||
rem distributed under the License is distributed on an "AS IS" BASIS, | |||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
rem See the License for the specific language governing permissions and | |||
rem limitations under the License. | |||
rem | |||
if not "%ECHO%" == "" echo %ECHO% | |||
setlocal | |||
set DIRNAME=%~dp0% | |||
set PROGNAME=%~nx0% | |||
set ARGS=%* | |||
rem Sourcing environment settings for karaf similar to tomcats setenv | |||
SET KARAF_SCRIPT="karaf.bat" | |||
if exist "%DIRNAME%setenv.bat" ( | |||
call "%DIRNAME%setenv.bat" | |||
) | |||
rem Check console window title. Set to Karaf by default | |||
if not "%KARAF_TITLE%" == "" ( | |||
title %KARAF_TITLE% | |||
) else ( | |||
title Karaf | |||
) | |||
rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage | |||
if "%JAVA_MIN_MEM%" == "" ( | |||
set JAVA_MIN_MEM=128M | |||
) | |||
if "%JAVA_MAX_MEM%" == "" ( | |||
set JAVA_MAX_MEM=512M | |||
) | |||
goto BEGIN | |||
:warn | |||
echo %PROGNAME%: %* | |||
goto :EOF | |||
:BEGIN | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
if not "%KARAF_HOME%" == "" ( | |||
call :warn Ignoring predefined value for KARAF_HOME | |||
) | |||
set KARAF_HOME=%DIRNAME%.. | |||
if not exist "%KARAF_HOME%" ( | |||
call :warn KARAF_HOME is not valid: "%KARAF_HOME%" | |||
goto END | |||
) | |||
if not "%KARAF_BASE%" == "" ( | |||
if not exist "%KARAF_BASE%" ( | |||
call :warn KARAF_BASE is not valid: "%KARAF_BASE%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_BASE%" == "" ( | |||
set "KARAF_BASE=%KARAF_HOME%" | |||
) | |||
if not "%KARAF_DATA%" == "" ( | |||
if not exist "%KARAF_DATA%" ( | |||
call :warn KARAF_DATA is not valid: "%KARAF_DATA%" | |||
call :warn Creating "%KARAF_DATA%" | |||
mkdir "%KARAF_DATA%" | |||
) | |||
) | |||
if "%KARAF_DATA%" == "" ( | |||
set "KARAF_DATA=%KARAF_BASE%\data" | |||
) | |||
if not "%KARAF_ETC%" == "" ( | |||
if not exist "%KARAF_ETC%" ( | |||
call :warn KARAF_ETC is not valid: "%KARAF_ETC%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_ETC%" == "" ( | |||
set "KARAF_ETC=%KARAF_BASE%\etc" | |||
) | |||
set LOCAL_CLASSPATH=%CLASSPATH% | |||
set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf | |||
set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 | |||
set DEFAULT_JAVA_DEBUGS_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 | |||
if "%LOCAL_CLASSPATH%" == "" goto :KARAF_CLASSPATH_EMPTY | |||
set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf | |||
goto :KARAF_CLASSPATH_END | |||
:KARAF_CLASSPATH_EMPTY | |||
set CLASSPATH=%KARAF_BASE%\conf | |||
:KARAF_CLASSPATH_END | |||
set CLASSPATH_INITIAL=%CLASSPATH% | |||
rem Setup Karaf Home | |||
if exist "%KARAF_HOME%\conf\karaf-rc.cmd" call %KARAF_HOME%\conf\karaf-rc.cmd | |||
if exist "%HOME%\karaf-rc.cmd" call %HOME%\karaf-rc.cmd | |||
rem Support for loading native libraries | |||
set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib | |||
rem Setup the Java Virtual Machine | |||
if not "%JAVA%" == "" goto :Check_JAVA_END | |||
if not "%JAVA_HOME%" == "" goto :TryJDKEnd | |||
call :warn JAVA_HOME not set; results may vary | |||
:TryJRE | |||
start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" | |||
if not exist __reg1.txt goto :TryJDK | |||
type __reg1.txt | find "CurrentVersion" > __reg2.txt | |||
if errorlevel 1 goto :TryJDK | |||
for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x | |||
if errorlevel 1 goto :TryJDK | |||
set JavaTemp=%JavaTemp%## | |||
set JavaTemp=%JavaTemp: ##=##% | |||
set JavaTemp=%JavaTemp: ##=##% | |||
set JavaTemp=%JavaTemp: ##=##% | |||
set JavaTemp=%JavaTemp: ##=##% | |||
set JavaTemp=%JavaTemp: ##=##% | |||
set JavaTemp=%JavaTemp:##=% | |||
del __reg1.txt | |||
del __reg2.txt | |||
start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\%JavaTemp%" | |||
if not exist __reg1.txt goto :TryJDK | |||
type __reg1.txt | find "JavaHome" > __reg2.txt | |||
if errorlevel 1 goto :TryJDK | |||
for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x | |||
if errorlevel 1 goto :TryJDK | |||
del __reg1.txt | |||
del __reg2.txt | |||
goto TryJDKEnd | |||
:TryJDK | |||
start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit" | |||
if not exist __reg1.txt ( | |||
goto TryRegJRE | |||
) | |||
type __reg1.txt | find "CurrentVersion" > __reg2.txt | |||
if errorlevel 1 ( | |||
goto TryRegJRE | |||
) | |||
for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x | |||
if errorlevel 1 ( | |||
goto TryRegJRE | |||
) | |||
set JavaTemp=%JavaTemp%## | |||
set JavaTemp=%JavaTemp: ##=##% | |||
set JavaTemp=%JavaTemp: ##=##% | |||
set JavaTemp=%JavaTemp: ##=##% | |||
set JavaTemp=%JavaTemp: ##=##% | |||
set JavaTemp=%JavaTemp: ##=##% | |||
set JavaTemp=%JavaTemp:##=% | |||
del __reg1.txt | |||
del __reg2.txt | |||
start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\%JavaTemp%" | |||
if not exist __reg1.txt ( | |||
goto TryRegJRE | |||
) | |||
type __reg1.txt | find "JavaHome" > __reg2.txt | |||
if errorlevel 1 ( | |||
goto TryRegJRE | |||
) | |||
for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x | |||
if errorlevel 1 ( | |||
goto TryRegJRE | |||
) | |||
del __reg1.txt | |||
del __reg2.txt | |||
:TryRegJRE | |||
rem try getting the JAVA_HOME from registry | |||
FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion`) DO ( | |||
set JAVA_VERSION=%%A | |||
) | |||
FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%JAVA_VERSION%" /v JavaHome`) DO ( | |||
set JAVA_HOME=%%A %%B | |||
) | |||
if not exist "%JAVA_HOME%" ( | |||
goto TryRegJDK | |||
) | |||
goto TryJDKEnd | |||
:TryRegJDK | |||
rem try getting the JAVA_HOME from registry | |||
FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit" /v CurrentVersion`) DO ( | |||
set JAVA_VERSION=%%A | |||
) | |||
FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit\%JAVA_VERSION%" /v JavaHome`) DO ( | |||
set JAVA_HOME=%%A %%B | |||
) | |||
if not exist "%JAVA_HOME%" ( | |||
call :warn Unable to retrieve JAVA_HOME from Registry | |||
) | |||
goto TryJDKEnd | |||
:TryJDKEnd | |||
if not exist "%JAVA_HOME%" ( | |||
call :warn JAVA_HOME is not valid: "%JAVA_HOME%" | |||
goto END | |||
) | |||
set JAVA=%JAVA_HOME%\bin\java | |||
:Check_JAVA_END | |||
rem Retrieve java version | |||
for /f tokens^=2-5^ delims^=.-_+^" %%j in ('"%JAVA%" -fullversion 2^>^&1') do ( | |||
if %%j==1 (set JAVA_VERSION=%%k) else (set JAVA_VERSION=%%j) | |||
) | |||
:CheckRootInstance | |||
set ROOT_INSTANCE_RUNNING=false | |||
if exist "%KARAF_HOME%\instances\instance.properties" ( | |||
for /f "delims=" %%x in ( 'findstr "item.0.pid" "%KARAF_HOME%\instances\instance.properties" ' ) do @set pid=%%x | |||
for /f "delims=" %%i in ( 'findstr "item.0.name" "%KARAF_HOME%\instances\instance.properties" ' ) do @set name=%%i | |||
) | |||
set ROOT_INSTANCE_PID=%pid:~13% | |||
set ROOT_INSTANCE_NAME=%name:~14% | |||
SET CHECK_RUNNING_CONDITION=true | |||
if "%ROOT_INSTANCE_PID%" == "~13" SET CHECK_RUNNING_CONDITION=false | |||
if "%ROOT_INSTANCE_PID%" == "0" SET CHECK_RUNNING_CONDITION=false | |||
if "%CHECK_RUNNING_CONDITION%" == "true" ( | |||
tasklist /FI "PID eq %ROOT_INSTANCE_PID%" 2>NUL | find /I /N "java.exe" > NUL | |||
if not errorlevel 1 set ROOT_INSTANCE_RUNNING=true | |||
) | |||
if not exist "%JAVA_HOME%\bin\server\jvm.dll" ( | |||
if not exist "%JAVA_HOME%\jre\bin\server\jvm.dll" ( | |||
echo WARNING: Running Karaf on a Java HotSpot Client VM because server-mode is not available. | |||
echo Install Java Developer Kit to fix this. | |||
echo For more details see http://java.sun.com/products/hotspot/whitepaper.html#client | |||
) | |||
) | |||
set DEFAULT_JAVA_OPTS=-Xms%JAVA_MIN_MEM% -Xmx%JAVA_MAX_MEM% -Dcom.sun.management.jmxremote -XX:+UnlockDiagnosticVMOptions | |||
rem Check some easily accessible MIN/MAX params for JVM mem usage | |||
if not "%JAVA_PERM_MEM%" == "" ( | |||
set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:PermSize=%JAVA_PERM_MEM% | |||
) | |||
if not "%JAVA_MAX_PERM_MEM%" == "" ( | |||
set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:MaxPermSize=%JAVA_MAX_PERM_MEM% | |||
) | |||
if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS% | |||
if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END | |||
set JAVA_OPTS=%JAVA_OPTS% %EXTRA_JAVA_OPTS% | |||
:KARAF_EXTRA_JAVA_OPTS_END | |||
if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END | |||
if "%1" == "stop" goto :KARAF_DEBUG_END | |||
if "%1" == "client" goto :KARAF_DEBUG_END | |||
if "%1" == "status" goto :KARAF_DEBUG_END | |||
rem Use the defaults if JAVA_DEBUG_OPTS was not set | |||
if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS% | |||
set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS% | |||
call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS% | |||
:KARAF_DEBUG_END | |||
if "%KARAF_PROFILER%" == "" goto :KARAF_PROFILER_END | |||
set KARAF_PROFILER_SCRIPT=%KARAF_HOME%\conf\profiler\%KARAF_PROFILER%.cmd | |||
if exist "%KARAF_PROFILER_SCRIPT%" goto :KARAF_PROFILER_END | |||
call :warn Missing configuration for profiler '%KARAF_PROFILER%': %KARAF_PROFILER_SCRIPT% | |||
goto END | |||
:KARAF_PROFILER_END | |||
rem Setup the classpath | |||
pushd "%KARAF_HOME%\lib\boot" | |||
for %%G in (*.jar) do call:APPEND_TO_CLASSPATH %%G | |||
popd | |||
goto CLASSPATH_END | |||
: APPEND_TO_CLASSPATH | |||
set filename=%~1 | |||
set suffix=%filename:~-4% | |||
if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\boot\%filename% | |||
goto :EOF | |||
:CLASSPATH_END | |||
if "%CHECK_ROOT_INSTANCE_RUNNING%" == "" ( | |||
SET CHECK_ROOT_INSTANCE_RUNNING=true | |||
) | |||
rem Execute the JVM or the load the profiler | |||
if "%KARAF_PROFILER%" == "" goto :RUN | |||
rem Execute the profiler if it has been configured | |||
call :warn Loading profiler script: %KARAF_PROFILER_SCRIPT% | |||
call %KARAF_PROFILER_SCRIPT% | |||
:RUN | |||
SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true | |||
SET MAIN=org.apache.karaf.main.Main | |||
SET SHIFT=false | |||
:RUN_LOOP | |||
if "%1" == "stop" goto :EXECUTE_STOP | |||
if "%1" == "status" goto :EXECUTE_STATUS | |||
if "%1" == "console" goto :EXECUTE_CONSOLE | |||
if "%1" == "server" goto :EXECUTE_SERVER | |||
if "%1" == "run" goto :EXECUTE_RUN | |||
if "%1" == "daemon" goto :EXECUTE_DAEMON | |||
if "%1" == "client" goto :EXECUTE_CLIENT | |||
if "%1" == "clean" goto :EXECUTE_CLEAN | |||
if "%1" == "debug" goto :EXECUTE_DEBUG | |||
if "%1" == "debugs" goto :EXECUTE_DEBUGS | |||
goto :EXECUTE | |||
:EXECUTE_STOP | |||
SET MAIN=org.apache.karaf.main.Stop | |||
SET CHECK_ROOT_INSTANCE_RUNNING=false | |||
shift | |||
goto :RUN_LOOP | |||
:EXECUTE_STATUS | |||
SET MAIN=org.apache.karaf.main.Status | |||
SET CHECK_ROOT_INSTANCE_RUNNING=false | |||
shift | |||
goto :RUN_LOOP | |||
:EXECUTE_CONSOLE | |||
SET CHECK_ROOT_INSTANCE_RUNNING=false | |||
shift | |||
goto :RUN_LOOP | |||
:EXECUTE_SERVER | |||
SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true | |||
shift | |||
goto :RUN_LOOP | |||
:EXECUTE_RUN | |||
SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -Dkaraf.log.console=ALL | |||
shift | |||
goto :RUN_LOOP | |||
:EXECUTE_DAEMON | |||
SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true | |||
SET KARAF_DAEMON=true | |||
shift | |||
goto :RUN_LOOP | |||
:EXECUTE_CLIENT | |||
SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false | |||
SET CHECK_ROOT_INSTANCE_RUNNING=false | |||
shift | |||
goto :RUN_LOOP | |||
:EXECUTE_CLEAN | |||
pushd "%KARAF_DATA%" && (rmdir /S /Q "%KARAF_DATA%" 2>nul & popd) | |||
shift | |||
goto :RUN_LOOP | |||
:EXECUTE_DEBUG | |||
if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS% | |||
set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS% | |||
shift | |||
goto :RUN_LOOP | |||
:EXECUTE_DEBUGS | |||
if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUGS_OPTS% | |||
set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS% | |||
shift | |||
goto :RUN_LOOP | |||
:EXECUTE | |||
SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8 | |||
rem Execute the Java Virtual Machine | |||
cd "%KARAF_BASE%" | |||
rem When users want to update the lib version of, they just need to create | |||
rem a lib.next directory and on the new restart, it will replace the current lib directory. | |||
if exist "%KARAF_HOME%\lib.next" ( | |||
echo Updating libs... | |||
RD /S /Q "%KARAF_HOME%\lib" | |||
MOVE /Y "%KARAF_HOME%\lib.next" "%KARAF_HOME%\lib" | |||
echo "Updating classpath..." | |||
set CLASSPATH=%CLASSPATH_INITIAL% | |||
pushd "%KARAF_HOME%\lib\boot" | |||
for %%G in (*.jar) do call:APPEND_TO_CLASSPATH %%G | |||
popd | |||
) | |||
SET IS_RUNNABLE=false | |||
if "%ROOT_INSTANCE_RUNNING%" == "false" SET IS_RUNNABLE=true | |||
if "%CHECK_ROOT_INSTANCE_RUNNING%" == "false" SET IS_RUNNABLE=true | |||
if "%IS_RUNNABLE%" == "true" ( | |||
rem If major version is greater than 1 (meaning Java 9 or 10), we don't use endorsed lib but module | |||
rem If major version is 1 (meaning Java 1.6, 1.7, 1.8), we use endorsed lib | |||
if %JAVA_VERSION% GTR 8 ( | |||
"%JAVA%" %JAVA_OPTS% %OPTS% ^ | |||
--add-reads=java.xml=java.logging ^ | |||
--patch-module java.base=lib/endorsed/org.apache.karaf.specs.locator-4.2.1.jar ^ | |||
--patch-module java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-4.2.1.jar ^ | |||
--add-opens java.base/java.security=ALL-UNNAMED ^ | |||
--add-opens java.base/java.net=ALL-UNNAMED ^ | |||
--add-opens java.base/java.lang=ALL-UNNAMED ^ | |||
--add-opens java.base/java.util=ALL-UNNAMED ^ | |||
--add-opens java.naming/javax.naming.spi=ALL-UNNAMED ^ | |||
--add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED ^ | |||
--add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED ^ | |||
--add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED ^ | |||
--add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED ^ | |||
--add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED ^ | |||
--add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED ^ | |||
-classpath "%CLASSPATH%" ^ | |||
-Dkaraf.instances="%KARAF_HOME%\instances" ^ | |||
-Dkaraf.home="%KARAF_HOME%" ^ | |||
-Dkaraf.base="%KARAF_BASE%" ^ | |||
-Dkaraf.etc="%KARAF_ETC%" ^ | |||
-Dkaraf.restart.jvm.supported=true ^ | |||
-Djava.io.tmpdir="%KARAF_DATA%\tmp" ^ | |||
-Dkaraf.data="%KARAF_DATA%" ^ | |||
-Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" ^ | |||
%KARAF_SYSTEM_OPTS% %KARAF_OPTS% %MAIN% %ARGS% | |||
) else ( | |||
"%JAVA%" %JAVA_OPTS% %OPTS% ^ | |||
-classpath "%CLASSPATH%" ^ | |||
-Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed" ^ | |||
-Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext" ^ | |||
-Dkaraf.instances="%KARAF_HOME%\instances" ^ | |||
-Dkaraf.home="%KARAF_HOME%" ^ | |||
-Dkaraf.base="%KARAF_BASE%" ^ | |||
-Dkaraf.etc="%KARAF_ETC%" ^ | |||
-Dkaraf.restart.jvm.supported=true ^ | |||
-Djava.io.tmpdir="%KARAF_DATA%\tmp" ^ | |||
-Dkaraf.data="%KARAF_DATA%" ^ | |||
-Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" ^ | |||
%KARAF_SYSTEM_OPTS% %KARAF_OPTS% %MAIN% %ARGS% | |||
) | |||
) else ( | |||
echo There is a Root instance already running with name %ROOT_INSTANCE_NAME% and pid %ROOT_INSTANCE_PID%. If you know what you are doing and want to force the run anyway, SET CHECK_ROOT_INSTANCE_RUNNING=false and re run the command. | |||
goto :END | |||
) | |||
rem If KARAF_DAEMON is defined, auto-restart is bypassed and control given | |||
rem back to the operating system | |||
if defined "%KARAF_DAEMON%" ( | |||
rem If Karaf has been started by winsw, the process can be restarted | |||
rem by executing KARAF_DAEMON% restart! | |||
rem https://github.com/kohsuke/winsw#restarting-service-from-itself | |||
if defined "%WINSW_EXECUTABLE%" ( | |||
if ERRORLEVEL 10 ( | |||
echo Restarting ... | |||
%KARAF_DAEMON% restart! | |||
) | |||
) | |||
) else ( | |||
if ERRORLEVEL 10 ( | |||
echo Restarting JVM... | |||
goto EXECUTE | |||
) | |||
) | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
:END | |||
endlocal | |||
if not "%PAUSE%" == "" pause | |||
:END_NO_PAUSE | |||
EXIT /B %ERRORLEVEL% |
@@ -0,0 +1,52 @@ | |||
#!/bin/sh | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
# | |||
# handle specific scripts; the SCRIPT_NAME is exactly the name of the Karaf | |||
# script: client, instance, shell, start, status, stop, karaf | |||
# | |||
# if [ "${KARAF_SCRIPT}" == "SCRIPT_NAME" ]; then | |||
# Actions go here... | |||
# fi | |||
# | |||
# general settings which should be applied for all scripts go here; please keep | |||
# in mind that it is possible that scripts might be executed more than once, e.g. | |||
# in example of the start script where the start script is executed first and the | |||
# karaf script afterwards. | |||
# | |||
# | |||
# The following section shows the possible configuration options for the default | |||
# karaf scripts | |||
# | |||
# export JAVA_HOME # Location of Java installation | |||
# export JAVA_MIN_MEM # Minimum memory for the JVM | |||
# export JAVA_MAX_MEM # Maximum memory for the JVM | |||
# export JAVA_PERM_MEM # Minimum perm memory for the JVM | |||
# export JAVA_MAX_PERM_MEM # Maximum perm memory for the JVM | |||
# export EXTRA_JAVA_OPTS # Additional JVM options | |||
# export KARAF_HOME # Karaf home folder | |||
# export KARAF_DATA # Karaf data folder | |||
# export KARAF_BASE # Karaf base folder | |||
# export KARAF_ETC # Karaf etc folder | |||
# export KARAF_SYSTEM_OPTS # First citizen Karaf options | |||
# export KARAF_OPTS # Additional available Karaf options | |||
# export KARAF_DEBUG # Enable debug mode | |||
# export KARAF_REDIRECT # Enable/set the std/err redirection when using bin/start | |||
# export KARAF_NOROOT # Prevent execution as root if set to true |
@@ -0,0 +1,67 @@ | |||
@echo off | |||
rem | |||
rem | |||
rem Licensed to the Apache Software Foundation (ASF) under one or more | |||
rem contributor license agreements. See the NOTICE file distributed with | |||
rem this work for additional information regarding copyright ownership. | |||
rem The ASF licenses this file to You under the Apache License, Version 2.0 | |||
rem (the "License"); you may not use this file except in compliance with | |||
rem the License. You may obtain a copy of the License at | |||
rem | |||
rem http://www.apache.org/licenses/LICENSE-2.0 | |||
rem | |||
rem Unless required by applicable law or agreed to in writing, software | |||
rem distributed under the License is distributed on an "AS IS" BASIS, | |||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
rem See the License for the specific language governing permissions and | |||
rem limitations under the License. | |||
rem | |||
rem | |||
rem handle specific scripts; the SCRIPT_NAME is exactly the name of the Karaf | |||
rem script; for example karaf.bat, start.bat, stop.bat, admin.bat, client.bat, ... | |||
rem | |||
rem if "%KARAF_SCRIPT%" == "SCRIPT_NAME" ( | |||
rem Actions go here... | |||
rem ) | |||
rem | |||
rem general settings which should be applied for all scripts go here; please keep | |||
rem in mind that it is possible that scripts might be executed more than once, e.g. | |||
rem in example of the start script where the start script is executed first and the | |||
rem karaf script afterwards. | |||
rem | |||
rem | |||
rem The following section shows the possible configuration options for the default | |||
rem karaf scripts | |||
rem | |||
rem Window name of the windows console | |||
rem SET KARAF_TITLE | |||
rem Location of Java installation | |||
rem SET JAVA_HOME | |||
rem Minimum memory for the JVM | |||
rem SET JAVA_MIN_MEM | |||
rem Maximum memory for the JVM | |||
rem SET JAVA_MAX_MEM | |||
rem Minimum perm memory for the JVM | |||
rem SET JAVA_PERM_MEM | |||
rem Maximum perm memory for the JVM | |||
rem SET JAVA_MAX_PERM_MEM | |||
rem Additional JVM options | |||
rem SET EXTRA_JAVA_OPTS | |||
rem Karaf home folder | |||
rem SET KARAF_HOME | |||
rem Karaf data folder | |||
rem SET KARAF_DATA | |||
rem Karaf base folder | |||
rem SET KARAF_BASE | |||
rem Karaf etc folder | |||
rem SET KARAF_ETC | |||
rem First citizen Karaf options | |||
rem SET KARAF_SYSTEM_OPTS | |||
rem Additional available Karaf options | |||
rem SET KARAF_OPTS | |||
rem Enable debug mode | |||
rem SET KARAF_DEBUG | |||
@@ -0,0 +1,143 @@ | |||
#!/bin/sh | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
realpath() { | |||
# Use in priority xpg4 awk or nawk on SunOS as standard awk is outdated | |||
AWK=awk | |||
if ${solaris}; then | |||
if [ -x /usr/xpg4/bin/awk ]; then | |||
AWK=/usr/xpg4/bin/awk | |||
elif [ -x /usr/bin/nawk ]; then | |||
AWK=/usr/bin/nawk | |||
fi | |||
fi | |||
READLINK_EXISTS=$(command -v readlink &> /dev/null) | |||
if [ -z "$READLINK_EXISTS" ]; then | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
else | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
fi | |||
} | |||
REALNAME=$(realpath "$0") | |||
DIRNAME=$(dirname "${REALNAME}") | |||
PROGNAME=$(basename "${REALNAME}") | |||
# | |||
# Load common functions | |||
# | |||
. "${DIRNAME}/inc" | |||
# | |||
# Sourcing environment settings for karaf similar to tomcats setenv | |||
# | |||
KARAF_SCRIPT="${PROGNAME}" | |||
export KARAF_SCRIPT | |||
if [ -f "${DIRNAME}/setenv" ]; then | |||
. "${DIRNAME}/setenv" | |||
fi | |||
setupClassPath() { | |||
# Setup classpath | |||
CLASSPATH="${KARAF_HOME}/system/org/apache/karaf/shell/org.apache.karaf.shell.core/4.2.1/org.apache.karaf.shell.core-4.2.1.jar" | |||
CLASSPATH="${CLASSPATH}:${KARAF_HOME}/system/org/ops4j/pax/logging/pax-logging-api/1.10.1/pax-logging-api-1.10.1.jar" | |||
CLASSPATH="${CLASSPATH}:${KARAF_HOME}/system/org/jline/jline/3.9.0/jline-3.9.0.jar" | |||
} | |||
init() { | |||
# Determine if there is special OS handling we must perform | |||
detectOS | |||
# Unlimit the number of file descriptors if possible | |||
unlimitFD | |||
# Locate the Karaf home directory | |||
locateHome | |||
# Locate the Karaf base directory | |||
locateBase | |||
# Locate the Karaf data directory | |||
locateData | |||
# Locate the Karaf etc directory | |||
locateEtc | |||
# Setup the native library path | |||
setupNativePath | |||
# Locate the Java VM to execute | |||
locateJava | |||
# Determine the JVM vendor | |||
detectJVM | |||
# Setup default options | |||
setupDefaults | |||
# Setup classpath | |||
setupClassPath | |||
# Install debug options | |||
setupDebugOptions | |||
} | |||
run() { | |||
convertPaths | |||
exec "${JAVA}" ${JAVA_OPTS} \ | |||
-Dkaraf.instances="${KARAF_HOME}/instances" \ | |||
-Dkaraf.home="${KARAF_HOME}" \ | |||
-Dkaraf.base="${KARAF_BASE}" \ | |||
-Dkaraf.etc="${KARAF_ETC}" \ | |||
-Dkaraf.data="${KARAF_DATA}" \ | |||
-Djava.io.tmpdir="${KARAF_DATA}/tmp" \ | |||
-Djava.util.logging.config.file="${KARAF_BASE}/etc/java.util.logging.properties" \ | |||
${KARAF_OPTS} \ | |||
${OPTS} \ | |||
-classpath "${CLASSPATH}" \ | |||
org.apache.karaf.shell.impl.console.standalone.Main --classpath="$KARAF_HOME/system" "$@" | |||
} | |||
main() { | |||
init | |||
run "$@" | |||
} | |||
main "$@" | |||
@@ -0,0 +1,143 @@ | |||
@echo off | |||
rem | |||
rem | |||
rem Licensed to the Apache Software Foundation (ASF) under one or more | |||
rem contributor license agreements. See the NOTICE file distributed with | |||
rem this work for additional information regarding copyright ownership. | |||
rem The ASF licenses this file to You under the Apache License, Version 2.0 | |||
rem (the "License"); you may not use this file except in compliance with | |||
rem the License. You may obtain a copy of the License at | |||
rem | |||
rem http://www.apache.org/licenses/LICENSE-2.0 | |||
rem | |||
rem Unless required by applicable law or agreed to in writing, software | |||
rem distributed under the License is distributed on an "AS IS" BASIS, | |||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
rem See the License for the specific language governing permissions and | |||
rem limitations under the License. | |||
rem | |||
if not "%ECHO%" == "" echo %ECHO% | |||
setlocal | |||
set DIRNAME=%~dp0% | |||
set PROGNAME=%~nx0% | |||
set ARGS=%* | |||
rem Sourcing environment settings for karaf similar to tomcats setenv | |||
SET KARAF_SCRIPT="shell.bat" | |||
if exist "%DIRNAME%setenv.bat" ( | |||
call "%DIRNAME%setenv.bat" | |||
) | |||
rem Check console window title. Set to Karaf by default | |||
if not "%KARAF_TITLE%" == "" ( | |||
title %KARAF_TITLE% | |||
) else ( | |||
title Karaf | |||
) | |||
rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage | |||
if "%JAVA_MIN_MEM%" == "" ( | |||
set JAVA_MIN_MEM=128M | |||
) | |||
if "%JAVA_MAX_MEM%" == "" ( | |||
set JAVA_MAX_MEM=512M | |||
) | |||
goto BEGIN | |||
:warn | |||
echo %PROGNAME%: %* | |||
goto :EOF | |||
:BEGIN | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
if not "%KARAF_HOME%" == "" ( | |||
call :warn Ignoring predefined value for KARAF_HOME | |||
) | |||
set KARAF_HOME=%DIRNAME%.. | |||
if not exist "%KARAF_HOME%" ( | |||
call :warn KARAF_HOME is not valid: "%KARAF_HOME%" | |||
goto END | |||
) | |||
if not "%KARAF_BASE%" == "" ( | |||
if not exist "%KARAF_BASE%" ( | |||
call :warn KARAF_BASE is not valid: "%KARAF_BASE%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_BASE%" == "" ( | |||
set "KARAF_BASE=%KARAF_HOME%" | |||
) | |||
if not "%KARAF_DATA%" == "" ( | |||
if not exist "%KARAF_DATA%" ( | |||
call :warn KARAF_DATA is not valid: "%KARAF_DATA%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_DATA%" == "" ( | |||
set "KARAF_DATA=%KARAF_BASE%\data" | |||
) | |||
if not "%KARAF_ETC%" == "" ( | |||
if not exist "%KARAF_ETC%" ( | |||
call :warn KARAF_ETC is not valid: "%KARAF_ETC%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_ETC%" == "" ( | |||
set "KARAF_ETC=%KARAF_BASE%\etc" | |||
) | |||
set DEFAULT_JAVA_OPTS= | |||
set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 | |||
rem Support for loading native libraries | |||
set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib | |||
rem Setup the Java Virtual Machine | |||
if not "%JAVA%" == "" goto :Check_JAVA_END | |||
set JAVA=java | |||
if "%JAVA_HOME%" == "" call :warn JAVA_HOME not set; results may vary | |||
if not "%JAVA_HOME%" == "" set JAVA=%JAVA_HOME%\bin\java | |||
if not exist "%JAVA_HOME%" ( | |||
call :warn JAVA_HOME is not valid: "%JAVA_HOME%" | |||
goto END | |||
) | |||
:Check_JAVA_END | |||
if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS% | |||
if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END | |||
set JAVA_OPTS=%JAVA_OPTS% %EXTRA_JAVA_OPTS% | |||
:KARAF_EXTRA_JAVA_OPTS_END | |||
if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END | |||
rem Use the defaults if JAVA_DEBUG_OPTS was not set | |||
if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS% | |||
set JAVA_OPTS="%JAVA_DEBUG_OPTS% %JAVA_OPTS%" | |||
call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS% | |||
:KARAF_DEBUG_END | |||
set CLASSPATH=%KARAF_HOME%\system\org\apache\karaf\shell\org.apache.karaf.shell.core\4.2.1\org.apache.karaf.shell.core-4.2.1.jar | |||
set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\ops4j\pax\logging\pax-logging-api\1.10.1\pax-logging-api-1.10.1.jar | |||
set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\jline\jline\3.9.0\jline-3.9.0.jar | |||
:EXECUTE | |||
if "%SHIFT%" == "true" SET ARGS=%2 %3 %4 %5 %6 %7 %8 | |||
if not "%SHIFT%" == "true" SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8 | |||
rem Execute the Java Virtual Machine | |||
"%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Dkaraf.data="%KARAF_DATA%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" %KARAF_OPTS% org.apache.karaf.shell.impl.console.standalone.Main --classpath="%KARAF_HOME%\system" %ARGS% | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
:END | |||
endlocal | |||
@@ -0,0 +1,103 @@ | |||
#!/bin/sh | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
realpath() { | |||
# Use in priority xpg4 awk or nawk on SunOS as standard awk is outdated | |||
AWK=awk | |||
if ${solaris}; then | |||
if [ -x /usr/xpg4/bin/awk ]; then | |||
AWK=/usr/xpg4/bin/awk | |||
elif [ -x /usr/bin/nawk ]; then | |||
AWK=/usr/bin/nawk | |||
fi | |||
fi | |||
READLINK_EXISTS=$(command -v readlink &> /dev/null) | |||
if [ -z "$READLINK_EXISTS" ]; then | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
else | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
fi | |||
} | |||
REALNAME=$(realpath "$0") | |||
DIRNAME=$(dirname "${REALNAME}") | |||
PROGNAME=$(basename "${REALNAME}") | |||
# | |||
# Load common functions | |||
# | |||
. "${DIRNAME}/inc" | |||
# | |||
# Sourcing environment settings for karaf similar to tomcats setenv | |||
# | |||
KARAF_SCRIPT="${PROGNAME}" | |||
export KARAF_SCRIPT | |||
if [ -f "${DIRNAME}/setenv" ]; then | |||
. "${DIRNAME}/setenv" | |||
fi | |||
init() { | |||
# Determine if there is special OS handling we must perform | |||
detectOS | |||
# Locate the Karaf home directory | |||
locateHome | |||
} | |||
run() { | |||
convertPaths | |||
# Enable redirect | |||
if [ "x${KARAF_REDIRECT}" != "x" ]; then | |||
warn "Redirecting Karaf output to ${KARAF_REDIRECT}" | |||
else | |||
KARAF_REDIRECT="/dev/null" | |||
fi | |||
exec "${KARAF_HOME}/bin/karaf" server "$@" >> "${KARAF_REDIRECT}" 2>&1 & | |||
} | |||
main() { | |||
init | |||
run "$@" | |||
} | |||
main "$@" | |||
@@ -0,0 +1,98 @@ | |||
@echo off | |||
rem | |||
rem | |||
rem Licensed to the Apache Software Foundation (ASF) under one or more | |||
rem contributor license agreements. See the NOTICE file distributed with | |||
rem this work for additional information regarding copyright ownership. | |||
rem The ASF licenses this file to You under the Apache License, Version 2.0 | |||
rem (the "License"); you may not use this file except in compliance with | |||
rem the License. You may obtain a copy of the License at | |||
rem | |||
rem http://www.apache.org/licenses/LICENSE-2.0 | |||
rem | |||
rem Unless required by applicable law or agreed to in writing, software | |||
rem distributed under the License is distributed on an "AS IS" BASIS, | |||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
rem See the License for the specific language governing permissions and | |||
rem limitations under the License. | |||
rem | |||
if not "%ECHO%" == "" echo %ECHO% | |||
setlocal | |||
set DIRNAME=%~dp0% | |||
set PROGNAME=%~nx0% | |||
set ARGS=%* | |||
rem Sourcing environment settings for karaf similar to tomcats setenv | |||
SET KARAF_SCRIPT="start.bat" | |||
if exist "%DIRNAME%setenv.bat" ( | |||
call "%DIRNAME%setenv.bat" | |||
) | |||
goto BEGIN | |||
:warn | |||
echo %PROGNAME%: %* | |||
goto :EOF | |||
:BEGIN | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
if not "%KARAF_HOME%" == "" ( | |||
call :warn Ignoring predefined value for KARAF_HOME | |||
) | |||
set KARAF_HOME=%DIRNAME%.. | |||
if not exist "%KARAF_HOME%" ( | |||
call :warn KARAF_HOME is not valid: "%KARAF_HOME%" | |||
goto END | |||
) | |||
if not "%KARAF_BASE%" == "" ( | |||
if not exist "%KARAF_BASE%" ( | |||
call :warn KARAF_BASE is not valid: "%KARAF_BASE%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_BASE%" == "" ( | |||
set "KARAF_BASE=%KARAF_HOME%" | |||
) | |||
if not "%KARAF_DATA%" == "" ( | |||
if not exist "%KARAF_DATA%" ( | |||
call :warn KARAF_DATA is not valid: "%KARAF_DATA%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_DATA%" == "" ( | |||
set "KARAF_DATA=%KARAF_BASE%\data" | |||
) | |||
if not "%KARAF_ETC%" == "" ( | |||
if not exist "%KARAF_ETC%" ( | |||
call :warn KARAF_ETC is not valid: "%KARAF_ETC%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_ETC%" == "" ( | |||
set "KARAF_ETC=%KARAF_BASE%\etc" | |||
) | |||
if "%KARAF_TITLE%" == "" ( | |||
set "KARAF_TITLE=Karaf" | |||
) | |||
:EXECUTE | |||
start "%KARAF_TITLE%" /MIN "%KARAF_HOME%\bin\karaf.bat" server %* | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
:END | |||
endlocal | |||
if not "%PAUSE%" == "" pause | |||
:END_NO_PAUSE | |||
@@ -0,0 +1,98 @@ | |||
#!/bin/sh | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
realpath() { | |||
# Use in priority xpg4 awk or nawk on SunOS as standard awk is outdated | |||
AWK=awk | |||
if ${solaris}; then | |||
if [ -x /usr/xpg4/bin/awk ]; then | |||
AWK=/usr/xpg4/bin/awk | |||
elif [ -x /usr/bin/nawk ]; then | |||
AWK=/usr/bin/nawk | |||
fi | |||
fi | |||
READLINK_EXISTS=$(command -v readlink &> /dev/null) | |||
if [ -z "$READLINK_EXISTS" ]; then | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
else | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
fi | |||
} | |||
REALNAME=$(realpath "$0") | |||
DIRNAME=$(dirname "${REALNAME}") | |||
PROGNAME=$(basename "${REALNAME}") | |||
# | |||
# Load common functions | |||
# | |||
. "${DIRNAME}/inc" | |||
# | |||
# Sourcing environment settings for karaf similar to tomcats setenv | |||
# | |||
KARAF_SCRIPT="${PROGNAME}" | |||
export KARAF_SCRIPT | |||
if [ -f "${DIRNAME}/setenv" ]; then | |||
. "${DIRNAME}/setenv" | |||
fi | |||
init() { | |||
# KARAF-5332: Unset KARAF_DEBUG | |||
unset KARAF_DEBUG | |||
# Determine if there is special OS handling we must perform | |||
detectOS | |||
# Locate the Karaf home directory | |||
locateHome | |||
} | |||
run() { | |||
convertPaths | |||
exec "${KARAF_HOME}/bin/karaf" status "$@" | |||
} | |||
main() { | |||
init | |||
run "$@" | |||
} | |||
main "$@" | |||
@@ -0,0 +1,100 @@ | |||
@echo off | |||
rem | |||
rem | |||
rem Licensed to the Apache Software Foundation (ASF) under one or more | |||
rem contributor license agreements. See the NOTICE file distributed with | |||
rem this work for additional information regarding copyright ownership. | |||
rem The ASF licenses this file to You under the Apache License, Version 2.0 | |||
rem (the "License"); you may not use this file except in compliance with | |||
rem the License. You may obtain a copy of the License at | |||
rem | |||
rem http://www.apache.org/licenses/LICENSE-2.0 | |||
rem | |||
rem Unless required by applicable law or agreed to in writing, software | |||
rem distributed under the License is distributed on an "AS IS" BASIS, | |||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
rem See the License for the specific language governing permissions and | |||
rem limitations under the License. | |||
rem | |||
if not "%ECHO%" == "" echo %ECHO% | |||
setlocal | |||
set DIRNAME=%~dp0% | |||
set PROGNAME=%~nx0% | |||
set ARGS=%* | |||
rem Sourcing environment settings for karaf similar to tomcats setenv | |||
SET KARAF_SCRIPT="status.bat" | |||
if exist "%DIRNAME%setenv.bat" ( | |||
call "%DIRNAME%setenv.bat" | |||
) | |||
rem Check console window title. Set to Karaf by default | |||
if not "%KARAF_TITLE%" == "" ( | |||
title %KARAF_TITLE% | |||
) else ( | |||
title Karaf | |||
) | |||
goto BEGIN | |||
:warn | |||
echo %PROGNAME%: %* | |||
goto :EOF | |||
:BEGIN | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
if not "%KARAF_HOME%" == "" ( | |||
call :warn Ignoring predefined value for KARAF_HOME | |||
) | |||
set KARAF_HOME=%DIRNAME%.. | |||
if not exist "%KARAF_HOME%" ( | |||
call :warn KARAF_HOME is not valid: "%KARAF_HOME%" | |||
goto END | |||
) | |||
if not "%KARAF_BASE%" == "" ( | |||
if not exist "%KARAF_BASE%" ( | |||
call :warn KARAF_BASE is not valid: "%KARAF_BASE%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_BASE%" == "" ( | |||
set "KARAF_BASE=%KARAF_HOME%" | |||
) | |||
if not "%KARAF_DATA%" == "" ( | |||
if not exist "%KARAF_DATA%" ( | |||
call :warn KARAF_DATA is not valid: "%KARAF_DATA%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_DATA%" == "" ( | |||
set "KARAF_DATA=%KARAF_BASE%\data" | |||
) | |||
if not "%KARAF_ETC%" == "" ( | |||
if not exist "%KARAF_ETC%" ( | |||
call :warn KARAF_ETC is not valid: "%KARAF_ETC%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_ETC%" == "" ( | |||
set "KARAF_ETC=%KARAF_BASE%\etc" | |||
) | |||
:EXECUTE | |||
"%KARAF_HOME%\bin\karaf.bat" status | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
:END | |||
endlocal | |||
if not "%PAUSE%" == "" pause | |||
:END_NO_PAUSE |
@@ -0,0 +1,98 @@ | |||
#!/bin/sh | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
realpath() { | |||
# Use in priority xpg4 awk or nawk on SunOS as standard awk is outdated | |||
AWK=awk | |||
if ${solaris}; then | |||
if [ -x /usr/xpg4/bin/awk ]; then | |||
AWK=/usr/xpg4/bin/awk | |||
elif [ -x /usr/bin/nawk ]; then | |||
AWK=/usr/bin/nawk | |||
fi | |||
fi | |||
READLINK_EXISTS=$(command -v readlink &> /dev/null) | |||
if [ -z "$READLINK_EXISTS" ]; then | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(ls -l "$(basename "${1}")" | ${AWK} -F"-> " '{print $2}') | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
else | |||
OURPWD=${PWD} | |||
cd "$(dirname "${1}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
while [ "${LINK}" ]; do | |||
echo "link: ${LINK}" >&2 | |||
cd "$(dirname "${LINK}")" || exit 2 | |||
LINK=$(readlink "$(basename "${1}")") | |||
done | |||
REALPATH="${PWD}/$(basename "${1}")" | |||
cd "${OURPWD}" || exit 2 | |||
echo "${REALPATH}" | |||
fi | |||
} | |||
REALNAME=$(realpath "$0") | |||
DIRNAME=$(dirname "${REALNAME}") | |||
PROGNAME=$(basename "${REALNAME}") | |||
# | |||
# Load common functions | |||
# | |||
. "${DIRNAME}/inc" | |||
# | |||
# Sourcing environment settings for karaf similar to tomcats setenv | |||
# | |||
KARAF_SCRIPT="${PROGNAME}" | |||
export KARAF_SCRIPT | |||
if [ -f "${DIRNAME}/setenv" ]; then | |||
. "${DIRNAME}/setenv" | |||
fi | |||
init() { | |||
# KARAF-5332: Unset KARAF_DEBUG | |||
unset KARAF_DEBUG | |||
# Determine if there is special OS handling we must perform | |||
detectOS | |||
# Locate the Karaf home directory | |||
locateHome | |||
} | |||
run() { | |||
convertPaths | |||
exec "${KARAF_HOME}/bin/karaf" stop "$@" | |||
} | |||
main() { | |||
init | |||
run "$@" | |||
} | |||
main "$@" | |||
@@ -0,0 +1,100 @@ | |||
@echo off | |||
rem | |||
rem | |||
rem Licensed to the Apache Software Foundation (ASF) under one or more | |||
rem contributor license agreements. See the NOTICE file distributed with | |||
rem this work for additional information regarding copyright ownership. | |||
rem The ASF licenses this file to You under the Apache License, Version 2.0 | |||
rem (the "License"); you may not use this file except in compliance with | |||
rem the License. You may obtain a copy of the License at | |||
rem | |||
rem http://www.apache.org/licenses/LICENSE-2.0 | |||
rem | |||
rem Unless required by applicable law or agreed to in writing, software | |||
rem distributed under the License is distributed on an "AS IS" BASIS, | |||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
rem See the License for the specific language governing permissions and | |||
rem limitations under the License. | |||
rem | |||
if not "%ECHO%" == "" echo %ECHO% | |||
setlocal | |||
set DIRNAME=%~dp0% | |||
set PROGNAME=%~nx0% | |||
set ARGS=%* | |||
rem Sourcing environment settings for karaf similar to tomcats setenv | |||
SET KARAF_SCRIPT="stop.bat" | |||
if exist "%DIRNAME%setenv.bat" ( | |||
call "%DIRNAME%setenv.bat" | |||
) | |||
rem Check console window title. Set to Karaf by default | |||
if not "%KARAF_TITLE%" == "" ( | |||
title %KARAF_TITLE% | |||
) else ( | |||
title Karaf | |||
) | |||
goto BEGIN | |||
:warn | |||
echo %PROGNAME%: %* | |||
goto :EOF | |||
:BEGIN | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
if not "%KARAF_HOME%" == "" ( | |||
call :warn Ignoring predefined value for KARAF_HOME | |||
) | |||
set KARAF_HOME=%DIRNAME%.. | |||
if not exist "%KARAF_HOME%" ( | |||
call :warn KARAF_HOME is not valid: "%KARAF_HOME%" | |||
goto END | |||
) | |||
if not "%KARAF_BASE%" == "" ( | |||
if not exist "%KARAF_BASE%" ( | |||
call :warn KARAF_BASE is not valid: "%KARAF_BASE%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_BASE%" == "" ( | |||
set "KARAF_BASE=%KARAF_HOME%" | |||
) | |||
if not "%KARAF_DATA%" == "" ( | |||
if not exist "%KARAF_DATA%" ( | |||
call :warn KARAF_DATA is not valid: "%KARAF_DATA%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_DATA%" == "" ( | |||
set "KARAF_DATA=%KARAF_BASE%\data" | |||
) | |||
if not "%KARAF_ETC%" == "" ( | |||
if not exist "%KARAF_ETC%" ( | |||
call :warn KARAF_ETC is not valid: "%KARAF_ETC%" | |||
goto END | |||
) | |||
) | |||
if "%KARAF_ETC%" == "" ( | |||
set "KARAF_ETC=%KARAF_BASE%\etc" | |||
) | |||
:EXECUTE | |||
"%KARAF_HOME%\bin\karaf.bat" stop | |||
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | |||
:END | |||
endlocal | |||
if not "%PAUSE%" == "" pause | |||
:END_NO_PAUSE |
@@ -0,0 +1,18 @@ | |||
/* | |||
* Licensed to the Apache Software Foundation (ASF) under one or more | |||
* contributor license agreements. See the NOTICE file distributed with | |||
* this work for additional information regarding copyright ownership. | |||
* The ASF licenses this file to You under the Apache License, Version 2.0 | |||
* (the "License"); you may not use this file except in compliance with | |||
* the License. You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
This folder can be used to deploy artifacts into the Karaf container. |
@@ -0,0 +1,22 @@ | |||
//=========================================================================== | |||
// | |||
// Licensed to the Apache Software Foundation (ASF) under one or more | |||
// contributor license agreements. See the NOTICE file distributed with | |||
// this work for additional information regarding copyright ownership. | |||
// The ASF licenses this file to You under the Apache License, Version 2.0 | |||
// (the "License"); you may not use this file except in compliance with | |||
// the License. You may obtain a copy of the License at | |||
// | |||
// http://www.apache.org/licenses/LICENSE-2.0 | |||
// | |||
// Unless required by applicable law or agreed to in writing, software | |||
// distributed under the License is distributed on an "AS IS" BASIS, | |||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
// See the License for the specific language governing permissions and | |||
// limitations under the License. | |||
// | |||
//=========================================================================== | |||
grant { | |||
permission java.security.AllPermission; | |||
}; |
@@ -0,0 +1,269 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This file lists Karaf default settings for this particular version of Karaf. | |||
# For easier maintenance when upgrading Karaf and to better document which | |||
# default values have changed, it is recommended to place any changes to | |||
# these values in a custom.properties file in the same folder as this file. | |||
# Each value specified in custom.properties will override the default value | |||
# here. | |||
# | |||
# | |||
# Properties file inclusions (as a space separated list of relative paths) | |||
# Included files will override the values specified in this file | |||
# NB: ${includes} properties files are mandatory, it means that Karaf will not start | |||
# if the include file is not found | |||
# | |||
${includes} = jre.properties custom.properties | |||
# | |||
# Properties file inclusions (as a space separated list of relative paths) | |||
# Included files will override the values specified in this file | |||
# NB: ${optionals} properties files are optionals, it means that Karaf will just | |||
# display a warning message but the bootstrap will be performed | |||
# | |||
# ${optionals} = my.properties | |||
# | |||
# Framework selection properties | |||
# | |||
karaf.framework=felix | |||
# | |||
# Location of the OSGi frameworks | |||
# | |||
karaf.framework.equinox=mvn\:org.eclipse.platform/org.eclipse.osgi/3.12.100 | |||
karaf.framework.felix=mvn\:org.apache.felix/org.apache.felix.framework/5.6.10 | |||
# | |||
# Framework config properties. | |||
# | |||
org.osgi.framework.system.packages= \ | |||
org.osgi.dto;version="1.0",\ | |||
org.osgi.resource;version="1.0",\ | |||
org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto",\ | |||
org.osgi.framework;version="1.8",\ | |||
org.osgi.framework.dto;version="1.8";uses:="org.osgi.dto",\ | |||
org.osgi.framework.hooks.bundle;version="1.1";uses:="org.osgi.framework",\ | |||
org.osgi.framework.hooks.resolver;version="1.0";uses:="org.osgi.framework.wiring",\ | |||
org.osgi.framework.hooks.service;version="1.1";uses:="org.osgi.framework",\ | |||
org.osgi.framework.hooks.weaving;version="1.1";uses:="org.osgi.framework.wiring",\ | |||
org.osgi.framework.launch;version="1.2";uses:="org.osgi.framework",\ | |||
org.osgi.framework.namespace;version="1.1";uses:="org.osgi.resource",\ | |||
org.osgi.framework.startlevel;version="1.0";uses:="org.osgi.framework",\ | |||
org.osgi.framework.startlevel.dto;version="1.0";uses:="org.osgi.dto",\ | |||
org.osgi.framework.wiring;version="1.2";uses:="org.osgi.framework,org.osgi.resource",\ | |||
org.osgi.framework.wiring.dto;version="1.2";uses:="org.osgi.dto,org.osgi.resource.dto",\ | |||
org.osgi.service.condpermadmin;version="1.1.1";uses:="org.osgi.framework,org.osgi.service.permissionadmin",\ | |||
org.osgi.service.packageadmin;version="1.2";uses:="org.osgi.framework",org.osgi.service.permissionadmin;version="1.2",\ | |||
org.osgi.service.resolver;version="1.0";uses:="org.osgi.resource",\ | |||
org.osgi.service.startlevel;version="1.1";uses:="org.osgi.framework",\ | |||
org.osgi.service.url;version="1.0",\ | |||
org.osgi.util.tracker;version="1.5.1";uses:="org.osgi.framework",\ | |||
org.apache.karaf.version;version="4.2.1",\ | |||
org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version="4.2.1",\ | |||
org.apache.karaf.jaas.boot;uses:="javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.osgi.framework";version="4.2.1",\ | |||
${jre-${java.specification.version}} | |||
# | |||
# Extra packages appended after standard packages | |||
# | |||
org.osgi.framework.system.packages.extra = \ | |||
org.apache.karaf.branding, \ | |||
sun.misc, \ | |||
org.apache.karaf.diagnostic.core;uses:=org.osgi.framework;version=4.2.1, \ | |||
org.apache.karaf.diagnostic.core.common;uses:=org.apache.karaf.diagnostic.core;version=4.2.1, \ | |||
org.apache.karaf.jaas.boot;uses:=\"javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.osgi.framework\";version=4.2.1, \ | |||
org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version=4.2.1 | |||
org.osgi.framework.system.capabilities= \ | |||
${eecap-${java.specification.version}}, \ | |||
${${karaf.framework}-capabilities}, \ | |||
${karaf-capabilities} | |||
karaf-capabilities= \ | |||
osgi.service;objectClass:List<String>=org.apache.karaf.info.ServerInfo | |||
felix-capabilities= \ | |||
osgi.service;objectClass:List<String>=org.osgi.service.packageadmin.PackageAdmin, \ | |||
osgi.service;objectClass:List<String>=org.osgi.service.resolver.Resolver, \ | |||
osgi.service;objectClass:List<String>=org.osgi.service.startlevel.StartLevel | |||
equinox-capabilities= \ | |||
osgi.service;objectClass:List<String>=java.lang.ClassLoader;equinox.classloader.type=contextClassLoader, \ | |||
osgi.service;objectClass:List<String>=javax.xml.parsers.DocumentBuilderFactory, \ | |||
osgi.service;objectClass:List<String>=javax.xml.parsers.SAXParserFactory, \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.framework.log.FrameworkLog, \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.framework.log.FrameworkLog;performance=true, \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=eclipse.home.location, \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.configuration.area, \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.install.area, \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.instance.area, \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.user.area, \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.debug.DebugOptions, \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.environment.EnvironmentInfo, \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.localization.BundleLocalization, \ | |||
osgi.service;objectClass:List<String>="org.osgi.service.log.LogReaderService,org.eclipse.equinox.log.ExtendedLogReaderService", \ | |||
osgi.service;objectClass:List<String>="org.osgi.service.log.LogService,org.eclipse.equinox.log.ExtendedLogService", \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.security.TrustEngine;osgi.signedcontent.trust.engine=org.eclipse.osgi, \ | |||
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.urlconversion.URLConverter;protocol:List<String>="bundleentry,bundleresource" | |||
eecap-11= osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \ | |||
osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0", \ | |||
osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0,1.1", \ | |||
osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8,9.0,10.0,11.0", \ | |||
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0,11.0", \ | |||
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0,11.0" | |||
eecap-10= osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \ | |||
osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0", \ | |||
osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0,1.1", \ | |||
osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8,9.0,10.0", \ | |||
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0", \ | |||
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0" | |||
eecap-9= osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \ | |||
osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0", \ | |||
osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0,1.1", \ | |||
osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8,9.0", \ | |||
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0", \ | |||
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0" | |||
eecap-1.8= osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \ | |||
osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8", \ | |||
osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0,1.1", \ | |||
osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8", \ | |||
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8", \ | |||
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8" | |||
# | |||
# javax.transaction is needed to avoid class loader constraint violation when using javax.sql | |||
# | |||
org.osgi.framework.bootdelegation = \ | |||
com.sun.*, \ | |||
javax.transaction, \ | |||
javax.transaction.*, \ | |||
javax.xml.crypto, \ | |||
javax.xml.crypto.*, \ | |||
jdk.nashorn.*, \ | |||
sun.*, \ | |||
jdk.internal.reflect, \ | |||
jdk.internal.reflect.*, \ | |||
org.apache.karaf.jaas.boot, \ | |||
org.apache.karaf.jaas.boot.principal | |||
# jVisualVM support | |||
# in order to use Karaf with jvisualvm, the org.osgi.framework.bootdelegation property has to contain the org.netbeans.lib.profiler.server package | |||
# and, so, it should look like: | |||
# | |||
# org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,org.apache.karaf.jaas.boot.principal,sun.*,com.sun.*,javax.transaction,javax.transaction.*,javax.xml.crypto,javax.xml.crypto.*,org.apache.xerces.jaxp.datatype,org.apache.xerces.stax,org.apache.xerces.parsers,org.apache.xerces.jaxp,org.apache.xerces.jaxp.validation,org.apache.xerces.dom,org.netbeans.lib.profiler.server | |||
# | |||
# YourKit support | |||
# in order to use Karaf with YourKit, the org.osgi.framework.bootdelegation property has to contain the com.yourkit.* packages | |||
# and, so, it should look like: | |||
# | |||
# org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,org.apache.karaf.jaas.boot.principal,sun.*,com.sun.*,javax.transaction,javax.transaction.*,javax.xml.crypto,javax.xml.crypto.*,org.apache.xerces.jaxp.datatype,org.apache.xerces.stax,org.apache.xerces.parsers,org.apache.xerces.jaxp,org.apache.xerces.jaxp.validation,org.apache.xerces.dom,com.yourkit.* | |||
# | |||
# | |||
# Set the parent classloader for the bundle to the classloader that loads the Framework (i.e. everything in lib/*.jar) | |||
# | |||
org.osgi.framework.bundle.parent=framework | |||
# | |||
# Definition of the default bundle start level | |||
# | |||
org.osgi.framework.startlevel.beginning=100 | |||
karaf.startlevel.bundle=80 | |||
# | |||
# The location of the Karaf shutdown port file used to stop instance | |||
# | |||
karaf.shutdown.port.file=${karaf.data}/port | |||
# | |||
# The location of the Karaf pid file | |||
# | |||
karaf.pid.file=${karaf.base}/karaf.pid | |||
# | |||
# Configuration FileMonitor properties | |||
# | |||
felix.fileinstall.enableConfigSave = true | |||
felix.fileinstall.dir = ${karaf.etc} | |||
felix.fileinstall.filter = .*\\.(cfg|config) | |||
felix.fileinstall.poll = 1000 | |||
felix.fileinstall.noInitialDelay = true | |||
felix.fileinstall.log.level = 3 | |||
felix.fileinstall.log.default = jul | |||
# Use cached urls for bundle CodeSource to avoid | |||
# problems with JCE cached informations, see KARAF-3974 | |||
felix.bundlecodesource.usecachedurls = true | |||
# | |||
# Delay for writing the framework state to disk in equinox | |||
# must be >= 1000 and <= 1800000 | |||
# | |||
eclipse.stateSaveDelayInterval = 1000 | |||
# | |||
# OBR Repository list | |||
# This property will be modified by the obr:addUrl and obr:removeUrl commands. | |||
# | |||
obr.repository.url = | |||
# | |||
# Start blueprint bundles synchronously when possible | |||
# | |||
org.apache.aries.blueprint.synchronous=true | |||
# | |||
# Do not weave all any classes by default | |||
# | |||
org.apache.aries.proxy.weaving.enabled= | |||
# | |||
# mvn url handler requires config instance configuration | |||
# | |||
org.ops4j.pax.url.mvn.requireConfigAdminConfig=true | |||
# | |||
# Don't delay the console startup. Set to true if you want the console to start after all other bundles | |||
# | |||
karaf.delay.console=false | |||
# | |||
# Generated command shutdown | |||
# | |||
karaf.shutdown.command = 54dc7c4e-a508-4cc3-be8b-4bda39d0c3ff | |||
# | |||
# Enable native Karaf support for systemd's watchdog. | |||
# | |||
# In addition to setting the flag to true, the JNA library needs to be made | |||
# available to the main classloader by adding the two following libraries | |||
# to the lib/boot directory | |||
# mvn:net.java.dev.jna/jna/${jna.version} | |||
# mvn:net.java.dev.jna/jna-platform/${jna.version} | |||
# or by building a custom distribution and adding the following lines for the | |||
# karaf maven plugin configuration: | |||
# <library>mvn:net.java.dev.jna/jna/${jna.version};type:=boot;export:=false</library> | |||
# <library>mvn:net.java.dev.jna/jna-platform/${jna.version};type:=boot;export:=false</library> | |||
# | |||
#karaf.systemd.enabled=true |
@@ -0,0 +1,30 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# All the values specified here will override the default values given | |||
# in config.properties. | |||
# | |||
karaf.systemBundlesStartLevel=50 | |||
# | |||
# You can place any customized configuration here. | |||
# | |||
@@ -0,0 +1,26 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This file contains the general platform information required by the itests to find out | |||
# about the current versions. | |||
# | |||
karafVersion=4.2.1 | |||
name=Apache Karaf | |||
@@ -0,0 +1,111 @@ | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
#### Debugging options for org.eclipse.bundles | |||
# Turn on general debugging for org.eclipse.bundles | |||
org.eclipse.osgi/debug = false | |||
# Prints out class loading debug information | |||
org.eclipse.osgi/debug/loader = false | |||
# Prints out event (FrameworkEvent/BundleEvent/ServiceEvent) and listener debug information | |||
org.eclipse.osgi/debug/events = false | |||
# Prints out OSGi service debug information (registration/getting/ungetting etc.) | |||
org.eclipse.osgi/debug/services = false | |||
# Prints out bundle manifest parsing debug information | |||
org.eclipse.osgi/debug/manifest = false | |||
# Prints out LDAP filter debug information | |||
org.eclipse.osgi/debug/filter = false | |||
# Prints out security (PermissionAdmin service) debug information | |||
org.eclipse.osgi/debug/security = false | |||
# Prints out start level service debug information | |||
org.eclipse.osgi/debug/startlevel = false | |||
# Prints out package instance service debug information | |||
org.eclipse.osgi/debug/packageadmin = false | |||
# Prints out timing information for bundle activation | |||
org.eclipse.osgi/debug/bundleTime = false | |||
# Debug the loading of message bundles | |||
org.eclipse.osgi/debug/messageBundles = false | |||
# Eclipse adaptor options | |||
org.eclipse.osgi/eclipseadaptor/debug = false | |||
org.eclipse.osgi/eclipseadaptor/debug/location = false | |||
org.eclipse.osgi/eclipseadaptor/debug/platformadmin = false | |||
org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver = false | |||
org.eclipse.osgi/eclipseadaptor/converter/debug = false | |||
### OSGi resolver options | |||
# Turns on debugging for the resolver | |||
org.eclipse.osgi/resolver/debug = false | |||
# Prints out wiring information after the resolver has completed the resolve process | |||
org.eclipse.osgi/resolver/wiring = false | |||
# Prints out Import-Package information | |||
org.eclipse.osgi/resolver/imports = false | |||
# Prints out Require-Bundle information | |||
org.eclipse.osgi/resolver/requires = false | |||
# Prints out package grouping information form the "uses" clause | |||
org.eclipse.osgi/resolver/grouping = false | |||
# Prints out cycle information | |||
org.eclipse.osgi/resolver/cycles = false | |||
# Prints out Eclipse-GenericRequire information | |||
org.eclipse.osgi/resolver/generics = false | |||
#### Profile settings | |||
org.eclipse.osgi/profile/startup = false | |||
org.eclipse.osgi/profile/benchmark = false | |||
org.eclipse.osgi/profile/debug = false | |||
# Override the default implemenation | |||
org.eclipse.osgi/profile/impl = org.eclipse.osgi.internal.profile.DefaultProfileLogger | |||
# Append all profile messages to the filename specified | |||
org.eclipse.osgi/defaultprofile/logfilename = | |||
# Output all profile log messages synchronously to the jvm console. | |||
# By default, all log messages are cached until the log buffer is | |||
# requested. | |||
org.eclipse.osgi/defaultprofile/logsynchronously = false | |||
# Specify the size of the default profile implementation log buffer. | |||
org.eclipse.osgi/defaultprofile/buffersize = 256 | |||
#### Monitoring settings | |||
# monitor class loading | |||
org.eclipse.osgi/monitor/classes = false | |||
# monitor bundle activation | |||
org.eclipse.osgi/monitor/activation = false | |||
# monitor resource bundle (*.properties) loading | |||
org.eclipse.osgi/monitor/resources = false | |||
#### Trace settings | |||
# trace class loading - snapshot the execution stack when a class is loaded | |||
org.eclipse.osgi/trace/classLoading = false | |||
# trace location - file in which execution traces are written | |||
org.eclipse.osgi/trace/filename = runtime.traces | |||
# trace filters - Java properties file defining which classes should | |||
# be traced (if trace/classLoading is true) | |||
# File format: | |||
# plugins=<comma separated list of plugins whose classes to trace> | |||
# packages=<comma separated list of package prefixes of classes to trace> | |||
# Note that there may be many 'plugins' and 'packages' lines in one file. | |||
org.eclipse.osgi/trace/filters = trace.properties | |||
# trace bundle activation - snapshot the execution stack when a bundle is activated | |||
org.eclipse.osgi/trace/activation = false |
@@ -0,0 +1,28 @@ | |||
-----BEGIN PRIVATE KEY----- | |||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCFLCWyB+bqffiF | |||
3bWfcKUopOfgHbSJCw+oYKUsP8Dlu8NrurRR8brBJLpIjyT75vLL2x6Vep2ljkPr | |||
RwiivppGI8N+C5D+rTRPLvhZ+koGu3tS8LSeR5gDwH4yB+83doaJIwj296uxbBAe | |||
cJJ+vefLOkX2TY42z37UOZLdVvpK+dnZETF6U96vJUnhhYbttPTgmeEE9sfqTnzA | |||
0zVGejWrochtQLduFUxoczgI5aYefnoA3SZuBcTu0pdCaWZ/gyLISWdIJ755lDOV | |||
N99CFUWU40SzccvVKfdvARFMscbf2ED6OeRSTx7JwoRqF0CDHMGIctazvUyexbA7 | |||
FXAVIKQ5AgMBAAECggEAenre9H1GCLbxApWlvE1K6TW5uSs45q3QqcixQSAllmT5 | |||
V7RwsckEPS09UwysNC31cj5GQ65xHVnZ56L+M0ff9dBgtSWIJmNAb+9AJOkIemam | |||
BuMxCz3HdvPsXLFldvpAxBH/5bxmIZjEvmpEoeKhNA2VWPF9cbWm7SNCiuW674bC | |||
IK7FMwH97wTgWSL3mDXYaNq1lWyT1f3BzHcrEqXWtl96ya5Z1tJdsxV7+CMmMRWS | |||
SCLOvFmT4ruh5IV8qU9eq7AD0p8q/ssFPN6amClAsItNXnPU16s5VGzJZvOnk2Dc | |||
UkgSH8Bcmbv39AEbqa0eVf0UwMVClRl/54TCawRD8QKBgQDW7MAYSSzHWEyX9K9G | |||
sinoBDiAGzhgLL0Lu40yE8cv8h4uDKxxoaDbEBc3hVvCCUrt6S5Hh5nN1L65toGO | |||
mnnvtzs2EnfnQlCr5noAuaVMyR5CMwZmbMEsjjFEGCj1vIfWHyzg00kQPqQI1lvI | |||
3uC/wIdMrgESgtrSw6xMvv7h/QKBgQCen6R78/4BBj+G1CjKycrzc32zh27iQLkx | |||
Ih3KCj2obxtHQ1uc37+/ZfZe2q+6VPPtRzel6RVZ4K/uLYorqb6w4H+f0Rz7jQPD | |||
LYaI5uMk0a6EWAYG5aNEmI7PyMy6OWKN4bi1kb5F/GklRRQAbG1Xpn9A7cBS9CIx | |||
gGDCMggx7QKBgFYeP0p756loxCgPLzxQn2IMbudGAOzogEd3OzhZnHKlvVoOUfqm | |||
HOIqLGNe2EmDl7aEvLqEpyhGmrWnX3pYg4t+DAe6lrjfZZu7mh84Q/fkjm9QKrxX | |||
z3+e6jayx5bPmE4/56eegaQ0tV2lJtnyFHRBHPWos11LeYsCRMPrtA2xAoGBAIAF | |||
3N1l+ZWeE1uglCPHZhPDHKrvHeFh15X+MQjF5ymwMtX7WU9tjvbNNmEsIzRCKHVT | |||
S2iOjHrzy0pyWtgOsidTqe20+q1UDLtUXQbVQnKPAUkzOfoLERDmCC1PpVyPwCk/ | |||
CrMQo/8cT0iTTidhW4aojIA840KQY6CMOovBkbepAoGAX4H6EAzVRWBRvt6NRZn4 | |||
aAp42JnSsiigou9ZaFj4fijm6HEfrGVIYbmbZxbtxiW0vf+7wghA9Lgj2c3cI5ab | |||
COzJUIS8UoGuwggp42z+/8TGg19ioogYVCF6jkYYp15+O/WrFwGGJ7ip0/jdq8vq | |||
3xsnWl2tRfGsMopioCFaB9A= | |||
-----END PRIVATE KEY----- |
@@ -0,0 +1,23 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# Empty java.util.logging.properties to prevent the log to stderr, so that | |||
# all logs will be delegated to pax logging JUL handler only | |||
@@ -0,0 +1,119 @@ | |||
<?xml version="1.0"?> | |||
<!-- | |||
Licensed to the Apache Software Foundation (ASF) under one | |||
or more contributor license agreements. See the NOTICE file | |||
distributed with this work for additional information | |||
regarding copyright ownership. The ASF licenses this file | |||
to you under the Apache License, Version 2.0 (the | |||
"License"); you may not use this file except in compliance | |||
with the License. You may obtain a copy of the License at | |||
http://www.apache.org/licenses/LICENSE-2.0 | |||
Unless required by applicable law or agreed to in writing, | |||
software distributed under the License is distributed on an | |||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |||
KIND, either express or implied. See the License for the | |||
specific language governing permissions and limitations | |||
under the License. | |||
--> | |||
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> | |||
<Configure id="Server" class="org.eclipse.jetty.server.Server"> | |||
<!-- =========================================================== --> | |||
<!-- Set connectors --> | |||
<!-- =========================================================== --> | |||
<!-- One of each type! --> | |||
<!-- =========================================================== --> | |||
<!-- Use this connector for many frequently idle connections and for | |||
threadless continuations. --> | |||
<New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> | |||
<Set name="secureScheme">https</Set> | |||
<Set name="securePort"> | |||
<Property name="jetty.secure.port" default="8443" /> | |||
</Set> | |||
<Set name="outputBufferSize">32768</Set> | |||
<Set name="requestHeaderSize">8192</Set> | |||
<Set name="responseHeaderSize">8192</Set> | |||
<Set name="sendServerVersion">true</Set> | |||
<Set name="sendDateHeader">false</Set> | |||
<Set name="headerCacheSize">512</Set> | |||
</New> | |||
<!-- =========================================================== --> | |||
<!-- Special server connectors --> | |||
<!-- =========================================================== --> | |||
<!-- This is a sample for alternative connectors, enable if needed --> | |||
<!-- =========================================================== --> | |||
<!-- | |||
<Call name="addConnector"> | |||
<Arg> | |||
<New class="org.eclipse.jetty.server.ServerConnector"> | |||
<Arg name="server"> | |||
<Ref refid="Server" /> | |||
</Arg> | |||
<Arg name="factories"> | |||
<Array type="org.eclipse.jetty.server.ConnectionFactory"> | |||
<Item> | |||
<New class="org.eclipse.jetty.server.HttpConnectionFactory"> | |||
<Arg name="config"> | |||
<Ref refid="httpConfig" /> | |||
</Arg> | |||
</New> | |||
</Item> | |||
</Array> | |||
</Arg> | |||
<Set name="host"> | |||
<Property name="jetty.host" default="localhost" /> | |||
</Set> | |||
<Set name="port"> | |||
<Property name="jetty.port" default="8282" /> | |||
</Set> | |||
<Set name="idleTimeout"> | |||
<Property name="http.timeout" default="30000" /> | |||
</Set> | |||
<Set name="name">jettyConn1</Set> | |||
</New> | |||
</Arg> | |||
</Call> | |||
--> | |||
<!-- =========================================================== --> | |||
<!-- Configure Authentication Realms --> | |||
<!-- Realms may be configured for the entire server here, or --> | |||
<!-- they can be configured for a specific web app in a context --> | |||
<!-- configuration (see $(jetty.home)/contexts/test.xml for an --> | |||
<!-- example). --> | |||
<!-- =========================================================== --> | |||
<Call name="addBean"> | |||
<Arg> | |||
<New class="org.eclipse.jetty.jaas.JAASLoginService"> | |||
<Set name="name">karaf</Set> | |||
<Set name="loginModuleName">karaf</Set> | |||
<Set name="roleClassNames"> | |||
<Array type="java.lang.String"> | |||
<Item>org.apache.karaf.jaas.boot.principal.RolePrincipal | |||
</Item> | |||
</Array> | |||
</Set> | |||
</New> | |||
</Arg> | |||
</Call> | |||
<Call name="addBean"> | |||
<Arg> | |||
<New class="org.eclipse.jetty.jaas.JAASLoginService"> | |||
<Set name="name">default</Set> | |||
<Set name="loginModuleName">karaf</Set> | |||
<Set name="roleClassNames"> | |||
<Array type="java.lang.String"> | |||
<Item>org.apache.karaf.jaas.boot.principal.RolePrincipal | |||
</Item> | |||
</Array> | |||
</Set> | |||
</New> | |||
</Arg> | |||
</Call> | |||
</Configure> |
@@ -0,0 +1,75 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# Generic JMX ACL | |||
# | |||
# This file defines the roles required for MBean operations for MBeans that | |||
# do not have this defined explicitly. | |||
# | |||
# The definition of ACLs for JMX operations works as follows: | |||
# | |||
# The required roles for JMX operations are defined in configuration files | |||
# read via OSGi ConfigAdmin. | |||
# | |||
# JMX RBAC-related configuration is prefixed with jmx.acl and based on the | |||
# JMX ObjectName that it applies to. For example specific configuration for | |||
# an MBean with the following objectName: foo.bar:type=Test can be placed in | |||
# a configuration file called jmx.acl.foo.bar.Test.cfg. More generic | |||
# configuration can be placed in the domain (e.g. jmx.acl.foo.bar.cfg) or | |||
# at the top level (jmx.acl.cfg). A simple configuration file looks like | |||
# this: | |||
# test : admin | |||
# getVal : manager, viewer | |||
# | |||
# The system looks for required roles using the following process: | |||
# The most specific configuration file/pid is tried first. E.g. in the | |||
# above example the jmx.acl.foo.bar.Test.cfg is looked at first. In this | |||
# configuration, the system looks for a: | |||
# 1. Specific match for the current invocation, e.g. test(int)["17"] : role1 | |||
# 2. Reg exp match for the current invocation, e.g. test(int)[/[0-9]/] : role2 | |||
# In both cases the passed argument is converted to a String for the | |||
# comparison. | |||
# If any of the above match all the roles with matching definitions | |||
# are collected and allowed. If no matches are found the following is tried: | |||
# 3. Signature match for the invocation, e.g. test(int) : role3. If | |||
# matched the associated roles are used. | |||
# 4. Method name match for the invocation, e.g. test : role4. If matched | |||
# the associated roles are used. | |||
# 5. A method name wildcard match, e.g. te* : role5. For all the | |||
# wildcard matches found in the current configuration file, the roles | |||
# associated with the longest match are used. So if you have te* and * and | |||
# the method invoked is 'test', then the roles defined with te* are used, | |||
# not the ones defined with *. | |||
# If no matching definition is found in the current configuration file, a | |||
# more general configuration file is looked for. So jmx.acl.foo.bar.cfg is | |||
# tried next, this matches the domain of the MBean. If there is no match | |||
# found in the domain the most generic configuration file is consulted | |||
# (jmx.acl.cfg). | |||
# If a matching definition is found, this is used and the process will not | |||
# look for any other matching definitions. So the most specific definition | |||
# always takes precedence. | |||
# | |||
list* = viewer | |||
get* = viewer | |||
is* = viewer | |||
set* = admin | |||
* = admin | |||
@@ -0,0 +1,27 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# JMX ACL specific to the java.lang.Memory MBean | |||
# | |||
# For a description of the format of this file, see jmx.acl.cfg | |||
# | |||
gc = manager | |||
@@ -0,0 +1,40 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# JMX ACL specific to the org.apache.karaf:type=bundle,name=* MBean which maps to the Karaf MBean | |||
# to control OSGi bundles. | |||
# | |||
install = manager | |||
refresh = manager | |||
resolve = manager | |||
restart = manager | |||
setStartLevel(java.lang.String, int)[/([1-4])?[0-9]/,/.*/] = admin | |||
setStartLevel = manager | |||
start(java.lang.String)[/([1-4])?[0-9]/] = admin | |||
start = manager | |||
stop(java.lang.String)[/([1-4])?[0-9]/] = admin | |||
stop = manager | |||
uninstall(java.lang.String)["0"] = #this is a comment, no roles can perform this operation | |||
uninstall = admin | |||
update(java.lang.String)[/([1-4])?[0-9]/] = admin | |||
update(java.lang.String,java.lang.String)[/([1-4])?[0-9]/,/.*/] = admin | |||
update = manager | |||
@@ -0,0 +1,54 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# JMX ACL specific to the org.apache.karaf:type=config,name=* MBean which maps to the Karaf MBean to interact with the | |||
# OSGi Config Admin service. | |||
# | |||
# For a description of the format of this file, see jmx.acl.cfg | |||
# | |||
# By default, only an admin can make changes to the JMX ACL and shell command rules, but managers can make | |||
# changes to other PIDs. | |||
# | |||
appendProperty(java.lang.String,java.lang.String,java.lang.String)[/jmx[.]acl.*/,/.*/,/.*/] = admin | |||
appendProperty(java.lang.String,java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl.+/,/.*/,/.*/] = admin | |||
appendProperty(java.lang.String,java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl.+/,/.*/,/.*/] = admin | |||
appendProperty(java.lang.String,java.lang.String,java.lang.String) = manager | |||
create(java.lang.String)[/jmx[.]acl.*/] = admin | |||
create(java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl.+/] = admin | |||
create(java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl.+/] = admin | |||
create(java.lang.String) = manager | |||
delete(java.lang.String)[/jmx[.]acl.*/] = admin | |||
delete(java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl.+/] = admin | |||
delete(java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl.+/] = admin | |||
delete(java.lang.String) = manager | |||
deleteProperty(java.lang.String,java.lang.String)[/jmx[.]acl.*/,/.*/] = admin | |||
deleteProperty(java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl.+/,/.*/] = admin | |||
deleteProperty(java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl.+/,/.*/] = admin | |||
deleteProperty(java.lang.String,java.lang.String) = manager | |||
setProperty(java.lang.String,java.lang.String,java.lang.String)[/jmx[.]acl.*/,/.*/,/.*/] = admin | |||
setProperty(java.lang.String,java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl.+/,/.*/,/.*/] = admin | |||
setProperty(java.lang.String,java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl.+/,/.*/,/.*/] = admin | |||
setProperty(java.lang.String,java.lang.String,java.lang.String) = manager | |||
update(java.lang.String,java.util.Map)[/jmx[.]acl.*/,/.*/] = admin | |||
update(java.lang.String,java.util.Map)[/org[.]apache[.]karaf[.]command[.]acl.+/,/.*/] = admin | |||
update(java.lang.String,java.util.Map)[/org[.]apache[.]karaf[.]service[.]acl.+/,/.*/] = admin | |||
update(java.lang.String,java.util.Map) = manager | |||
@@ -0,0 +1,29 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# JMX ACL specific to the org.apache.karaf:type=security,area=jmx MBean which | |||
# can be used to find out whether the currently logged in JMX user can invoke | |||
# the requested JMX operations. | |||
# | |||
# For a description of the format of this file, see jmx.acl.cfg | |||
# | |||
canInvoke = viewer | |||
@@ -0,0 +1,55 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# JMX ACL specific to osgi.compendium.cm MBean | |||
# | |||
# For a description of the format of this file, see jmx.acl.cfg | |||
# | |||
# This configuration file configures the management of ConfigAdmin via the standard ConfigAdmin MBean | |||
# Such that only an admin can make changes to the JMX ACL rules, but managers can make | |||
# changes to other PIDs. | |||
# | |||
createFactoryConfiguration(java.lang.String)[/jmx[.]acl.*/] = admin | |||
createFactoryConfiguration(java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl[.].+/] = admin | |||
createFactoryConfiguration(java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl[.].+/] = admin | |||
createFactoryConfiguration(java.lang.String) = manager | |||
createFactoryConfigurationForLocation(java.lang.String,java.lang.String)[/jmx[.]acl.*/,/.*/] = admin | |||
createFactoryConfigurationForLocation(java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl[.].+/,/.*/] = admin | |||
createFactoryConfigurationForLocation(java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl[.].+/,/.*/] = admin | |||
createFactoryConfigurationForLocation(java.lang.String,java.lang.String) = manager | |||
delete(java.lang.String)[/jmx[.]acl.*/] = admin | |||
delete(java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl[.].+/] = admin | |||
delete(java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl[.].+/] = admin | |||
delete(java.lang.String) = manager | |||
deleteConfigurations = admin | |||
deleteForLocation(java.lang.String,java.lang.String)[/jmx[.]acl.*/,/.*/] = admin | |||
deleteForLocation(java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl[.].+/,/.*/] = admin | |||
deleteForLocation(java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl[.].+/,/.*/] = admin | |||
deleteForLocation(java.lang.String,java.lang.String) = manager | |||
update(java.lang.String,javax.management.openmbean.TabularData)[/jmx[.]acl.*/,/.*/] = admin | |||
update(java.lang.String,javax.management.openmbean.TabularData)[/org[.]apache[.]karaf[.]command[.]acl[.].+/,/.*/] = admin | |||
update(java.lang.String,javax.management.openmbean.TabularData)[/org[.]apache[.]karaf[.]service[.]acl[.].+/,/.*/] = admin | |||
update(java.lang.String,javax.management.openmbean.TabularData) = manager | |||
updateForLocation(java.lang.String,java.lang.String,javax.management.openmbean.TabularData)[/jmx[.]acl.*/,/.*/,/.*/] = admin | |||
updateForLocation(java.lang.String,java.lang.String,javax.management.openmbean.TabularData)[/org[.]apache[.]karaf[.]command[.]acl[.].+/,/.*/,/.*/] = admin | |||
updateForLocation(java.lang.String,java.lang.String,javax.management.openmbean.TabularData)[/org[.]apache[.]karaf[.]service[.]acl[.].+/,/.*/,/.*/] = admin | |||
updateForLocation(java.lang.String,java.lang.String,javax.management.openmbean.TabularData) = manager | |||
@@ -0,0 +1,727 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# Java platform package export properties. | |||
# | |||
# Standard package set. Note that: | |||
# - javax.transaction* is exported with a mandatory attribute | |||
jre-1.6= \ | |||
javax.accessibility, \ | |||
javax.activation;version="1.1", \ | |||
javax.activity, \ | |||
javax.annotation;version="1.0", \ | |||
javax.annotation.processing;version="1.0", \ | |||
javax.crypto, \ | |||
javax.crypto.interfaces, \ | |||
javax.crypto.spec, \ | |||
javax.imageio, \ | |||
javax.imageio.event, \ | |||
javax.imageio.metadata, \ | |||
javax.imageio.plugins.bmp, \ | |||
javax.imageio.plugins.jpeg, \ | |||
javax.imageio.spi, \ | |||
javax.imageio.stream, \ | |||
javax.jws, \ | |||
javax.jws.soap, \ | |||
javax.lang.model, \ | |||
javax.lang.model.element, \ | |||
javax.lang.model.type, \ | |||
javax.lang.model.util, \ | |||
javax.management, \ | |||
javax.management.loading, \ | |||
javax.management.modelmbean, \ | |||
javax.management.monitor, \ | |||
javax.management.openmbean, \ | |||
javax.management.relation, \ | |||
javax.management.remote, \ | |||
javax.management.remote.rmi, \ | |||
javax.management.timer, \ | |||
javax.naming, \ | |||
javax.naming.directory, \ | |||
javax.naming.event, \ | |||
javax.naming.ldap, \ | |||
javax.naming.spi, \ | |||
javax.net, \ | |||
javax.net.ssl, \ | |||
javax.print, \ | |||
javax.print.attribute, \ | |||
javax.print.attribute.standard, \ | |||
javax.print.event, \ | |||
javax.rmi, \ | |||
javax.rmi.CORBA, \ | |||
javax.rmi.ssl, \ | |||
javax.script, \ | |||
javax.security.auth, \ | |||
javax.security.auth.callback, \ | |||
javax.security.auth.kerberos, \ | |||
javax.security.auth.login, \ | |||
javax.security.auth.spi, \ | |||
javax.security.auth.x500, \ | |||
javax.security.cert, \ | |||
javax.security.sasl, \ | |||
javax.sound.midi, \ | |||
javax.sound.midi.spi, \ | |||
javax.sound.sampled, \ | |||
javax.sound.sampled.spi, \ | |||
javax.sql, \ | |||
javax.sql.rowset, \ | |||
javax.sql.rowset.serial, \ | |||
javax.sql.rowset.spi, \ | |||
javax.swing, \ | |||
javax.swing.border, \ | |||
javax.swing.colorchooser, \ | |||
javax.swing.event, \ | |||
javax.swing.filechooser, \ | |||
javax.swing.plaf, \ | |||
javax.swing.plaf.basic, \ | |||
javax.swing.plaf.metal, \ | |||
javax.swing.plaf.multi, \ | |||
javax.swing.plaf.synth, \ | |||
javax.swing.table, \ | |||
javax.swing.text, \ | |||
javax.swing.text.html, \ | |||
javax.swing.text.html.parser, \ | |||
javax.swing.text.rtf, \ | |||
javax.swing.tree, \ | |||
javax.swing.undo, \ | |||
javax.tools, \ | |||
javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \ | |||
javax.xml, \ | |||
javax.xml.bind;version="2.2.1", \ | |||
javax.xml.bind.annotation;version="2.2.1", \ | |||
javax.xml.bind.annotation.adapters;version="2.2.1", \ | |||
javax.xml.bind.attachment;version="2.2.1", \ | |||
javax.xml.bind.helpers;version="2.2.1", \ | |||
javax.xml.bind.util;version="2.2.1", \ | |||
javax.xml.crypto, \ | |||
javax.xml.crypto.dom, \ | |||
javax.xml.crypto.dsig, \ | |||
javax.xml.crypto.dsig.dom, \ | |||
javax.xml.crypto.dsig.keyinfo, \ | |||
javax.xml.crypto.dsig.spec, \ | |||
javax.xml.datatype, \ | |||
javax.xml.namespace, \ | |||
javax.xml.parsers, \ | |||
javax.xml.soap;version="1.3", \ | |||
javax.xml.stream;version="1.2", \ | |||
javax.xml.stream.events;version="1.2", \ | |||
javax.xml.stream.util;version="1.2", \ | |||
javax.xml.transform, \ | |||
javax.xml.transform.dom, \ | |||
javax.xml.transform.sax, \ | |||
javax.xml.transform.stax, \ | |||
javax.xml.transform.stream, \ | |||
javax.xml.validation, \ | |||
javax.xml.ws;version="2.2", \ | |||
javax.xml.ws.handler;version="2.2", \ | |||
javax.xml.ws.handler.soap;version="2.2", \ | |||
javax.xml.ws.http;version="2.2", \ | |||
javax.xml.ws.soap;version="2.2", \ | |||
javax.xml.ws.spi;version="2.2", \ | |||
javax.xml.ws.wsaddressing;version="2.2", \ | |||
javax.xml.ws.spi.http;version="2.2", \ | |||
javax.xml.xpath, \ | |||
org.ietf.jgss, \ | |||
org.omg.CORBA, \ | |||
org.omg.CORBA_2_3, \ | |||
org.omg.CORBA_2_3.portable, \ | |||
org.omg.CORBA.DynAnyPackage, \ | |||
org.omg.CORBA.ORBPackage, \ | |||
org.omg.CORBA.portable, \ | |||
org.omg.CORBA.TypeCodePackage, \ | |||
org.omg.CosNaming, \ | |||
org.omg.CosNaming.NamingContextExtPackage, \ | |||
org.omg.CosNaming.NamingContextPackage, \ | |||
org.omg.Dynamic, \ | |||
org.omg.DynamicAny, \ | |||
org.omg.DynamicAny.DynAnyFactoryPackage, \ | |||
org.omg.DynamicAny.DynAnyPackage, \ | |||
org.omg.IOP, \ | |||
org.omg.IOP.CodecFactoryPackage, \ | |||
org.omg.IOP.CodecPackage, \ | |||
org.omg.Messaging, \ | |||
org.omg.PortableInterceptor, \ | |||
org.omg.PortableInterceptor.ORBInitInfoPackage, \ | |||
org.omg.PortableServer, \ | |||
org.omg.PortableServer.CurrentPackage, \ | |||
org.omg.PortableServer.POAManagerPackage, \ | |||
org.omg.PortableServer.POAPackage, \ | |||
org.omg.PortableServer.portable, \ | |||
org.omg.PortableServer.ServantLocatorPackage, \ | |||
org.omg.SendingContext, \ | |||
org.omg.stub.java.rmi, \ | |||
org.omg.stub.javax.management.remote.rmi, \ | |||
org.w3c.dom, \ | |||
org.w3c.dom.bootstrap, \ | |||
org.w3c.dom.css, \ | |||
org.w3c.dom.events, \ | |||
org.w3c.dom.html, \ | |||
org.w3c.dom.ls, \ | |||
org.w3c.dom.ranges, \ | |||
org.w3c.dom.stylesheets, \ | |||
org.w3c.dom.traversal, \ | |||
org.w3c.dom.views, \ | |||
org.w3c.dom.xpath, \ | |||
org.xml.sax, \ | |||
org.xml.sax.ext, \ | |||
org.xml.sax.helpers | |||
# Standard package set. Note that: | |||
# - javax.transaction* is exported with a mandatory attribute | |||
jre-1.7= \ | |||
javax.accessibility, \ | |||
javax.activation;version="1.1", \ | |||
javax.activity, \ | |||
javax.annotation;version="1.0", \ | |||
javax.annotation.processing;version="1.0", \ | |||
javax.crypto, \ | |||
javax.crypto.interfaces, \ | |||
javax.crypto.spec, \ | |||
javax.imageio, \ | |||
javax.imageio.event, \ | |||
javax.imageio.metadata, \ | |||
javax.imageio.plugins.bmp, \ | |||
javax.imageio.plugins.jpeg, \ | |||
javax.imageio.spi, \ | |||
javax.imageio.stream, \ | |||
javax.jws, \ | |||
javax.jws.soap, \ | |||
javax.lang.model, \ | |||
javax.lang.model.element, \ | |||
javax.lang.model.type, \ | |||
javax.lang.model.util, \ | |||
javax.management, \ | |||
javax.management.loading, \ | |||
javax.management.modelmbean, \ | |||
javax.management.monitor, \ | |||
javax.management.openmbean, \ | |||
javax.management.relation, \ | |||
javax.management.remote, \ | |||
javax.management.remote.rmi, \ | |||
javax.management.timer, \ | |||
javax.naming, \ | |||
javax.naming.directory, \ | |||
javax.naming.event, \ | |||
javax.naming.ldap, \ | |||
javax.naming.spi, \ | |||
javax.net, \ | |||
javax.net.ssl, \ | |||
javax.print, \ | |||
javax.print.attribute, \ | |||
javax.print.attribute.standard, \ | |||
javax.print.event, \ | |||
javax.rmi, \ | |||
javax.rmi.CORBA, \ | |||
javax.rmi.ssl, \ | |||
javax.script, \ | |||
javax.security.auth, \ | |||
javax.security.auth.callback, \ | |||
javax.security.auth.kerberos, \ | |||
javax.security.auth.login, \ | |||
javax.security.auth.spi, \ | |||
javax.security.auth.x500, \ | |||
javax.security.cert, \ | |||
javax.security.sasl, \ | |||
javax.sound.midi, \ | |||
javax.sound.midi.spi, \ | |||
javax.sound.sampled, \ | |||
javax.sound.sampled.spi, \ | |||
javax.sql, \ | |||
javax.sql.rowset, \ | |||
javax.sql.rowset.serial, \ | |||
javax.sql.rowset.spi, \ | |||
javax.swing, \ | |||
javax.swing.border, \ | |||
javax.swing.colorchooser, \ | |||
javax.swing.event, \ | |||
javax.swing.filechooser, \ | |||
javax.swing.plaf, \ | |||
javax.swing.plaf.basic, \ | |||
javax.swing.plaf.metal, \ | |||
javax.swing.plaf.multi, \ | |||
javax.swing.plaf.synth, \ | |||
javax.swing.table, \ | |||
javax.swing.text, \ | |||
javax.swing.text.html, \ | |||
javax.swing.text.html.parser, \ | |||
javax.swing.text.rtf, \ | |||
javax.swing.tree, \ | |||
javax.swing.undo, \ | |||
javax.tools, \ | |||
javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \ | |||
javax.xml, \ | |||
javax.xml.bind;version="2.2.1", \ | |||
javax.xml.bind.annotation;version="2.2.1", \ | |||
javax.xml.bind.annotation.adapters;version="2.2.1", \ | |||
javax.xml.bind.attachment;version="2.2.1", \ | |||
javax.xml.bind.helpers;version="2.2.1", \ | |||
javax.xml.bind.util;version="2.2.1", \ | |||
javax.xml.crypto, \ | |||
javax.xml.crypto.dom, \ | |||
javax.xml.crypto.dsig, \ | |||
javax.xml.crypto.dsig.dom, \ | |||
javax.xml.crypto.dsig.keyinfo, \ | |||
javax.xml.crypto.dsig.spec, \ | |||
javax.xml.datatype, \ | |||
javax.xml.namespace, \ | |||
javax.xml.parsers, \ | |||
javax.xml.soap;version="1.3", \ | |||
javax.xml.stream;version="1.2", \ | |||
javax.xml.stream.events;version="1.2", \ | |||
javax.xml.stream.util;version="1.2", \ | |||
javax.xml.transform, \ | |||
javax.xml.transform.dom, \ | |||
javax.xml.transform.sax, \ | |||
javax.xml.transform.stax, \ | |||
javax.xml.transform.stream, \ | |||
javax.xml.validation, \ | |||
javax.xml.xpath, \ | |||
org.ietf.jgss, \ | |||
org.omg.CORBA, \ | |||
org.omg.CORBA_2_3, \ | |||
org.omg.CORBA_2_3.portable, \ | |||
org.omg.CORBA.DynAnyPackage, \ | |||
org.omg.CORBA.ORBPackage, \ | |||
org.omg.CORBA.portable, \ | |||
org.omg.CORBA.TypeCodePackage, \ | |||
org.omg.CosNaming, \ | |||
org.omg.CosNaming.NamingContextExtPackage, \ | |||
org.omg.CosNaming.NamingContextPackage, \ | |||
org.omg.Dynamic, \ | |||
org.omg.DynamicAny, \ | |||
org.omg.DynamicAny.DynAnyFactoryPackage, \ | |||
org.omg.DynamicAny.DynAnyPackage, \ | |||
org.omg.IOP, \ | |||
org.omg.IOP.CodecFactoryPackage, \ | |||
org.omg.IOP.CodecPackage, \ | |||
org.omg.Messaging, \ | |||
org.omg.PortableInterceptor, \ | |||
org.omg.PortableInterceptor.ORBInitInfoPackage, \ | |||
org.omg.PortableServer, \ | |||
org.omg.PortableServer.CurrentPackage, \ | |||
org.omg.PortableServer.POAManagerPackage, \ | |||
org.omg.PortableServer.POAPackage, \ | |||
org.omg.PortableServer.portable, \ | |||
org.omg.PortableServer.ServantLocatorPackage, \ | |||
org.omg.SendingContext, \ | |||
org.omg.stub.java.rmi, \ | |||
org.omg.stub.javax.management.remote.rmi, \ | |||
org.w3c.dom, \ | |||
org.w3c.dom.bootstrap, \ | |||
org.w3c.dom.css, \ | |||
org.w3c.dom.events, \ | |||
org.w3c.dom.html, \ | |||
org.w3c.dom.ls, \ | |||
org.w3c.dom.ranges, \ | |||
org.w3c.dom.stylesheets, \ | |||
org.w3c.dom.traversal, \ | |||
org.w3c.dom.views, \ | |||
org.w3c.dom.xpath, \ | |||
org.xml.sax, \ | |||
org.xml.sax.ext, \ | |||
org.xml.sax.helpers, \ | |||
com.sun.nio.sctp | |||
jre-1.8= \ | |||
javax.accessibility, \ | |||
javax.activation;version="1.1", \ | |||
javax.activity, \ | |||
javax.annotation;version="1.0", \ | |||
javax.annotation.processing;version="1.0", \ | |||
javax.crypto, \ | |||
javax.crypto.interfaces, \ | |||
javax.crypto.spec, \ | |||
javax.imageio, \ | |||
javax.imageio.event, \ | |||
javax.imageio.metadata, \ | |||
javax.imageio.plugins.bmp, \ | |||
javax.imageio.plugins.jpeg, \ | |||
javax.imageio.spi, \ | |||
javax.imageio.stream, \ | |||
javax.jws, \ | |||
javax.jws.soap, \ | |||
javax.lang.model, \ | |||
javax.lang.model.element, \ | |||
javax.lang.model.type, \ | |||
javax.lang.model.util, \ | |||
javax.management, \ | |||
javax.management.loading, \ | |||
javax.management.modelmbean, \ | |||
javax.management.monitor, \ | |||
javax.management.openmbean, \ | |||
javax.management.relation, \ | |||
javax.management.remote, \ | |||
javax.management.remote.rmi, \ | |||
javax.management.timer, \ | |||
javax.naming, \ | |||
javax.naming.directory, \ | |||
javax.naming.event, \ | |||
javax.naming.ldap, \ | |||
javax.naming.spi, \ | |||
javax.net, \ | |||
javax.net.ssl, \ | |||
javax.print, \ | |||
javax.print.attribute, \ | |||
javax.print.attribute.standard, \ | |||
javax.print.event, \ | |||
javax.rmi, \ | |||
javax.rmi.CORBA, \ | |||
javax.rmi.ssl, \ | |||
javax.script, \ | |||
javax.security.auth, \ | |||
javax.security.auth.callback, \ | |||
javax.security.auth.kerberos, \ | |||
javax.security.auth.login, \ | |||
javax.security.auth.spi, \ | |||
javax.security.auth.x500, \ | |||
javax.security.cert, \ | |||
javax.security.sasl, \ | |||
javax.sound.midi, \ | |||
javax.sound.midi.spi, \ | |||
javax.sound.sampled, \ | |||
javax.sound.sampled.spi, \ | |||
javax.sql, \ | |||
javax.sql.rowset, \ | |||
javax.sql.rowset.serial, \ | |||
javax.sql.rowset.spi, \ | |||
javax.swing, \ | |||
javax.swing.border, \ | |||
javax.swing.colorchooser, \ | |||
javax.swing.event, \ | |||
javax.swing.filechooser, \ | |||
javax.swing.plaf, \ | |||
javax.swing.plaf.basic, \ | |||
javax.swing.plaf.metal, \ | |||
javax.swing.plaf.multi, \ | |||
javax.swing.plaf.synth, \ | |||
javax.swing.table, \ | |||
javax.swing.text, \ | |||
javax.swing.text.html, \ | |||
javax.swing.text.html.parser, \ | |||
javax.swing.text.rtf, \ | |||
javax.swing.tree, \ | |||
javax.swing.undo, \ | |||
javax.tools, \ | |||
javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \ | |||
javax.xml, \ | |||
javax.xml.bind;version="2.2.1", \ | |||
javax.xml.bind.annotation;version="2.2.1", \ | |||
javax.xml.bind.annotation.adapters;version="2.2.1", \ | |||
javax.xml.bind.attachment;version="2.2.1", \ | |||
javax.xml.bind.helpers;version="2.2.1", \ | |||
javax.xml.bind.util;version="2.2.1", \ | |||
javax.xml.crypto, \ | |||
javax.xml.crypto.dom, \ | |||
javax.xml.crypto.dsig, \ | |||
javax.xml.crypto.dsig.dom, \ | |||
javax.xml.crypto.dsig.keyinfo, \ | |||
javax.xml.crypto.dsig.spec, \ | |||
javax.xml.datatype, \ | |||
javax.xml.namespace, \ | |||
javax.xml.parsers, \ | |||
javax.xml.soap;version="1.3", \ | |||
javax.xml.stream;version="1.2", \ | |||
javax.xml.stream.events;version="1.2", \ | |||
javax.xml.stream.util;version="1.2", \ | |||
javax.xml.transform, \ | |||
javax.xml.transform.dom, \ | |||
javax.xml.transform.sax, \ | |||
javax.xml.transform.stax, \ | |||
javax.xml.transform.stream, \ | |||
javax.xml.validation, \ | |||
javax.xml.ws;version="2.2", \ | |||
javax.xml.ws.handler;version="2.2", \ | |||
javax.xml.ws.handler.soap;version="2.2", \ | |||
javax.xml.ws.http;version="2.2", \ | |||
javax.xml.ws.soap;version="2.2", \ | |||
javax.xml.ws.spi;version="2.2", \ | |||
javax.xml.ws.wsaddressing;version="2.2", \ | |||
javax.xml.ws.spi.http;version="2.2", \ | |||
javax.xml.xpath, \ | |||
javafx.animation, \ | |||
javafx.application, \ | |||
javafx.beans, \ | |||
javafx.beans.binding, \ | |||
javafx.beans.property, \ | |||
javafx.beans.property.adapter, \ | |||
javafx.beans.value, \ | |||
javafx.collections, \ | |||
javafx.collections.transform, \ | |||
javafx.concurrent, \ | |||
javafx.css, \ | |||
javafx.embed.swing, \ | |||
javafx.embed.swt, \ | |||
javafx.event, \ | |||
javafx.fxml, \ | |||
javafx.geometry, \ | |||
javafx.print, \ | |||
javafx.scene, \ | |||
javafx.scene.canvas, \ | |||
javafx.scene.chart, \ | |||
javafx.scene.control, \ | |||
javafx.scene.control.cell, \ | |||
javafx.scene.effect, \ | |||
javafx.scene.image, \ | |||
javafx.scene.input, \ | |||
javafx.scene.layout, \ | |||
javafx.scene.media, \ | |||
javafx.scene.paint, \ | |||
javafx.scene.shape, \ | |||
javafx.scene.text, \ | |||
javafx.scene.transform, \ | |||
javafx.scene.web, \ | |||
javafx.stage, \ | |||
javafx.util, \ | |||
javafx.util.converter, \ | |||
netscape.javascript, \ | |||
org.ietf.jgss, \ | |||
org.omg.CORBA, \ | |||
org.omg.CORBA_2_3, \ | |||
org.omg.CORBA_2_3.portable, \ | |||
org.omg.CORBA.DynAnyPackage, \ | |||
org.omg.CORBA.ORBPackage, \ | |||
org.omg.CORBA.portable, \ | |||
org.omg.CORBA.TypeCodePackage, \ | |||
org.omg.CosNaming, \ | |||
org.omg.CosNaming.NamingContextExtPackage, \ | |||
org.omg.CosNaming.NamingContextPackage, \ | |||
org.omg.Dynamic, \ | |||
org.omg.DynamicAny, \ | |||
org.omg.DynamicAny.DynAnyFactoryPackage, \ | |||
org.omg.DynamicAny.DynAnyPackage, \ | |||
org.omg.IOP, \ | |||
org.omg.IOP.CodecFactoryPackage, \ | |||
org.omg.IOP.CodecPackage, \ | |||
org.omg.Messaging, \ | |||
org.omg.PortableInterceptor, \ | |||
org.omg.PortableInterceptor.ORBInitInfoPackage, \ | |||
org.omg.PortableServer, \ | |||
org.omg.PortableServer.CurrentPackage, \ | |||
org.omg.PortableServer.POAManagerPackage, \ | |||
org.omg.PortableServer.POAPackage, \ | |||
org.omg.PortableServer.portable, \ | |||
org.omg.PortableServer.ServantLocatorPackage, \ | |||
org.omg.SendingContext, \ | |||
org.omg.stub.java.rmi, \ | |||
org.omg.stub.javax.management.remote.rmi, \ | |||
org.w3c.dom, \ | |||
org.w3c.dom.bootstrap, \ | |||
org.w3c.dom.css, \ | |||
org.w3c.dom.events, \ | |||
org.w3c.dom.html, \ | |||
org.w3c.dom.ls, \ | |||
org.w3c.dom.ranges, \ | |||
org.w3c.dom.stylesheets, \ | |||
org.w3c.dom.traversal, \ | |||
org.w3c.dom.views, \ | |||
org.w3c.dom.xpath, \ | |||
org.xml.sax, \ | |||
org.xml.sax.ext, \ | |||
org.xml.sax.helpers, \ | |||
com.sun.nio.sctp | |||
jre-9= \ | |||
javax.accessibility, \ | |||
javax.activation;version="1.1", \ | |||
javax.activity, \ | |||
javax.annotation.processing;version="1.0", \ | |||
javax.crypto, \ | |||
javax.crypto.interfaces, \ | |||
javax.crypto.spec, \ | |||
javax.imageio, \ | |||
javax.imageio.event, \ | |||
javax.imageio.metadata, \ | |||
javax.imageio.plugins.bmp, \ | |||
javax.imageio.plugins.jpeg, \ | |||
javax.imageio.spi, \ | |||
javax.imageio.stream, \ | |||
javax.lang.model, \ | |||
javax.lang.model.element, \ | |||
javax.lang.model.type, \ | |||
javax.lang.model.util, \ | |||
javax.management, \ | |||
javax.management.loading, \ | |||
javax.management.modelmbean, \ | |||
javax.management.monitor, \ | |||
javax.management.openmbean, \ | |||
javax.management.relation, \ | |||
javax.management.remote, \ | |||
javax.management.remote.rmi, \ | |||
javax.management.timer, \ | |||
javax.naming, \ | |||
javax.naming.directory, \ | |||
javax.naming.event, \ | |||
javax.naming.ldap, \ | |||
javax.naming.spi, \ | |||
javax.net, \ | |||
javax.net.ssl, \ | |||
javax.print, \ | |||
javax.print.attribute, \ | |||
javax.print.attribute.standard, \ | |||
javax.print.event, \ | |||
javax.rmi, \ | |||
javax.rmi.CORBA, \ | |||
javax.rmi.ssl, \ | |||
javax.script, \ | |||
javax.security.auth, \ | |||
javax.security.auth.callback, \ | |||
javax.security.auth.kerberos, \ | |||
javax.security.auth.login, \ | |||
javax.security.auth.spi, \ | |||
javax.security.auth.x500, \ | |||
javax.security.cert, \ | |||
javax.security.sasl, \ | |||
javax.sound.midi, \ | |||
javax.sound.midi.spi, \ | |||
javax.sound.sampled, \ | |||
javax.sound.sampled.spi, \ | |||
javax.sql, \ | |||
javax.sql.rowset, \ | |||
javax.sql.rowset.serial, \ | |||
javax.sql.rowset.spi, \ | |||
javax.swing, \ | |||
javax.swing.border, \ | |||
javax.swing.colorchooser, \ | |||
javax.swing.event, \ | |||
javax.swing.filechooser, \ | |||
javax.swing.plaf, \ | |||
javax.swing.plaf.basic, \ | |||
javax.swing.plaf.metal, \ | |||
javax.swing.plaf.multi, \ | |||
javax.swing.plaf.synth, \ | |||
javax.swing.table, \ | |||
javax.swing.text, \ | |||
javax.swing.text.html, \ | |||
javax.swing.text.html.parser, \ | |||
javax.swing.text.rtf, \ | |||
javax.swing.tree, \ | |||
javax.swing.undo, \ | |||
javax.tools, \ | |||
javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \ | |||
javax.xml, \ | |||
javax.xml.bind;version="2.2.1", \ | |||
javax.xml.bind.annotation;version="2.2.1", \ | |||
javax.xml.bind.annotation.adapters;version="2.2.1", \ | |||
javax.xml.bind.attachment;version="2.2.1", \ | |||
javax.xml.bind.helpers;version="2.2.1", \ | |||
javax.xml.bind.util;version="2.2.1", \ | |||
javax.xml.crypto, \ | |||
javax.xml.crypto.dom, \ | |||
javax.xml.crypto.dsig, \ | |||
javax.xml.crypto.dsig.dom, \ | |||
javax.xml.crypto.dsig.keyinfo, \ | |||
javax.xml.crypto.dsig.spec, \ | |||
javax.xml.datatype, \ | |||
javax.xml.namespace, \ | |||
javax.xml.parsers, \ | |||
javax.xml.stream;version="1.2", \ | |||
javax.xml.stream.events;version="1.2", \ | |||
javax.xml.stream.util;version="1.2", \ | |||
javax.xml.transform, \ | |||
javax.xml.transform.dom, \ | |||
javax.xml.transform.sax, \ | |||
javax.xml.transform.stax, \ | |||
javax.xml.transform.stream, \ | |||
javax.xml.validation, \ | |||
javax.xml.xpath, \ | |||
javafx.animation, \ | |||
javafx.application, \ | |||
javafx.beans, \ | |||
javafx.beans.binding, \ | |||
javafx.beans.property, \ | |||
javafx.beans.property.adapter, \ | |||
javafx.beans.value, \ | |||
javafx.collections, \ | |||
javafx.collections.transformation, \ | |||
javafx.concurrent, \ | |||
javafx.css, \ | |||
javafx.embed.swing, \ | |||
javafx.embed.swt, \ | |||
javafx.event, \ | |||
javafx.fxml, \ | |||
javafx.geometry, \ | |||
javafx.print, \ | |||
javafx.scene, \ | |||
javafx.scene.canvas, \ | |||
javafx.scene.chart, \ | |||
javafx.scene.control, \ | |||
javafx.scene.control.cell, \ | |||
javafx.scene.effect, \ | |||
javafx.scene.image, \ | |||
javafx.scene.input, \ | |||
javafx.scene.layout, \ | |||
javafx.scene.media, \ | |||
javafx.scene.paint, \ | |||
javafx.scene.shape, \ | |||
javafx.scene.text, \ | |||
javafx.scene.transform, \ | |||
javafx.scene.web, \ | |||
javafx.stage, \ | |||
javafx.util, \ | |||
javafx.util.converter, \ | |||
netscape.javascript, \ | |||
org.ietf.jgss, \ | |||
org.omg.CORBA, \ | |||
org.omg.CORBA_2_3, \ | |||
org.omg.CORBA_2_3.portable, \ | |||
org.omg.CORBA.DynAnyPackage, \ | |||
org.omg.CORBA.ORBPackage, \ | |||
org.omg.CORBA.portable, \ | |||
org.omg.CORBA.TypeCodePackage, \ | |||
org.omg.CosNaming, \ | |||
org.omg.CosNaming.NamingContextExtPackage, \ | |||
org.omg.CosNaming.NamingContextPackage, \ | |||
org.omg.Dynamic, \ | |||
org.omg.DynamicAny, \ | |||
org.omg.DynamicAny.DynAnyFactoryPackage, \ | |||
org.omg.DynamicAny.DynAnyPackage, \ | |||
org.omg.IOP, \ | |||
org.omg.IOP.CodecFactoryPackage, \ | |||
org.omg.IOP.CodecPackage, \ | |||
org.omg.Messaging, \ | |||
org.omg.PortableInterceptor, \ | |||
org.omg.PortableInterceptor.ORBInitInfoPackage, \ | |||
org.omg.PortableServer, \ | |||
org.omg.PortableServer.CurrentPackage, \ | |||
org.omg.PortableServer.POAManagerPackage, \ | |||
org.omg.PortableServer.POAPackage, \ | |||
org.omg.PortableServer.portable, \ | |||
org.omg.PortableServer.ServantLocatorPackage, \ | |||
org.omg.SendingContext, \ | |||
org.omg.stub.java.rmi, \ | |||
org.omg.stub.javax.management.remote.rmi, \ | |||
org.w3c.dom, \ | |||
org.w3c.dom.bootstrap, \ | |||
org.w3c.dom.css, \ | |||
org.w3c.dom.events, \ | |||
org.w3c.dom.html, \ | |||
org.w3c.dom.ls, \ | |||
org.w3c.dom.ranges, \ | |||
org.w3c.dom.stylesheets, \ | |||
org.w3c.dom.traversal, \ | |||
org.w3c.dom.views, \ | |||
org.w3c.dom.xpath, \ | |||
org.xml.sax, \ | |||
org.xml.sax.ext, \ | |||
org.xml.sax.helpers | |||
jre-10 = ${jre-9} | |||
jre-11 = ${jre-10} |
@@ -0,0 +1,36 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This file contains the valid users who can log into Karaf. Each line have to be of | |||
# the format: | |||
# | |||
# USER=KEY,ROLE1,ROLE2,... | |||
# | |||
# All users and roles entered in this file are available after Karaf startup | |||
# and modifiable via the JAAS command group. These users reside in a JAAS domain | |||
# with the name "karaf".. | |||
# | |||
# | |||
# For security reason, the default auto-signed key is disabled. | |||
# The user guide describes how to generate/update the key. | |||
# | |||
#karaf=AAAAB3NzaC1kc3MAAACBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAAAAFQCXYFCPFSMLzLKSuYKi64QL8Fgc9QAAAIEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoAAACBAKKSU2PFl/qOLxIwmBZPPIcJshVe7bVUpFvyl3BbJDow8rXfskl8wO63OzP/qLmcJM0+JbcRU/53JjTuyk31drV2qxhIOsLDC9dGCWj47Y7TyhPdXh/0dthTRBy6bqGtRPxGa7gJov1xm/UuYYXPIUR/3x9MAZvZ5xvE0kYXO+rx,_g_:admingroup | |||
_g_\:admingroup = group,admin,manager,viewer,systembundles |
@@ -0,0 +1,23 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
org.apache.felix.eventadmin.AddTimestamp=true | |||
org.apache.felix.eventadmin.AddSubject=true | |||
@@ -0,0 +1,25 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
felix.fileinstall.dir = ${karaf.base}/deploy | |||
felix.fileinstall.tmpdir = ${karaf.data}/generated-bundles | |||
felix.fileinstall.poll = 1000 | |||
felix.fileinstall.start.level = 80 | |||
felix.fileinstall.active.level = 80 | |||
felix.fileinstall.log.level = 3 |
@@ -0,0 +1,46 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This configuration file defines the ACLs for commands in the bundle subshell | |||
# | |||
# For an explanation of the syntax of this file, see the file: | |||
# org.apache.karaf.command.acl.system.cfg | |||
# | |||
# This configuration relies on the fact that 'system' bundles need to be managed | |||
# with the | |||
# -f (--force) | |||
# flag. Operations with -f need admin permission. Most of these operations without | |||
# the 'force' option can be done by a manager. | |||
install = admin | |||
refresh[/.*[-][f].*/] = admin | |||
refresh = manager | |||
restart[/.*[-][f].*/] = admin | |||
restart = manager | |||
start[/.*[-][f].*/] = admin | |||
start = manager | |||
stop[/.*[-][f].*/] = admin | |||
stop = manager | |||
uninstall[/.*[-][f].*/] = admin | |||
uninstall = manager | |||
update[/.*[-][f].*/] = admin | |||
update = manager | |||
watch = admin | |||
@@ -0,0 +1,46 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This configuration file defines the ACLs for various commands in the config subshell | |||
# | |||
# For an explanation of the syntax of this file, see the file: | |||
# org.apache.karaf.command.acl.system.cfg | |||
# | |||
cancel = manager | |||
delete = admin | |||
edit = manager | |||
edit[/.*jmx[.]acl.*/] = admin | |||
edit[/.*org[.]apache[.]karaf[.]command[.]acl[.].+/] = admin | |||
edit[/.*org[.]apache[.]karaf[.]service[.]acl[.].+/] = admin | |||
property-append = manager | |||
property-append[/.*jmx[.]acl.*/] = admin | |||
property-append[/.*org[.]apache[.]karaf[.]command[.]acl[.].+/] = admin | |||
property-append[/.*org[.]apache[.]karaf[.]service[.]acl[.].+/] = admin | |||
property-delete = manager | |||
property-delete[/.*jmx[.]acl.*/] = admin | |||
property-delete[/.*org[.]apache[.]karaf[.]command[.]acl[.].+/] = admin | |||
property-delete[/.*org[.]apache[.]karaf[.]service[.]acl[.].+/] = admin | |||
property-set = manager | |||
property-set[/.*jmx[.]acl.*/] = admin | |||
property-set[/.*org[.]apache[.]karaf[.]command[.]acl[.].+/] = admin | |||
property-set[/.*org[.]apache[.]karaf[.]service[.]acl[.].+/] = admin | |||
update = manager | |||
@@ -0,0 +1,29 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This configuration file defines the ACLs for commands in the feature subshell | |||
# | |||
install = admin | |||
uninstall = admin | |||
start = admin | |||
stop = admin | |||
update = admin | |||
@@ -0,0 +1,25 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This configuration file defines the ACLs for commands in the jaas subshell | |||
# Jaas commands commands have no effect until update is called. | |||
update = admin | |||
@@ -0,0 +1,29 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This configuration file defines the ACLs for commands in the kar subshell | |||
# | |||
# For an explanation of the syntax of this file, see the file: | |||
# org.apache.karaf.command.acl.system.cfg | |||
# | |||
install = admin | |||
uninstall = admin | |||
@@ -0,0 +1,33 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This configuration file defines the ACLs for scope bundles | |||
# | |||
features=org.apache.karaf.features.command | |||
jaas=org.apache.karaf.jaas.command | |||
admin=org.apache.karaf.admin.command | |||
osgi=org.apache.karaf.shell.osgi | |||
log=org.apache.karaf.shell.log | |||
packages=org.apache.karaf.shell.packages | |||
config=org.apache.karaf.shell.config | |||
ssh=org.apache.karaf.shell.ssh | |||
shell=org.apache.karaf.shell.commands | |||
@@ -0,0 +1,28 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This configuration file defines the ACLs for commands in the shell subshell | |||
# | |||
nano = admin | |||
exec = admin | |||
new = admin | |||
java = admin | |||
@@ -0,0 +1,29 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This configuration file defines the ACLs for commands in the system subshell | |||
# | |||
property = admin | |||
shutdown = admin | |||
start-level[/.*[1-9][0-9][0-9]+.*/] = manager # manager can set startlevels above 100 | |||
start-level[/[^0-9]*/] = viewer # viewer can obtain the current start level | |||
start-level = admin # admin can set any start level, including < 100 | |||
@@ -0,0 +1,95 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# Comma separated list of features repositories to register by default | |||
# | |||
featuresRepositories = \ | |||
mvn:org.apache.karaf.features/enterprise/4.2.1/xml/features, \ | |||
mvn:org.apache.karaf.features/spring/4.2.1/xml/features, \ | |||
mvn:org.apache.karaf.features/standard/4.2.1/xml/features, \ | |||
mvn:org.apache.karaf.features/framework/4.2.1/xml/features | |||
# | |||
# Comma separated list of features to install at startup | |||
# | |||
featuresBoot = \ | |||
instance/4.2.1, \ | |||
package/4.2.1, \ | |||
log/4.2.1, \ | |||
ssh/4.2.1, \ | |||
framework/4.2.1, \ | |||
system/4.2.1, \ | |||
eventadmin/4.2.1, \ | |||
feature/4.2.1, \ | |||
shell/4.2.1, \ | |||
management/4.2.1, \ | |||
service/4.2.1, \ | |||
jaas/4.2.1, \ | |||
deployer/4.2.1, \ | |||
diagnostic/4.2.1, \ | |||
wrap/2.5.4, \ | |||
bundle/4.2.1, \ | |||
config/4.2.1, \ | |||
kar/4.2.1 | |||
# | |||
# Resource repositories (OBR) that the features resolver can use | |||
# to resolve requirements/capabilities | |||
# | |||
# The format of the resourceRepositories is | |||
# resourceRepositories=[xml:url|json:url],... | |||
# for Instance: | |||
# | |||
#resourceRepositories=xml:http://host/path/to/index.xml | |||
# or | |||
#resourceRepositories=json:http://host/path/to/index.json | |||
# | |||
# | |||
# Defines if the boot features are started in asynchronous mode (in a dedicated thread) | |||
# | |||
featuresBootAsynchronous=false | |||
# | |||
# Service requirements enforcement | |||
# | |||
# By default, the feature resolver checks the service requirements/capabilities of | |||
# bundles for new features (xml schema >= 1.3.0) in order to automatically installs | |||
# the required bundles. | |||
# The following flag can have those values: | |||
# - disable: service requirements are completely ignored | |||
# - default: service requirements are ignored for old features | |||
# - enforce: service requirements are always verified | |||
# | |||
#serviceRequirements=default | |||
# | |||
# Store cfg file for config element in feature | |||
# | |||
#configCfgStore=true | |||
# | |||
# Configuration of features processing mechanism (overrides, blacklisting, modification of features) | |||
# XML file defines instructions related to features processing | |||
# versions.properties may declare properties to resolve placeholders in XML file | |||
# both files are relative to ${karaf.etc} | |||
# | |||
#featureProcessing=org.apache.karaf.features.xml | |||
#featureProcessingVersions=versions.properties |
@@ -0,0 +1,61 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This file describes the features repository URL | |||
# It could be directly installed using feature:repo-add command | |||
# | |||
enterprise=mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features | |||
enterprise-legacy=mvn:org.apache.karaf.features/enterprise-legacy/${karaf.version}/xml/features | |||
spring=mvn:org.apache.karaf.features/spring/${karaf.version}/xml/features | |||
spring-legacy=mvn:org.apache.karaf.features/spring-legacy/${karaf.version}/xml/features | |||
cellar=mvn:org.apache.karaf.cellar/apache-karaf-cellar/RELEASE/xml/features | |||
cave=mvn:org.apache.karaf.cave/apache-karaf-cave/RELEASE/xml/features | |||
camel=mvn:org.apache.camel.karaf/apache-camel/RELEASE/xml/features | |||
camel-extras=mvn:org.apache-extras.camel-extra.karaf/camel-extra/RELEASE/xml/features | |||
cxf=mvn:org.apache.cxf.karaf/apache-cxf/RELEASE/xml/features | |||
cxf-dosgi=mvn:org.apache.cxf.dosgi/cxf-dosgi/RELEASE/xml/features | |||
cxf-dosgi-samples=mvn:org.apache.cxf.dosgi/cxf-dosgi-samples/RELEASE/xml/features | |||
cxf-xkms=mvn:org.apache.cxf.services.xkms/cxf-services-xkms-features/RELEASE/xml | |||
activemq=mvn:org.apache.activemq/activemq-karaf/RELEASE/xml/features | |||
jclouds=mvn:org.apache.jclouds.karaf/jclouds-karaf/RELEASE/xml/features | |||
openejb=mvn:org.apache.openejb/openejb-feature/RELEASE/xml/features | |||
wicket=mvn:org.ops4j.pax.wicket/features/RELEASE/xml/features | |||
hawtio=mvn:io.hawt/hawtio-karaf/RELEASE/xml/features | |||
pax-cdi=mvn:org.ops4j.pax.cdi/pax-cdi-features/RELEASE/xml/features | |||
pax-jdbc=mvn:org.ops4j.pax.jdbc/pax-jdbc-features/RELEASE/xml/features | |||
pax-jms=mvn:org.ops4j.pax.jms/pax-jms-features/RELEASE/xml/features | |||
pax-jpa=mvn:org.ops4j.pax.jpa/pax-jpa-features/RELEASE/xml/features | |||
pax-transx=mvn:org.ops4j.pax.transx/pax-transx-features/RELEASE/xml/features | |||
pax-keycloak=mvn:org.ops4j.pax.keycloak/pax-keycloak-features/RELEASE/xml/features | |||
pax-web=mvn:org.ops4j.pax.web/pax-web-features/RELEASE/xml/features | |||
pax-wicket=mvn:org.ops4j.pax.wicket/pax-wicket-features/RELEASE/xml/features | |||
ecf=http://download.eclipse.org/rt/ecf/RELEASE/site.p2/karaf-features.xml | |||
decanter=mvn:org.apache.karaf.decanter/apache-karaf-decanter/RELEASE/xml/features | |||
eclipsesource-jaxrs=mvn:com.eclipsesource.jaxrs/features/RELEASE/xml/features | |||
aries-jpa=mvn:org.apache.aries.jpa/jpa-features/RELEASE/xml/features | |||
aries-rsa=mvn:org.apache.aries.rsa/rsa-features/RELEASE/xml/features | |||
hibernate=mvn:org.hibernate/hibernate-osgi/RELEASE/xml/karaf | |||
ignite=mvn:org.apache.ignite/ignite-osgi-karaf/RELEASE/xml/features | |||
openjpa=mvn:org.apache.openjpa/openjpa-features/RELEASE/xml/features | |||
artemis=mvn:org.apache.activemq/artemis-features/RELEASE/xml/features | |||
brave=mvn:io.zipkin.brave.karaf/brave-features/RELEASE/xml/features | |||
sling=mvn:org.apache.sling/org.apache.sling.karaf-features/RELEASE/xml/features | |||
@@ -0,0 +1,63 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# Boolean enabling / disabling encrypted passwords | |||
# | |||
encryption.enabled = false | |||
# | |||
# Encryption Service name | |||
# the default one is 'basic' | |||
# a more powerful one named 'jasypt' is available | |||
# when installing the encryption feature | |||
# | |||
encryption.name = | |||
# | |||
# Encryption prefix | |||
# | |||
encryption.prefix = {CRYPT} | |||
# | |||
# Encryption suffix | |||
# | |||
encryption.suffix = {CRYPT} | |||
# | |||
# Set the encryption algorithm to use in Karaf JAAS login module | |||
# Supported encryption algorithms follow: | |||
# MD2 | |||
# MD5 | |||
# SHA-1 | |||
# SHA-256 | |||
# SHA-384 | |||
# SHA-512 | |||
# | |||
encryption.algorithm = MD5 | |||
# | |||
# Encoding of the encrypted password. | |||
# Can be: | |||
# hexadecimal | |||
# base64 | |||
# | |||
encryption.encoding = hexadecimal | |||
@@ -0,0 +1,35 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# Enable or disable the refresh of the bundles when installing | |||
# the features contained in a KAR file | |||
# | |||
noAutoRefreshBundles=false | |||
# | |||
# Enable or disable the automatic start of the bundles when installing | |||
# the features contained in a KAR file | |||
# | |||
noAutoStartBundles=false | |||
# | |||
# Directory where the kar are stored (when downloaded from Maven for instance) | |||
# | |||
#karStorage=${karaf.data}/kar |
@@ -0,0 +1,44 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This configuration file is used to configure the default values for the log:display | |||
# and log:exception-display commands. | |||
# | |||
# | |||
# The number of log statements to be displayed using log:display. It also defines the number | |||
# of lines searched for exceptions using log:exception-display. You can override this value | |||
# at runtime using -n in log:display. | |||
# | |||
size = "500" | |||
# | |||
# The pattern used to format the log statement when using log:display. This pattern is according | |||
# to the log4j layout. You can override this parameter at runtime using log:display with -p. | |||
# | |||
color.fatal = "bright red" | |||
color.error = "bright red" | |||
color.warn = "bright yellow" | |||
color.info = "bright green" | |||
color.debug = "cyan" | |||
color.trace = "cyan" | |||
pattern = "\u001b[90m%d{HH:mm:ss.SSS}\u001b[0m %h{%p}{FATAL=${color.fatal}, ERROR=${color.error}, WARN=${color.warn}, INFO=${color.info}, DEBUG=${color.debug}, TRACE=${color.trace}} \u001b[90m[%t]\u001b[0m %m%n" | |||
@@ -0,0 +1,124 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# The properties in this file define the configuration of Apache Karaf's JMX Management | |||
# | |||
# | |||
# Port number for RMI registry connection | |||
# | |||
rmiRegistryPort = 1099 | |||
# | |||
# Host for RMI registry | |||
# | |||
rmiRegistryHost = 127.0.0.1 | |||
# | |||
# Port number for RMI server connection | |||
# | |||
rmiServerPort = 44444 | |||
# | |||
# Host for RMI server | |||
# | |||
rmiServerHost = 127.0.0.1 | |||
# | |||
# Name of the JAAS realm used for authentication | |||
# | |||
jmxRealm = karaf | |||
# | |||
# The service URL for the JMXConnectorServer | |||
# | |||
serviceUrl = service:jmx:rmi://${rmiServerHost}:${rmiServerPort}/jndi/rmi://${rmiRegistryHost}:${rmiRegistryPort}/karaf-${karaf.name} | |||
# | |||
# Whether any threads started for the JMXConnectorServer should be started as daemon threads | |||
# | |||
daemon = true | |||
# | |||
# Whether the JMXConnectorServer should be started in a separate thread | |||
# | |||
threaded = true | |||
# | |||
# The ObjectName used to register the JMXConnectorServer | |||
# | |||
objectName = connector:name=rmi | |||
# | |||
# Timeout to lookup for the keystore in case of SSL authentication usage | |||
# | |||
#keyStoreAvailabilityTimeout = 5000 | |||
# | |||
# The type of authentication | |||
# | |||
#authenticatorType = password | |||
# | |||
# Enable or not SSL/TLS | |||
# | |||
#secured = false | |||
# | |||
# Secure algorithm to use | |||
# | |||
#secureAlgorithm = default | |||
# | |||
# Secure protocol to use | |||
# | |||
#secureProtocol = TLS | |||
# | |||
# Keystore to use for secure mode | |||
# | |||
#keyStore = karaf.ks | |||
# | |||
# Alias of the key to use in the keystore | |||
# | |||
#keyAlias = karaf | |||
# | |||
# Truststore to use for secure mode | |||
# | |||
#trustStore = karaf.ts | |||
# | |||
# Create the JMX RMI registry | |||
# | |||
#createRmiRegistry = true | |||
# | |||
# Locate the JMX RMI registry | |||
# | |||
#locateRmiRegistry = true | |||
# | |||
# Locate an existing MBean server if possible (usefull when Karaf is embedded) | |||
# | |||
#locateExistingMBeanServerIfPossible = true | |||
@@ -0,0 +1,127 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# These properties are used to configure Karaf's ssh shell. | |||
# | |||
# | |||
# Via sshPort and sshHost you define the address you can login into Karaf. | |||
# | |||
sshPort = 8101 | |||
sshHost = 0.0.0.0 | |||
# | |||
# The sshIdleTimeout defines the inactivity timeout to logout the SSH session. | |||
# The sshIdleTimeout is in milliseconds, and the default is set to 30 minutes. | |||
# | |||
sshIdleTimeout = 1800000 | |||
# | |||
# sshRealm defines which JAAS domain to use for password authentication. | |||
# | |||
sshRealm = karaf | |||
# | |||
# sshRole defines the role required to access the console through ssh | |||
# | |||
sshRole = ssh | |||
# | |||
# Defines if the SFTP system is enabled or not in the SSH server | |||
# | |||
sftpEnabled=true | |||
# | |||
# The location of the hostKey file defines where the private/public key of the server | |||
# is located. If no file is at the defined location it will be ignored. | |||
# | |||
hostKey = ${karaf.etc}/host.key | |||
# | |||
# The format used for hostKey. | |||
# Possible values are simple (Karaf internal), or PEM (OpenSSH format) | |||
# | |||
hostKeyFormat = simple | |||
# | |||
# Self defined key size in 1024, 2048, 3072, or 4096 | |||
# If not set, this defaults to 2048. | |||
# | |||
# keySize = 2048 | |||
# | |||
# Specify host key algorithm, defaults to RSA | |||
# | |||
# algorithm = RSA | |||
# | |||
# Specify the client log level (default is WARN) | |||
# 0: ERROR | |||
# 1: WARN | |||
# 2: INFO | |||
# 3: DEBUG | |||
# 4: TRACE | |||
# | |||
#logLevel = 1 | |||
# | |||
# Specify an additional welcome banner to be displayed when a user logs into the server. | |||
# | |||
# welcomeBanner = | |||
# | |||
# Defines the completion mode on the Karaf shell console. The possible values are: | |||
# - GLOBAL: it's the same behavior as in previous Karaf releases. The completion displays all commands and all aliases | |||
# ignoring if you are in a subshell or not. | |||
# - FIRST: the completion displays all commands and all aliases only when you are not in a subshell. When you are | |||
# in a subshell, the completion displays only the commands local to the subshell. | |||
# - SUBSHELL: the completion displays only the subshells on the root level. When you are in a subshell, the completion | |||
# displays only the commands local to the subshell. | |||
# This property define the default value when you use the Karaf shell console. | |||
# You can change the completion mode directly in the shell console, using shell:completion command. | |||
# | |||
completionMode = GLOBAL | |||
# | |||
# Override allowed SSH cipher algorithms. | |||
# Default: aes128-ctr,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc | |||
# | |||
# ciphers = aes128-ctr,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc | |||
# | |||
# Override allowed SSH HMAC algorithms. | |||
# Default: hmac-sha2-512,hmac-sha2-256,hmac-sha1 | |||
# | |||
# macs = hmac-sha2-512,hmac-sha2-256,hmac-sha1 | |||
# | |||
# Override allowed SSH key exchange algorithms. | |||
# Default: diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1 | |||
# | |||
# kexAlgorithms = diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1 | |||
# | |||
# Override moduli-url. | |||
# Default: moduli-url not specified to use the internal one from SSHD | |||
# | |||
# moduli-url = external moduli-url users wanna use | |||
@@ -0,0 +1,105 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# Colors for log level rendering | |||
color.fatal = bright red | |||
color.error = bright red | |||
color.warn = bright yellow | |||
color.info = bright green | |||
color.debug = cyan | |||
color.trace = cyan | |||
# Common pattern layout for appenders | |||
log4j2.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n | |||
log4j2.out.pattern = \u001b[90m%d{HH:mm:ss\.SSS}\u001b[0m %highlight{%-5level}{FATAL=${color.fatal}, ERROR=${color.error}, WARN=${color.warn}, INFO=${color.info}, DEBUG=${color.debug}, TRACE=${color.trace}} \u001b[90m[%t]\u001b[0m %msg%n%throwable | |||
# Root logger | |||
log4j2.rootLogger.level = INFO | |||
# uncomment to use asynchronous loggers, which require mvn:com.lmax/disruptor/3.3.2 library | |||
#log4j2.rootLogger.type = asyncRoot | |||
#log4j2.rootLogger.includeLocation = false | |||
log4j2.rootLogger.appenderRef.RollingFile.ref = RollingFile | |||
log4j2.rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi | |||
log4j2.rootLogger.appenderRef.Console.ref = Console | |||
log4j2.rootLogger.appenderRef.Console.filter.threshold.type = ThresholdFilter | |||
log4j2.rootLogger.appenderRef.Console.filter.threshold.level = ${karaf.log.console:-OFF} | |||
# Loggers configuration | |||
# SSHD logger | |||
log4j2.logger.sshd.name = org.apache.sshd | |||
log4j2.logger.sshd.level = INFO | |||
# Spifly logger | |||
log4j2.logger.spifly.name = org.apache.aries.spifly | |||
log4j2.logger.spifly.level = WARN | |||
# Security audit logger | |||
log4j2.logger.audit.name = audit | |||
log4j2.logger.audit.level = TRACE | |||
log4j2.logger.audit.additivity = false | |||
log4j2.logger.audit.appenderRef.AuditRollingFile.ref = AuditRollingFile | |||
# Appenders configuration | |||
# Console appender not used by default (see log4j2.rootLogger.appenderRefs) | |||
log4j2.appender.console.type = Console | |||
log4j2.appender.console.name = Console | |||
log4j2.appender.console.layout.type = PatternLayout | |||
log4j2.appender.console.layout.pattern = ${log4j2.out.pattern} | |||
# Rolling file appender | |||
log4j2.appender.rolling.type = RollingRandomAccessFile | |||
log4j2.appender.rolling.name = RollingFile | |||
log4j2.appender.rolling.fileName = ${karaf.data}/log/karaf.log | |||
log4j2.appender.rolling.filePattern = ${karaf.data}/log/karaf.log.%i | |||
# uncomment to not force a disk flush | |||
#log4j2.appender.rolling.immediateFlush = false | |||
log4j2.appender.rolling.append = true | |||
log4j2.appender.rolling.layout.type = PatternLayout | |||
log4j2.appender.rolling.layout.pattern = ${log4j2.pattern} | |||
log4j2.appender.rolling.policies.type = Policies | |||
log4j2.appender.rolling.policies.size.type = SizeBasedTriggeringPolicy | |||
log4j2.appender.rolling.policies.size.size = 16MB | |||
# Audit file appender | |||
log4j2.appender.audit.type = RollingRandomAccessFile | |||
log4j2.appender.audit.name = AuditRollingFile | |||
log4j2.appender.audit.fileName = ${karaf.data}/log/security.log | |||
log4j2.appender.audit.filePattern = ${karaf.data}/log/security-%i.log | |||
log4j2.appender.audit.append = true | |||
log4j2.appender.audit.layout.type = PatternLayout | |||
log4j2.appender.audit.layout.pattern = %m%n | |||
log4j2.appender.audit.policies.type = Policies | |||
log4j2.appender.audit.policies.size.type = SizeBasedTriggeringPolicy | |||
log4j2.appender.audit.policies.size.size = 8MB | |||
# OSGi appender | |||
log4j2.appender.osgi.type = PaxOsgi | |||
log4j2.appender.osgi.name = PaxOsgi | |||
log4j2.appender.osgi.filter = * | |||
# help with identification of maven-related problems with pax-url-aether | |||
#log4j2.logger.aether.name = shaded.org.eclipse.aether | |||
#log4j2.logger.aether.level = TRACE | |||
#log4j2.logger.http-headers.name = shaded.org.apache.http.headers | |||
#log4j2.logger.http-headers.level = DEBUG | |||
#log4j2.logger.maven.name = org.ops4j.pax.url.mvn | |||
#log4j2.logger.maven.level = TRACE |
@@ -0,0 +1,146 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# see: https://ops4j1.jira.com/wiki/display/paxurl/Aether+Configuration | |||
# | |||
# If set to true, the following property will not allow any certificate to be used | |||
# when accessing Maven repositories through SSL | |||
# | |||
org.ops4j.pax.url.mvn.certificateCheck=true | |||
# | |||
# Path to the local Maven settings file. | |||
# The repositories defined in this file will be automatically added to the list | |||
# of default repositories if the 'org.ops4j.pax.url.mvn.repositories' property | |||
# below is not set. | |||
# The following locations are checked for the existence of the settings.xml file | |||
# * 1. looks for the specified url | |||
# * 2. if not found looks for ${user.home}/.m2/settings.xml | |||
# * 3. if not found looks for ${maven.home}/conf/settings.xml | |||
# * 4. if not found looks for ${M2_HOME}/conf/settings.xml | |||
# | |||
# Properties prefixed with "org.ops4j.pax.url.mvn." have | |||
# higher priority except <proxies> element. HTTP proxies should be configured in | |||
# settings file | |||
#org.ops4j.pax.url.mvn.settings= | |||
# | |||
# Path to the local Maven repository which is used to avoid downloading | |||
# artifacts when they already exist locally. | |||
# The value of this property will be extracted from the settings.xml file | |||
# above, or defaulted to: | |||
# System.getProperty( "user.home" ) + "/.m2/repository" | |||
# leaving this option commented makes the system dependent on external | |||
# configuration, which is not always desired | |||
# "localRepository" is the target location for artifacts downloaded from | |||
# "remote repositories" | |||
#org.ops4j.pax.url.mvn.localRepository= | |||
# | |||
# Default this to false. It's just weird to use undocumented repos | |||
# "false" means that http://repo1.maven.org/maven2@id=central won't be | |||
# implicitly used as remote repository | |||
# | |||
org.ops4j.pax.url.mvn.useFallbackRepositories=false | |||
# | |||
# Comma separated list of repositories scanned when resolving an artifact. | |||
# list of repositories searched in the first place, should contain | |||
# ${runtime.home}/${karaf.default.repository}. | |||
# if "org.ops4j.pax.url.mvn.localRepository" is defined and it's not | |||
# ~/.m2/repository, it's recommended (at least for dev purposes) to add | |||
# ~/.m2/repository to defaultRepositories | |||
# each of these repositories is checked by aether as "local repository". if | |||
# artifact isn't found, "repositories" are searched next | |||
# | |||
# Those repositories will be checked before iterating through the | |||
# below list of repositories and even before the local repository | |||
# A repository url can be appended with zero or more of the following flags: | |||
# @snapshots : the repository contains snaphots | |||
# @noreleases : the repository does not contain any released artifacts | |||
# | |||
# The following property value will add the system folder as a repo. | |||
# | |||
org.ops4j.pax.url.mvn.defaultRepositories=\ | |||
${karaf.home.uri}${karaf.default.repository}@id=system.repository@snapshots, \ | |||
${karaf.data.uri}kar@id=kar.repository@multi@snapshots, \ | |||
${karaf.base.uri}${karaf.default.repository}@id=child.system.repository@snapshots | |||
# | |||
# if "defaultLocalRepoAsRemote" is set to *any* value, localRepository will be | |||
# added to the list of remote repositories being searched for artifacts | |||
# | |||
#org.ops4j.pax.url.mvn.defaultLocalRepoAsRemote = true | |||
# | |||
# Comma separated list of repositories scanned when resolving an artifact. | |||
# list of repositories searched after resolution fails for "defaultRepositories" | |||
# These are true remote repositories accessed using maven/aether/wagon | |||
# mechanisms. If any repository contains required artifact, it is then written | |||
# to "localRepository" | |||
# | |||
# if this list is _prepended_ with '+' sign, all repositories from active | |||
# profiles defined in effective settings.xml file will be _appended_ to this | |||
# list | |||
# The default list includes the following repositories: | |||
# http://repo1.maven.org/maven2@id=central | |||
# http://repository.apache.org/content/groups/snapshots-group@id=apache@snapshots@noreleases | |||
# https://oss.sonatype.org/content/repositories/snapshots@id=sonatype.snapshots.deploy@snapshots@noreleases | |||
# https://oss.sonatype.org/content/repositories/ops4j-snapshots@id=ops4j.sonatype.snapshots.deploy@snapshots@noreleases | |||
# A repository url can be appended with zero or more of the following flags: | |||
# @snapshots : the repository contains snapshots | |||
# @noreleases : the repository does not contain any released artifacts | |||
# @id=repository.id : the id for the repository, just like in the | |||
# settings.xml this is optional but recommended | |||
# | |||
org.ops4j.pax.url.mvn.repositories= \ | |||
http://repo1.maven.org/maven2@id=central, \ | |||
http://repository.apache.org/content/groups/snapshots-group@id=apache@snapshots@noreleases, \ | |||
https://oss.sonatype.org/content/repositories/ops4j-snapshots@id=ops4j.sonatype.snapshots.deploy@snapshots@noreleases | |||
# | |||
# Global policies override repository-specific settings (@checksum=..., @update=..., @releasesUpdate=..., ...) | |||
# | |||
#org.ops4j.pax.url.mvn.globalUpdatePolicy = daily | |||
#org.ops4j.pax.url.mvn.globalChecksumPolicy = warn | |||
# | |||
# socket and connection configuration (pax-url-aether 2.5.0) | |||
# | |||
# default value for connection and read timeouts, when socket.readTimeout and socket.connectionTimeout | |||
# are not specified | |||
org.ops4j.pax.url.mvn.timeout = 5000 | |||
# timeout in ms when establishing http connection during artifact resolution | |||
org.ops4j.pax.url.mvn.socket.connectionTimeout = 5000 | |||
# timeout in ms when reading data after connecting to remote repository | |||
org.ops4j.pax.url.mvn.socket.readTimeout = 30000 | |||
# SO_KEEPALIVE option for sockets, defaults to false | |||
org.ops4j.pax.url.mvn.socket.keepAlive = false | |||
# SO_LINGER option for sockets, defaults to -1 | |||
org.ops4j.pax.url.mvn.socket.linger = -1 | |||
# SO_REUSEADDR option for sockets, defaults to false | |||
org.ops4j.pax.url.mvn.socket.reuseAddress = false | |||
# TCP_NODELAY option for sockets, defaults to true | |||
org.ops4j.pax.url.mvn.socket.tcpNoDelay = true | |||
# Configure buffer size for HTTP connections (output and input buffers), defaults to 8192 bytes | |||
org.ops4j.pax.url.mvn.connection.bufferSize = 8192 | |||
# Number of connection retries after failure is detected in http client. httpclient uses default value "3" | |||
org.ops4j.pax.url.mvn.connection.retryCount = 3 |
@@ -0,0 +1,6 @@ | |||
org.osgi.service.http.port=8181 | |||
javax.servlet.context.tempdir=${karaf.data}/pax-web-jsp | |||
org.ops4j.pax.web.config.file=${karaf.etc}/jetty.xml | |||
org.apache.karaf.features.configKey = org.ops4j.pax.web | |||
@@ -0,0 +1,38 @@ | |||
# | |||
# Profile generated by Karaf Assembly Builder | |||
# | |||
# Parent profiles | |||
attribute.parents = generated-startup generated-boot generated-installed | |||
# Attributes | |||
attribute.overlay = true | |||
# Feature XML repositories | |||
repository.mvn\:org.apache.karaf.features/standard/4.2.1/xml/features = mvn:org.apache.karaf.features/standard/4.2.1/xml/features | |||
repository.mvn\:org.apache.karaf.features/framework/4.2.1/xml/features = mvn:org.apache.karaf.features/framework/4.2.1/xml/features | |||
repository.mvn\:org.apache.karaf.features/spring/4.2.1/xml/features = mvn:org.apache.karaf.features/spring/4.2.1/xml/features | |||
repository.mvn\:org.apache.karaf.features/enterprise/4.2.1/xml/features = mvn:org.apache.karaf.features/enterprise/4.2.1/xml/features | |||
# Features | |||
feature.framework = framework | |||
feature.eventadmin = eventadmin | |||
feature.wrap = wrap | |||
feature.shell = shell | |||
feature.feature = feature | |||
feature.jaas = jaas | |||
feature.ssh = ssh | |||
feature.management = management | |||
feature.bundle = bundle | |||
feature.config = config | |||
feature.deployer = deployer | |||
feature.diagnostic = diagnostic | |||
feature.instance = instance | |||
feature.kar = kar | |||
feature.log = log | |||
feature.package = package | |||
feature.service = service | |||
feature.system = system | |||
feature.wrapper = wrapper | |||
feature.aries-blueprint = aries-blueprint | |||
feature.shell-compat = shell-compat |
@@ -0,0 +1,271 @@ | |||
// | |||
// Licensed to the Apache Software Foundation (ASF) under one | |||
// or more contributor license agreements. See the NOTICE file | |||
// distributed with this work for additional information | |||
// regarding copyright ownership. The ASF licenses this file | |||
// to you under the Apache License, Version 2.0 (the | |||
// "License"); you may not use this file except in compliance | |||
// with the License. You may obtain a copy of the License at | |||
// | |||
// http://www.apache.org/licenses/LICENSE-2.0 | |||
// | |||
// Unless required by applicable law or agreed to in writing, | |||
// software distributed under the License is distributed on an | |||
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |||
// KIND, either express or implied. See the License for the | |||
// specific language governing permissions and limitations | |||
// under the License. | |||
// | |||
// This script is run each time a shell is created. | |||
// You can define here closures or variables that will be available | |||
// in each session. | |||
// | |||
__option_not_present = { | |||
res = true | |||
opts = $argv | |||
each $opts { | |||
arg = $it | |||
each ($.commandLine words) { | |||
if { ($it toString) equals ($arg toString) } { | |||
res = false | |||
} | |||
} | |||
} | |||
$res | |||
} | |||
__set_unset_arguments = { | |||
is_setopt = (($.commandLine words) get 0) equals "setopt" | |||
enums = ((__load_class 'org.jline.reader.LineReader$Option') enumConstants) | |||
candidates = new ArrayList | |||
each $enums { | |||
name = ${(GL)it/_/-} | |||
is_set = ($.reader isSet $it) | |||
neg = %(( if(is_setopt, is_set, not(is_set)) )) | |||
if { $neg } { | |||
name = "no-${name}" | |||
} | |||
if { not { (($.commandLine words) subList 1 ($.commandLine wordIndex)) contains $name } } { | |||
$candidates add (new org.jline.reader.Candidate $name $name (if { $neg } { "unset" } { "set" }) null null null true) | |||
} | |||
} | |||
$candidates | |||
} | |||
jlineReader = $.reader | |||
if { %(jlineReader != null) } { | |||
complete -c shell:complete -e | |||
complete -c shell:complete -d "Edit command specific completions" | |||
complete -c shell:complete -s c -l command --description "Command to add completion to" -n '__option_not_present -c --command' -a '$.commands' | |||
complete -c shell:complete -s s -l short-option --description "Posix-style option to complete" -n '__option_not_present -s --short-option' | |||
complete -c shell:complete -s l -l long-option --description "GNU-style option to complete" -n '__option_not_present -l --long-option' | |||
complete -c shell:complete -s a -l arguments --description "A list of possible arguments" -n '__option_not_present -a --argument' | |||
complete -c shell:complete -s d -l description --description "Description of this completions" -n '__option_not_present -d --description' | |||
complete -c shell:complete -s h -l help --description "Display help and exit" -n '__option_not_present -h --help' | |||
complete -c shell:complete -s n -l condition --description "The completion should only be used if the specified command has a zero exit status" -n '__option_not_present -n --condition' | |||
complete -c shell:complete -s e -l erase --description "Remove completion" -n '__option_not_present -e --erase' | |||
complete -c shell:history -e | |||
complete -c shell:history -d "Show and manipulate command history" | |||
complete -c shell:history -l clear --description "Clear history" -n '__option_not_present --clear' | |||
complete -c shell:history -l save --description "Save history" -n '__option_not_present --save' | |||
complete -c shell:setopt -e | |||
complete -c shell:setopt -d "Set or view set shell options" | |||
complete -c shell:setopt -a '__set_unset_arguments' | |||
complete -c shell:unsetopt -e | |||
complete -c shell:unsetopt -d "Unset or view unset shell options" | |||
complete -c shell:unsetopt -a '__set_unset_arguments' | |||
complete -c shell:cat -e | |||
complete -c shell:cat -d "Concatenate and print files" | |||
complete -c shell:cat -s n "Number the output lines, starting at 1" | |||
complete -c shell:cat -a '__files' | |||
complete -c shell:pwd -e | |||
complete -c shell:pwd -d "Get current directory" | |||
complete -c shell:ls -e | |||
complete -c shell:ls -d "List files" | |||
complete -c shell:cd -e | |||
complete -c shell:cd -d "Change current directory" | |||
complete -c shell:cd -a 'wi = ($.commandLine wordIndex); if { %(wi==1) } { __directories } { [ ] }' | |||
complete -c shell:sleep -e | |||
complete -c shell:sleep -d "Pause execution for the specified amount of time" | |||
complete -c shell:echo -e | |||
complete -c shell:echo -d "Write arguments to the standard output" | |||
complete -c shell:echo -s n -d "No trailing new line" | |||
complete -c shell:grep -e | |||
complete -c shell:grep -d "File pattern searcher" | |||
# TODO | |||
complete -c shell:sort -e | |||
complete -c shell:sort -d "Sort lines of text files" | |||
# TODO | |||
complete -c shell:gosh -e | |||
complete -c shell:gosh -d "Execute script with arguments in a new session" | |||
# TODO | |||
complete -c shell:sh -e | |||
complete -c shell:sh -d "Execute script with arguments in a new session" | |||
# TODO | |||
complete -c shell:source -e | |||
complete -c shell:source -d "Execute script with arguments" | |||
# TODO | |||
# TODO: format getopt new set tac type addcommand removeCommand eval | |||
complete -c shell:break -e | |||
complete -c shell:break -d "Break from a loop" | |||
complete -c shell:continue -e | |||
complete -c shell:continue -d "Continue to next iteration in a loop" | |||
complete -c shell:each -e | |||
complete -c shell:each -d "Loop and execute script on the specified elements" | |||
complete -c shell:if -e | |||
complete -c shell:if -d "Conditionaly execute a script" | |||
complete -c shell:new -e | |||
complete -c shell:new -d "Creates new instance of the given java class" | |||
complete -c shell:not -e | |||
complete -c shell:not -d "Negates the result of a script" | |||
complete -c shell:throw -e | |||
complete -c shell:throw -d "Throws an exception" | |||
complete -c shell:try -e | |||
complete -c shell:try -d "Try executing a script and catch any exception" | |||
complete -c shell:until -e | |||
complete -c shell:until -d "Loop and execute script until a condition is satisfied" | |||
complete -c shell:while -e | |||
complete -c shell:while -d "Loop and execute script while a condition is satisfied" | |||
complete -c shell:less -e | |||
complete -c shell:less -d "File pager" | |||
complete -c shell:less -s e -l quit-at-eof --description "Exit on second EOF" | |||
complete -c shell:less -s E -l QUIT-AT-EOF --description "Exit on EOF" | |||
complete -c shell:less -s q -l quiet -l silent --description "Silent mode" | |||
complete -c shell:less -s Q -l QUIET -l SILENT --description "Completely silent" | |||
complete -c shell:less -s S -l chop-long-lines --description "Do not fold long lines" | |||
complete -c shell:less -s i -l ignore-case --description "Search ignores lowercase case" | |||
complete -c shell:less -s I -l IGNORE-CASE --description "Search ignores all case" | |||
complete -c shell:less -s x -l tabs --description "Set tab stops" | |||
complete -c shell:less -s N -l LINE-NUMBERS --description "Display line number for each line" | |||
complete -c shell:less -a '__files' | |||
complete -c shell:nano -e | |||
complete -c shell:nano -d "File editor" | |||
complete -c shell:nano -a '__files' | |||
complete -c shell:keymap -e | |||
complete -c shell:keymap -d "Manipulate keymaps" | |||
complete -c shell:keymap -s N --description "Create a new keymap" -n '__option_not_present -N -d -D -l -r -s -A' | |||
complete -c shell:keymap -s d --description "Delete existing keymaps and reset to default state" -n '__option_not_present -N -d -D -l -r -s -A' | |||
complete -c shell:keymap -s D --description "Delete named keymaps" -n '__option_not_present -N -d -D -l -r -s -A' | |||
complete -c shell:keymap -s l --description "List existing keymap names" -n '__option_not_present -N -d -D -l -r -s -A' | |||
complete -c shell:keymap -s r --description "Unbind specified in-strings" -n '__option_not_present -N -d -D -l -r -s -A' | |||
complete -c shell:keymap -s s --description "Bind each in-string to each out-string" -n '__option_not_present -N -d -D -l -r -s -A' | |||
complete -c shell:keymap -s A --description "Create alias to keymap" -n '__option_not_present -N -d -D -l -r -s -A' | |||
complete -c shell:keymap -s e --description "Select emacs keymap and bind it to main" -n '__option_not_present -e -a -v -M' | |||
complete -c shell:keymap -s v --description "Select viins keymap and bind it to main" -n '__option_not_present -e -a -v -M' | |||
complete -c shell:keymap -s a --description "Select vicmd keymap" -n '__option_not_present -e -a -v -M' | |||
complete -c shell:keymap -s M --description "Specify keymap to select" -n '__option_not_present -e -a -v -M' -a '(keymap -l | tac) split " "' | |||
complete -c shell:keymap -s R --description "Interpret in-strings as ranges" | |||
complete -c shell:keymap -s p --description "List bindings which have given key sequence as a a prefix" | |||
complete -c shell:keymap -s L --description "Output in form of keymap commands" | |||
complete -c shell:widget -e | |||
complete -c shell:widget -d "Manipulate widgets" | |||
complete -c shell:widget -s N --description "Create a new widget" -n '__option_not_present -N -A -D -U -l' | |||
complete -c shell:widget -s A --description "Create alias to widget" -n '__option_not_present -N -A -D -U -l' | |||
complete -c shell:widget -s D --description "Delete widgets" -n '__option_not_present -N -A -D -U -l' | |||
complete -c shell:widget -s U --description "Push characters to the stack" -n '__option_not_present -N -A -D -U -l' | |||
complete -c shell:widget -s l --description "List user-defined widgets" -n '__option_not_present -N -A -D -U -l' | |||
complete -c shell:widget -s a --description "With -l, list all widgets" -n '__option_not_present -l' | |||
complete -c shell:bg -e | |||
complete -c shell:bg -d "Put job in background" | |||
complete -c shell:fg -e | |||
complete -c shell:fg -d "Put job in foreground" | |||
complete -c shell:jobs -e | |||
complete -c shell:jobs -d "List jobs" | |||
complete -c shell:clear -e | |||
complete -c shell:clear -d "Clear screen" | |||
complete -c shell:head -e | |||
complete -c shell:head -d "Displays first lines of file" | |||
complete -c shell:head -s n -l lines --description "Print line counts" | |||
complete -c shell:head -s c -l bytes --description "Print byte counts" | |||
complete -c shell:head -a '__files' | |||
complete -c shell:tail -e | |||
complete -c shell:tail -d "Displays last lines of file" | |||
complete -c shell:tail -s q -l quiet --description "Suppress headers when printing multiple sources" | |||
complete -c shell:tail -s f -l follow --description "Do not stop at end of file" | |||
complete -c shell:tail -s F -l FOLLOW --description "Follow and check for file renaming or rotation" | |||
complete -c shell:tail -s n -l lines --description "Number of lines to print" | |||
complete -c shell:tail -s c -l bytes --description "Number of bytes to print" | |||
complete -c shell:tail -a '__files' | |||
complete -c shell:date -e | |||
complete -c shell:date -d "Display date and time" | |||
complete -c shell:date -s u --description "Use UTC" | |||
complete -c shell:date -s r --description "Print the date represented by 'seconds' since January 1, 1970" | |||
complete -c shell:date -s v --description "Adjust date" | |||
complete -c shell:date -s f --description "Use 'input_fmt' to parse 'new_date'" | |||
complete -c shell:wc -e | |||
complete -c shell:wc -d "Word, line, character, and byte count" | |||
complete -c shell:wc -s n -l lines --description "Print line count" | |||
complete -c shell:wc -s c -l bytes --description "Print byte count" | |||
complete -c shell:wc -s m -l chars --description "Print character count" | |||
complete -c shell:wc -s w -l words --description "Print word count" | |||
complete -c shell:wc -a '__files' | |||
__get_scr_components = { | |||
list = [ ] | |||
scrref = ($.context getServiceReference org.osgi.service.component.runtime.ServiceComponentRuntime) | |||
scr = ($.context getService $scrref) | |||
each ($scr getComponentDescriptionDTOs ($.context bundles)) { | |||
$list add ((($it getClass) getField "name") get $it) | |||
} | |||
$.context ungetService $scrref | |||
$list | |||
} | |||
complete -c scr:config -e | |||
complete -c scr:config -d "Show the current SCR configuration" | |||
complete -c scr:disable -e | |||
complete -c scr:disable -d "Disable an enabled component" | |||
complete -c scr:disable -a '__get_scr_components' | |||
complete -c scr:enable -e | |||
complete -c scr:enable -d "Enable an disabled component" | |||
complete -c scr:enable -a '__get_scr_components' | |||
complete -c scr:info -e | |||
complete -c scr:info -d "Dump information of a component or component configuration" | |||
complete -c scr:info -a '__get_scr_components' | |||
complete -c scr:list -e | |||
complete -c scr:list -d "List component configurations of a specific bundle" | |||
} |
@@ -0,0 +1,66 @@ | |||
// | |||
// Licensed to the Apache Software Foundation (ASF) under one | |||
// or more contributor license agreements. See the NOTICE file | |||
// distributed with this work for additional information | |||
// regarding copyright ownership. The ASF licenses this file | |||
// to you under the Apache License, Version 2.0 (the | |||
// "License"); you may not use this file except in compliance | |||
// with the License. You may obtain a copy of the License at | |||
// | |||
// http://www.apache.org/licenses/LICENSE-2.0 | |||
// | |||
// Unless required by applicable law or agreed to in writing, | |||
// software distributed under the License is distributed on an | |||
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |||
// KIND, either express or implied. See the License for the | |||
// specific language governing permissions and limitations | |||
// under the License. | |||
// | |||
// This script is run each time a shell is created. | |||
// You can define here closures or variables that will be available | |||
// in each session. | |||
// | |||
ld = { log:display $args } ; | |||
lde = { log:exception-display $args } ; | |||
la = { bundle:list -t 0 $args } ; | |||
ls = { service:list $args } ; | |||
cl = { config:list "(service.pid=$args)" } ; | |||
halt = { system:shutdown -h -f $args } ; | |||
help = { *:help $args | more } ; | |||
man = { help $args } ; | |||
log:list = { log:get ALL } ; | |||
service:get = { $.context getService ($.context getServiceReference $args) }; | |||
env = { shell:set $args } | |||
edit = { shell:nano $args } | |||
more = { shell:less -F $args } | |||
\#prompt = { "[1m${USER}[0m@${APPLICATION}(${SUBSHELL})> "?}; | |||
__load_class = { | |||
(($.reader class) classLoader) loadClass $1 | |||
} | |||
// make sure that we catch exceptions | |||
// as they do occur if the session is headless / non-interactive | |||
jlineReader = $.reader | |||
if { %(jlineReader != null) } { | |||
# On 256 colors terminal, add a right prompt | |||
max_colors = ($.jline.terminal getNumericCapability max_colors) | |||
if { %(max_colors >= 256) } { | |||
__rprompt_formatter = (((__load_class java.text.SimpleDateFormat) getConstructor (__load_class java.lang.String)) newInstance \'$'\u001B\[90m'\'HH:mm:ss) | |||
__date_class = (__load_class java.util.Date) | |||
// Do not use right prompt by default | |||
// \#rprompt = { $__rprompt_formatter format ($__date_class newInstance) } | |||
} | |||
setopt group | |||
setopt auto-fresh-line | |||
unsetopt insert-tab | |||
keymap "^[OA" up-line-or-search | |||
keymap "^[[A" up-line-or-search | |||
keymap "^[OB" down-line-or-search | |||
keymap "^[[B" down-line-or-search | |||
} |
@@ -0,0 +1,13 @@ | |||
# Bundles to be started on startup, with startlevel | |||
mvn\:org.apache.karaf.features/org.apache.karaf.features.extension/4.2.1 = 1 | |||
mvn\:org.apache.felix/org.apache.felix.metatype/1.2.0 = 5 | |||
mvn\:org.apache.karaf.services/org.apache.karaf.services.eventadmin/4.2.1 = 5 | |||
mvn\:org.ops4j.pax.url/pax-url-aether/2.5.4 = 5 | |||
mvn\:org.fusesource.jansi/jansi/1.17.1 = 8 | |||
mvn\:org.ops4j.pax.logging/pax-logging-api/1.10.1 = 8 | |||
mvn\:org.ops4j.pax.logging/pax-logging-log4j2/1.10.1 = 8 | |||
mvn\:org.apache.felix/org.apache.felix.coordinator/1.0.2 = 9 | |||
mvn\:org.apache.felix/org.apache.felix.configadmin/1.9.4 = 10 | |||
mvn\:org.apache.felix/org.apache.felix.fileinstall/3.6.4 = 11 | |||
mvn\:org.apache.karaf.features/org.apache.karaf.features.core/4.2.1 = 15 | |||
mvn\:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.2.11_1 = 20 |
@@ -0,0 +1,156 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# The properties defined in this file will be made available through system | |||
# properties at the very beginning of the Karaf's boot process. | |||
# | |||
# Properties file inclusions (as a space separated list of relative paths) | |||
# Included files will override the values specified in this file | |||
${optionals} = custom.system.properties | |||
# Log level when the pax-logging service is not available | |||
# This level will only be used while the pax-logging service bundle | |||
# is not fully available. | |||
# To change log levels, please refer to the org.ops4j.pax.logging.cfg file | |||
# instead. | |||
org.ops4j.pax.logging.DefaultServiceLog.level = ERROR | |||
# | |||
# Name of this Karaf instance. | |||
# | |||
karaf.name = root | |||
# | |||
# Default repository where bundles will be loaded from before using | |||
# other Maven repositories. For the full Maven configuration, see | |||
# the org.ops4j.pax.url.mvn.cfg file. | |||
# | |||
karaf.default.repository = system | |||
# | |||
# Location of a shell script that will be run when starting a shell | |||
# session. This script can be used to create aliases and define | |||
# additional commands. | |||
# | |||
# NB: ${karaf.etc} is implicitly added to the path, don't use absolute path here | |||
# | |||
karaf.shell.init.script = shell.init.script,scripts/*.script | |||
# | |||
# Sets the maximum size of the shell command history. If not set, | |||
# defaults to 500 entries. Setting to 0 will disable history. | |||
# | |||
# karaf.shell.history.maxSize = 0 | |||
# | |||
# Sets the maximum size of the local shell command history file. If not set, | |||
# defaults to 10000 entries. | |||
# | |||
# karaf.shell.history.file.maxSize = 10000 | |||
# | |||
# Deletes the entire karaf.data directory at every start | |||
# | |||
karaf.clean.all = false | |||
# | |||
# Deletes the karaf.data/cache directory at every start | |||
# | |||
karaf.clean.cache = false | |||
# | |||
# User name for the Karaf local console | |||
# | |||
karaf.local.user = karaf | |||
# | |||
# Roles to use when for the default user in the local Karaf console. | |||
# | |||
# The syntax is the following: | |||
# [classname:]principal | |||
# where classname is the class name of the principal object | |||
# (defaults to org.apache.karaf.jaas.modules.RolePrincipal) | |||
# and principal is the name of the principal of that class | |||
# (defaults to instance). | |||
# | |||
karaf.local.roles = admin,manager,viewer,systembundles | |||
# | |||
# Set this empty property to avoid errors when validating xml documents. | |||
# | |||
xml.catalog.files = | |||
# | |||
# Specs options | |||
# | |||
org.apache.servicemix.specs.debug = false | |||
org.apache.servicemix.specs.timeout = 0 | |||
org.apache.karaf.specs.debug = false | |||
org.apache.karaf.specs.timeout = 0 | |||
# | |||
# Settings for the OSGi 4.3 Weaving | |||
# By default, we will not weave any classes. Change this setting to include classes | |||
# that you application needs to have woven. | |||
# | |||
org.apache.aries.proxy.weaving.enabled = none | |||
# Classes not to weave - Aries default + Xerces which is known to have issues. | |||
org.apache.aries.proxy.weaving.disabled = org.objectweb.asm.*,org.slf4j.*,org.apache.log4j.*,javax.*,org.apache.xerces.* | |||
# | |||
# By default, only Karaf shell commands are secured, but additional services can be | |||
# secured by expanding this filter | |||
# | |||
karaf.secured.services = (&(osgi.command.scope=*)(osgi.command.function=*)) | |||
# | |||
# By default, if there's no ACL policy for a certain karaf command, this command is allowed to access | |||
# without the RBAC. We can change this behavior by enable the following property, which means | |||
# if a karaf command has no corresponding ACL then access it must have one of the karaf.secured.command.compulsory.roles | |||
# | |||
#karaf.secured.command.compulsory.roles=admin | |||
# | |||
# Security properties | |||
# | |||
# To enable OSGi security, uncomment the properties below, | |||
# install the framework-security feature and restart. | |||
# | |||
#java.security.policy=${karaf.etc}/all.policy | |||
#org.osgi.framework.security=osgi | |||
#org.osgi.framework.trust.repositories=${karaf.etc}/trustStore.ks | |||
# | |||
# HA/Lock configuration | |||
# | |||
# Karaf uses a lock mechanism to know which instance is the master (HA) | |||
# The lock can be on the filesystem (default) or on a database. | |||
# | |||
# See http://karaf.apache.org/manual/latest/users-guide/failover.html for details. | |||
# | |||
# Even using a single instance, Karaf creates the lock file | |||
# You can specify the location of the lock file using the | |||
# karaf.lock.dir=/path/to/the/directory/containing/the/lock | |||
# | |||
# By default, the slave instances start but are passive. | |||
# If you want to prevent the slave instances startup, you can use | |||
# the karaf.lock.slave.block property (false by default): | |||
# karaf.lock.slave.block=true |
@@ -0,0 +1,33 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
# | |||
# This file contains the users, groups, and roles. | |||
# Each line has to be of the format: | |||
# | |||
# USER=PASSWORD,ROLE1,ROLE2,... | |||
# USER=PASSWORD,_g_:GROUP,... | |||
# _g_\:GROUP=ROLE1,ROLE2,... | |||
# | |||
# All users, groups, and roles entered in this file are available after Karaf startup | |||
# and modifiable via the JAAS command group. These users reside in a JAAS domain | |||
# with the name "karaf". | |||
# | |||
karaf = karaf,_g_:admingroup | |||
_g_\:admingroup = group,admin,manager,viewer,systembundles,ssh |
@@ -0,0 +1,27 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
This directory is the standard Java classpath directory. | |||
Any jar in this folder will be part of the main classloader used to load Karaf. | |||
However, in OSGi, classes defined in these jars won't be available to other | |||
bundles unless one of the org.osgi.framework.system.packages.extra or | |||
org.osgi.framework.bootdelegation properties in the etc/config.properties file | |||
is modified to export or delegate the packages. | |||
Please refer to the OSGi Core Specification for more information on these | |||
properties and the OSGi classloading mechanism. |
@@ -0,0 +1,21 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
Any jar in this folder will be added to the classpath by the JVM and will be | |||
available to the Main class. Custom locking libraries can be added here. |
@@ -0,0 +1,23 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
This directory is the Java endorsed directory. | |||
Any jar in this folder will be used to override classes defined by the JVM. | |||
For more information, see: | |||
http://download.oracle.com/javase/6/docs/technotes/guides/standards/ |
@@ -0,0 +1,23 @@ | |||
################################################################################ | |||
# | |||
# Licensed to the Apache Software Foundation (ASF) under one or more | |||
# contributor license agreements. See the NOTICE file distributed with | |||
# this work for additional information regarding copyright ownership. | |||
# The ASF licenses this file to You under the Apache License, Version 2.0 | |||
# (the "License"); you may not use this file except in compliance with | |||
# the License. You may obtain a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, | |||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
################################################################################ | |||
This directory is the Java extension directory. | |||
Any jar in this folder will be used as a JVM extension. | |||
For more information, see | |||
http://download.oracle.com/javase/6/docs/technotes/guides/extensions/specs.html |
@@ -0,0 +1,26 @@ | |||
/* | |||
* Licensed to the Apache Software Foundation (ASF) under one or more | |||
* contributor license agreements. See the NOTICE file distributed with | |||
* this work for additional information regarding copyright ownership. | |||
* The ASF licenses this file to You under the Apache License, Version 2.0 | |||
* (the "License"); you may not use this file except in compliance with | |||
* the License. You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
This folder is the default repository where OSGi bundles will be loaded | |||
from before using other Maven repositories. Bundles are laid out as a | |||
Maven 2 repository. | |||
To change the default repository location, see the karaf.default.repository | |||
property in etc/system.properties. | |||
For the full Maven repository configuration, see the etc/org.ops4j.pax.url.mvn.cfg | |||
file. |