Browse Source

Fix karaf-4.2.1 test (#11264)

tags/8.7.0.alpha1
Ilia Motornyi 5 years ago
parent
commit
b370b042f2
No account linked to committer's email address
100 changed files with 8604 additions and 0 deletions
  1. 4
    0
      test/servlet-containers/karaf/karaf-run/.gitignore
  2. 58
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/BUILDING.md
  3. 475
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/LICENSE
  4. 65
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/NOTICE
  5. 92
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/README.md
  6. 622
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/RELEASE-NOTES.md
  7. 139
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/client
  8. 135
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/client.bat
  9. 33
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.conf
  10. 171
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.init
  11. 246
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.init-debian
  12. 164
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.init-redhat
  13. 94
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.solaris-smf
  14. 39
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.systemd
  15. 42
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.systemd-instances
  16. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-win.exe
  17. 50
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-win.xml
  18. 206
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service.sh
  19. 321
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/inc
  20. 143
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/instance
  21. 158
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/instance.bat
  22. 360
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/karaf
  23. 480
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/karaf.bat
  24. 52
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/setenv
  25. 67
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/setenv.bat
  26. 143
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/shell
  27. 143
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/shell.bat
  28. 103
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/start
  29. 98
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/start.bat
  30. 98
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/status
  31. 100
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/status.bat
  32. 98
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/stop
  33. 100
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/stop.bat
  34. 18
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/deploy/README
  35. 22
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/all.policy
  36. 269
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/config.properties
  37. 30
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/custom.properties
  38. 26
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/distribution.info
  39. 111
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/equinox-debug.properties
  40. 28
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/host.key
  41. 23
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/java.util.logging.properties
  42. 119
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jetty.xml
  43. 75
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.cfg
  44. 27
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.java.lang.Memory.cfg
  45. 40
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.org.apache.karaf.bundle.cfg
  46. 54
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.org.apache.karaf.config.cfg
  47. 29
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.org.apache.karaf.security.jmx.cfg
  48. 55
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.osgi.compendium.cm.cfg
  49. 727
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jre.properties
  50. 36
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/keys.properties
  51. 23
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.felix.eventadmin.impl.EventAdmin.cfg
  52. 25
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.felix.fileinstall-deploy.cfg
  53. 46
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.bundle.cfg
  54. 46
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.config.cfg
  55. 29
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.feature.cfg
  56. 25
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.jaas.cfg
  57. 29
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.kar.cfg
  58. 33
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.scope_bundle.cfg
  59. 28
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.shell.cfg
  60. 29
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.system.cfg
  61. 95
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.features.cfg
  62. 61
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.features.repos.cfg
  63. 63
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.jaas.cfg
  64. 35
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.kar.cfg
  65. 44
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.log.cfg
  66. 124
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.management.cfg
  67. 127
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.shell.cfg
  68. 105
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.ops4j.pax.logging.cfg
  69. 146
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.ops4j.pax.url.mvn.cfg
  70. 6
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.ops4j.pax.web.cfg
  71. 38
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/profile.cfg
  72. 271
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/scripts/shell.completion.script
  73. 66
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/shell.init.script
  74. 13
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/startup.properties
  75. 156
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/system.properties
  76. 33
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/users.properties
  77. 27
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/README
  78. 21
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/README
  79. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/activation-1.1.1.jar
  80. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/jaxb-api-2.3.0.jar
  81. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/jaxb-core-2.2.11.jar
  82. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/jaxb-impl-2.2.11.jar
  83. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/org.apache.karaf.diagnostic.boot-4.2.1.jar
  84. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/org.apache.karaf.jaas.boot-4.2.1.jar
  85. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/org.apache.karaf.main-4.2.1.jar
  86. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/org.osgi.core-6.0.0.jar
  87. 23
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/endorsed/README
  88. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/endorsed/org.apache.karaf.specs.java.xml-4.2.1.jar
  89. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/endorsed/org.apache.karaf.specs.locator-4.2.1.jar
  90. 23
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/ext/README
  91. 26
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/README
  92. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/blueprint/org.apache.aries.blueprint.api/1.0.1/org.apache.aries.blueprint.api-1.0.1.jar
  93. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/blueprint/org.apache.aries.blueprint.cm/1.2.0/org.apache.aries.blueprint.cm-1.2.0.jar
  94. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0/org.apache.aries.blueprint.core.compatibility-1.0.0.jar
  95. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/blueprint/org.apache.aries.blueprint.core/1.9.0/org.apache.aries.blueprint.core-1.9.0.jar
  96. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/jmx/org.apache.aries.jmx.api/1.1.5/org.apache.aries.jmx.api-1.1.5.jar
  97. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/jmx/org.apache.aries.jmx.blueprint.api/1.2.0/org.apache.aries.jmx.blueprint.api-1.2.0.jar
  98. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/jmx/org.apache.aries.jmx.blueprint.core/1.2.0/org.apache.aries.jmx.blueprint.core-1.2.0.jar
  99. BIN
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/jmx/org.apache.aries.jmx.core/1.1.8/org.apache.aries.jmx.core-1.1.8.jar
  100. 0
    0
      test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/jmx/org.apache.aries.jmx.whiteboard/1.2.0/org.apache.aries.jmx.whiteboard-1.2.0.jar

+ 4
- 0
test/servlet-containers/karaf/karaf-run/.gitignore View File

@@ -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

+ 58
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/BUILDING.md View File

@@ -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.


+ 475
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/LICENSE View File

@@ -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.

+ 65
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/NOTICE View File

@@ -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

+ 92
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/README.md View File

@@ -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**

+ 622
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/RELEASE-NOTES.md View File

@@ -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

+ 139
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/client View File

@@ -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 "$@"

+ 135
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/client.bat View File

@@ -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


+ 33
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.conf View File

@@ -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
#

+ 171
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.init View File

@@ -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

+ 246
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.init-debian View File

@@ -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

+ 164
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.init-redhat View File

@@ -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

+ 94
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.solaris-smf View File

@@ -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 &amp;">
</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>


+ 39
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.systemd View File

@@ -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


+ 42
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-template.systemd-instances View File

@@ -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

BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-win.exe View File


+ 50
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service-win.xml View File

@@ -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>

+ 206
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/contrib/karaf-service.sh View File

@@ -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

+ 321
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/inc View File

@@ -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
}


+ 143
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/instance View File

@@ -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 "$@"


+ 158
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/instance.bat View File

@@ -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


+ 360
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/karaf View File

@@ -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 "$@"

+ 480
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/karaf.bat View File

@@ -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%

+ 52
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/setenv View File

@@ -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

+ 67
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/setenv.bat View File

@@ -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


+ 143
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/shell View File

@@ -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 "$@"


+ 143
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/shell.bat View File

@@ -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


+ 103
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/start View File

@@ -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 "$@"


+ 98
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/start.bat View File

@@ -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


+ 98
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/status View File

@@ -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 "$@"


+ 100
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/status.bat View File

@@ -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

+ 98
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/stop View File

@@ -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 "$@"


+ 100
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/bin/stop.bat View File

@@ -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

+ 18
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/deploy/README View File

@@ -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.

+ 22
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/all.policy View File

@@ -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;
};

+ 269
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/config.properties View File

@@ -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

+ 30
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/custom.properties View File

@@ -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.
#


+ 26
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/distribution.info View File

@@ -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


+ 111
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/equinox-debug.properties View File

@@ -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

+ 28
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/host.key View File

@@ -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-----

+ 23
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/java.util.logging.properties View File

@@ -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



+ 119
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jetty.xml View File

@@ -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>

+ 75
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.cfg View File

@@ -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


+ 27
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.java.lang.Memory.cfg View File

@@ -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


+ 40
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.org.apache.karaf.bundle.cfg View File

@@ -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

+ 54
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.org.apache.karaf.config.cfg View File

@@ -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

+ 29
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.org.apache.karaf.security.jmx.cfg View File

@@ -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


+ 55
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jmx.acl.osgi.compendium.cm.cfg View File

@@ -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


+ 727
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/jre.properties View File

@@ -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}

+ 36
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/keys.properties View File

@@ -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

+ 23
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.felix.eventadmin.impl.EventAdmin.cfg View File

@@ -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


+ 25
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.felix.fileinstall-deploy.cfg View File

@@ -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

+ 46
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.bundle.cfg View File

@@ -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

+ 46
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.config.cfg View File

@@ -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

+ 29
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.feature.cfg View File

@@ -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

+ 25
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.jaas.cfg View File

@@ -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

+ 29
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.kar.cfg View File

@@ -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

+ 33
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.scope_bundle.cfg View File

@@ -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


+ 28
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.shell.cfg View File

@@ -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


+ 29
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.command.acl.system.cfg View File

@@ -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

+ 95
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.features.cfg View File

@@ -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

+ 61
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.features.repos.cfg View File

@@ -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


+ 63
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.jaas.cfg View File

@@ -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


+ 35
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.kar.cfg View File

@@ -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

+ 44
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.log.cfg View File

@@ -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"


+ 124
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.management.cfg View File

@@ -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


+ 127
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.apache.karaf.shell.cfg View File

@@ -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



+ 105
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.ops4j.pax.logging.cfg View File

@@ -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

+ 146
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.ops4j.pax.url.mvn.cfg View File

@@ -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

+ 6
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/org.ops4j.pax.web.cfg View File

@@ -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


+ 38
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/profile.cfg View File

@@ -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

+ 271
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/scripts/shell.completion.script View File

@@ -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"

}

+ 66
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/shell.init.script View File

@@ -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 = { "${USER}@${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

}

+ 13
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/startup.properties View File

@@ -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

+ 156
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/system.properties View File

@@ -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

+ 33
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/etc/users.properties View File

@@ -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

+ 27
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/README View File

@@ -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.

+ 21
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/README View File

@@ -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.

BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/activation-1.1.1.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/jaxb-api-2.3.0.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/jaxb-core-2.2.11.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/jaxb-impl-2.2.11.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/org.apache.karaf.diagnostic.boot-4.2.1.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/org.apache.karaf.jaas.boot-4.2.1.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/org.apache.karaf.main-4.2.1.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/boot/org.osgi.core-6.0.0.jar View File


+ 23
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/endorsed/README View File

@@ -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/

BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/endorsed/org.apache.karaf.specs.java.xml-4.2.1.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/endorsed/org.apache.karaf.specs.locator-4.2.1.jar View File


+ 23
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/lib/ext/README View File

@@ -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

+ 26
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/README View File

@@ -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.

BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/blueprint/org.apache.aries.blueprint.api/1.0.1/org.apache.aries.blueprint.api-1.0.1.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/blueprint/org.apache.aries.blueprint.cm/1.2.0/org.apache.aries.blueprint.cm-1.2.0.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0/org.apache.aries.blueprint.core.compatibility-1.0.0.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/blueprint/org.apache.aries.blueprint.core/1.9.0/org.apache.aries.blueprint.core-1.9.0.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/jmx/org.apache.aries.jmx.api/1.1.5/org.apache.aries.jmx.api-1.1.5.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/jmx/org.apache.aries.jmx.blueprint.api/1.2.0/org.apache.aries.jmx.blueprint.api-1.2.0.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/jmx/org.apache.aries.jmx.blueprint.core/1.2.0/org.apache.aries.jmx.blueprint.core-1.2.0.jar View File


BIN
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/jmx/org.apache.aries.jmx.core/1.1.8/org.apache.aries.jmx.core-1.1.8.jar View File


+ 0
- 0
test/servlet-containers/karaf/karaf-run/apache-karaf-4.2.1-minimal/system/org/apache/aries/jmx/org.apache.aries.jmx.whiteboard/1.2.0/org.apache.aries.jmx.whiteboard-1.2.0.jar View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save