This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/karaf.git
The following commit(s) were added to refs/heads/master by this push:
new 8b10e76 [KARAF-5770] OSGi R7 Support
new 0b83093 Merge pull request #995 from jbonofre/KARAF-5770
8b10e76 is described below
commit 8b10e76169af07ed5fbacb0cb8f305bc6ae2427a
Author: Jean-Baptiste Onofré <[email protected]>
AuthorDate: Mon Nov 18 13:53:33 2019 +0100
[KARAF-5770] OSGi R7 Support
---
.../resources/etc/config.properties | 12 +--
assemblies/features/static/pom.xml | 2 +-
audit/pom.xml | 1 +
bundle/core/pom.xml | 4 +
config/pom.xml | 1 +
deployer/features/pom.xml | 4 +
diagnostic/boot/pom.xml | 1 +
diagnostic/core/pom.xml | 1 +
docker/pom.xml | 1 +
.../karaf-log-appender-example-core/pom.xml | 4 +-
features/core/pom.xml | 2 +
http/pom.xml | 4 +
instance/pom.xml | 1 +
.../karaf/instance/resources/etc/config.properties | 12 +--
.../test/filtered-resources/etc/config.properties | 12 +--
.../itests/features/StandardFeaturesTest.java | 5 --
jaas/config/pom.xml | 1 +
jaas/jasypt/pom.xml | 1 +
jaas/modules/pom.xml | 1 +
jdbc/pom.xml | 4 +
jms/pom.xml | 1 +
jndi/pom.xml | 4 +
kar/pom.xml | 4 +
log/pom.xml | 1 +
.../log/core/internal/LogEventFormatterImpl.java | 7 +-
.../log/core/internal/layout/PatternParser.java | 31 ++++---
.../karaf/log/core/internal/osgi/Activator.java | 12 +--
main/src/main/java/org/apache/karaf/main/Main.java | 18 ++--
.../test-karaf-home/etc/config.properties | 39 +++++----
management/server/pom.xml | 1 +
maven/core/pom.xml | 3 +-
obr/pom.xml | 4 +
package/pom.xml | 4 +
pom.xml | 14 ++--
profile/pom.xml | 5 ++
scheduler/pom.xml | 1 +
service/core/pom.xml | 4 +
service/guard/pom.xml | 4 +
services/eventadmin/pom.xml | 1 +
services/staticcm/pom.xml | 4 +
shell/commands/pom.xml | 1 +
shell/console/pom.xml | 1 +
shell/core/pom.xml | 1 +
shell/ssh/pom.xml | 1 +
system/pom.xml | 4 +
.../java/org/apache/karaf/tooling/RunMojo.java | 96 +++++++++++++++++++---
web/pom.xml | 4 +
webconsole/console/pom.xml | 1 +
wrapper/pom.xml | 1 +
49 files changed, 259 insertions(+), 87 deletions(-)
diff --git
a/assemblies/features/base/src/main/filtered-resources/resources/etc/config.properties
b/assemblies/features/base/src/main/filtered-resources/resources/etc/config.properties
index d987fc9..859d074 100644
---
a/assemblies/features/base/src/main/filtered-resources/resources/etc/config.properties
+++
b/assemblies/features/base/src/main/filtered-resources/resources/etc/config.properties
@@ -57,11 +57,11 @@
karaf.framework.felix=mvn\:org.apache.felix/org.apache.felix.framework/@@felix.f
# Framework config properties.
#
org.osgi.framework.system.packages= \
- org.osgi.dto;version="1.0",\
+ org.osgi.dto;version="1.1",\
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;version="1.9",\
+ org.osgi.framework.dto;version="1.9";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",\
@@ -71,13 +71,13 @@ org.osgi.framework.system.packages= \
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.framework.wiring.dto;version="1.3";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.resolver;version="1.1";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.osgi.util.tracker;version="1.5.2";uses:="org.osgi.framework",\
org.apache.karaf.version;version="@@karaf.osgi.version@@",\
org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version="@@karaf.osgi.version@@",\
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="@@karaf.osgi.version@@",\
diff --git a/assemblies/features/static/pom.xml
b/assemblies/features/static/pom.xml
index 3f8d7cf..adefef5 100644
--- a/assemblies/features/static/pom.xml
+++ b/assemblies/features/static/pom.xml
@@ -52,7 +52,7 @@
</dependency>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
- <artifactId>pax-logging-service</artifactId>
+ <artifactId>pax-logging-log4j1</artifactId>
</dependency>
<dependency>
<groupId>org.apache.karaf.services</groupId>
diff --git a/audit/pom.xml b/audit/pom.xml
index ebbb568..627a3cb 100644
--- a/audit/pom.xml
+++ b/audit/pom.xml
@@ -104,6 +104,7 @@
<Export-Package>
</Export-Package>
<Import-Package>
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git a/bundle/core/pom.xml b/bundle/core/pom.xml
index 9f2e2f2..4ea04a9 100644
--- a/bundle/core/pom.xml
+++ b/bundle/core/pom.xml
@@ -126,6 +126,10 @@
<Export-Package>
org.apache.karaf.bundle.core;-noimport:=true
</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.bundle.command*,
org.apache.karaf.bundle.core.internal,
diff --git a/config/pom.xml b/config/pom.xml
index c5b3054..83910e8 100644
--- a/config/pom.xml
+++ b/config/pom.xml
@@ -106,6 +106,7 @@
</Export-Package>
<Import-Package>
org.osgi.service.metatype;resolution:=optional,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git a/deployer/features/pom.xml b/deployer/features/pom.xml
index ffc8d34..3b75fb3 100644
--- a/deployer/features/pom.xml
+++ b/deployer/features/pom.xml
@@ -101,6 +101,10 @@
<configuration>
<instructions>
<Export-Package />
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.deployer.features,
org.apache.karaf.deployer.features.osgi,
diff --git a/diagnostic/boot/pom.xml b/diagnostic/boot/pom.xml
index 711e8b4..0e9a255 100644
--- a/diagnostic/boot/pom.xml
+++ b/diagnostic/boot/pom.xml
@@ -65,6 +65,7 @@
<Import-Package>
com.sun.management;resolution:=optional,
sun.misc;resolution:=optional,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Karaf-Activator>
diff --git a/diagnostic/core/pom.xml b/diagnostic/core/pom.xml
index 792e5e4..28c9ca7 100644
--- a/diagnostic/core/pom.xml
+++ b/diagnostic/core/pom.xml
@@ -105,6 +105,7 @@
</Export-Package>
<Import-Package>
com.sun.management*;resolution:=optional,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git a/docker/pom.xml b/docker/pom.xml
index 07daefc..4c0e9f0 100644
--- a/docker/pom.xml
+++ b/docker/pom.xml
@@ -99,6 +99,7 @@
</Export-Package>
<Import-Package>
com.fasterxml.jackson*;version="[2,3)",
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git
a/examples/karaf-log-appender-example/karaf-log-appender-example-core/pom.xml
b/examples/karaf-log-appender-example/karaf-log-appender-example-core/pom.xml
index f9d296f..b77a3a6 100644
---
a/examples/karaf-log-appender-example/karaf-log-appender-example-core/pom.xml
+++
b/examples/karaf-log-appender-example/karaf-log-appender-example-core/pom.xml
@@ -35,7 +35,7 @@
<dependencies>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
- <artifactId>pax-logging-service</artifactId>
+ <artifactId>pax-logging-log4j1</artifactId>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
@@ -52,7 +52,7 @@
<configuration>
<instructions>
<Import-Package>
- org.ops4j.pax.logging*;version="[1.7,2)",
+ org.ops4j.pax.logging*;version="[1,3)",
*
</Import-Package>
</instructions>
diff --git a/features/core/pom.xml b/features/core/pom.xml
index 846e9f6..9ac559d 100644
--- a/features/core/pom.xml
+++ b/features/core/pom.xml
@@ -166,6 +166,8 @@
<Import-Package>
!org.eclipse.osgi.service.resolver,
javax.xml.bind*;version="[2.2,3)",
+ org.osgi.framework*;version="[1,3)",
+ org.osgi.service.resolver;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git a/http/pom.xml b/http/pom.xml
index 94ae1ac..15bc744 100644
--- a/http/pom.xml
+++ b/http/pom.xml
@@ -110,6 +110,10 @@
<Export-Package>
org.apache.karaf.http.core
</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.util.tracker;-split-package:=merge-first,
org.apache.karaf.http.command,
diff --git a/instance/pom.xml b/instance/pom.xml
index e8aaa6f..76d6779 100644
--- a/instance/pom.xml
+++ b/instance/pom.xml
@@ -208,6 +208,7 @@
<Import-Package>
!org.apache.karaf.shell.impl.action.command,
!org.apache.karaf.instance.core.internal,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git
a/instance/src/main/resources/org/apache/karaf/instance/resources/etc/config.properties
b/instance/src/main/resources/org/apache/karaf/instance/resources/etc/config.properties
index d8b1f95..629111c 100644
---
a/instance/src/main/resources/org/apache/karaf/instance/resources/etc/config.properties
+++
b/instance/src/main/resources/org/apache/karaf/instance/resources/etc/config.properties
@@ -57,11 +57,11 @@
karaf.framework.felix=mvn\:org.apache.felix/org.apache.felix.framework/@@felix.f
# Framework config properties.
#
org.osgi.framework.system.packages= \
- org.osgi.dto;version="1.0",\
+ org.osgi.dto;version="1.1",\
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;version="1.9",\
+ org.osgi.framework.dto;version="1.9";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",\
@@ -71,13 +71,13 @@ org.osgi.framework.system.packages= \
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.framework.wiring.dto;version="1.3";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.resolver;version="1.1";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.osgi.util.tracker;version="1.5.2";uses:="org.osgi.framework",\
org.apache.karaf.version;version="@@karaf.osgi.version@@",\
org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version="@@karaf.osgi.version@@",\
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="@@karaf.osgi.version@@",\
diff --git a/itests/test/src/test/filtered-resources/etc/config.properties
b/itests/test/src/test/filtered-resources/etc/config.properties
index a563ca5..1ea7b7b 100644
--- a/itests/test/src/test/filtered-resources/etc/config.properties
+++ b/itests/test/src/test/filtered-resources/etc/config.properties
@@ -57,11 +57,11 @@
karaf.framework.felix=mvn\:org.apache.felix/org.apache.felix.framework/@@felix.f
# Framework config properties.
#
org.osgi.framework.system.packages= \
- org.osgi.dto;version="1.0",\
+ org.osgi.dto;version="1.1",\
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;version="1.9",\
+ org.osgi.framework.dto;version="1.9";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",\
@@ -71,13 +71,13 @@ org.osgi.framework.system.packages= \
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.framework.wiring.dto;version="1.3";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.resolver;version="1.1";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.osgi.util.tracker;version="1.5.2";uses:="org.osgi.framework",\
org.apache.karaf.version;version="@@karaf.osgi.version@@",\
org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version="@@karaf.osgi.version@@",\
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="@@karaf.osgi.version@@",\
diff --git
a/itests/test/src/test/java/org/apache/karaf/itests/features/StandardFeaturesTest.java
b/itests/test/src/test/java/org/apache/karaf/itests/features/StandardFeaturesTest.java
index 11659bf..c12a269 100644
---
a/itests/test/src/test/java/org/apache/karaf/itests/features/StandardFeaturesTest.java
+++
b/itests/test/src/test/java/org/apache/karaf/itests/features/StandardFeaturesTest.java
@@ -45,11 +45,6 @@ public class StandardFeaturesTest extends BaseTest {
assertFeatureInstalled("service");
assertFeatureInstalled("system");
}
-
- @Test
- public void installFrameworkSecurityFeature() throws Exception {
- installAssertAndUninstallFeatures("framework-security");
- }
public void installServiceSecurityFeature() throws Exception {
System.out.println("===>installServiceSecurityFeature");
diff --git a/jaas/config/pom.xml b/jaas/config/pom.xml
index 93ee079..b526dfe 100644
--- a/jaas/config/pom.xml
+++ b/jaas/config/pom.xml
@@ -103,6 +103,7 @@
</Export-Package>
<Import-Package>
!${project.artifactId}.*,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git a/jaas/jasypt/pom.xml b/jaas/jasypt/pom.xml
index 03a77b3..3dcccdd 100644
--- a/jaas/jasypt/pom.xml
+++ b/jaas/jasypt/pom.xml
@@ -147,6 +147,7 @@
<configuration>
<instructions>
<Import-Package>
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git a/jaas/modules/pom.xml b/jaas/modules/pom.xml
index 8fa78c5..7ed5184 100644
--- a/jaas/modules/pom.xml
+++ b/jaas/modules/pom.xml
@@ -166,6 +166,7 @@
javax.net,
org.apache.karaf.jaas.config,
org.osgi.service.event;resolution:=optional,
+ org.osgi.framework;version="[1,3)",
!net.sf.ehcache*,
!net.spy.memcached*,
com.sun.security.auth.module;resolution:=optional,
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index e834422..ef739b3 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -89,6 +89,10 @@
<Export-Package>
org.apache.karaf.jdbc
</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.jdbc.command,
org.apache.karaf.jdbc.command.ds,
diff --git a/jms/pom.xml b/jms/pom.xml
index e8b10da..3bc09be 100644
--- a/jms/pom.xml
+++ b/jms/pom.xml
@@ -113,6 +113,7 @@
<Import-Package>
javax.jms;version="[1.1,3)",
org.apache.activemq*;resolution:=optional,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git a/jndi/pom.xml b/jndi/pom.xml
index f2d9b69..6617afc 100644
--- a/jndi/pom.xml
+++ b/jndi/pom.xml
@@ -92,6 +92,10 @@
<Export-Package>
org.apache.karaf.jndi
</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.jndi.command,
org.apache.karaf.jndi.command.completers,
diff --git a/kar/pom.xml b/kar/pom.xml
index 7e1a5fa..a38694f 100644
--- a/kar/pom.xml
+++ b/kar/pom.xml
@@ -113,6 +113,10 @@
<Export-Package>
org.apache.karaf.kar
</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.kar.command,
org.apache.karaf.kar.command.completers,
diff --git a/log/pom.xml b/log/pom.xml
index 62c7f50..04b5999 100644
--- a/log/pom.xml
+++ b/log/pom.xml
@@ -108,6 +108,7 @@
org.apache.karaf.log.core
</Export-Package>
<Import-Package>
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git
a/log/src/main/java/org/apache/karaf/log/core/internal/LogEventFormatterImpl.java
b/log/src/main/java/org/apache/karaf/log/core/internal/LogEventFormatterImpl.java
index 5709b6b..c7f7ffd 100644
---
a/log/src/main/java/org/apache/karaf/log/core/internal/LogEventFormatterImpl.java
+++
b/log/src/main/java/org/apache/karaf/log/core/internal/LogEventFormatterImpl.java
@@ -23,17 +23,18 @@ import org.apache.karaf.log.core.LogEventFormatter;
import org.apache.karaf.log.core.internal.layout.PatternConverter;
import org.apache.karaf.log.core.internal.layout.PatternParser;
import org.ops4j.pax.logging.spi.PaxLoggingEvent;
+import org.osgi.service.log.LogLevel;
public class LogEventFormatterImpl implements LogEventFormatter {
private String pattern;
- private Map<Integer, String> level2Color = new HashMap<>();
+ private Map<LogLevel, String> level2Color = new HashMap<>();
public void setPattern(String pattern) {
this.pattern = pattern;
}
- public void setColor(int level, String color) {
+ public void setColor(LogLevel level, String color) {
if (color != null && color.length() > 0) {
this.level2Color.put(level, color);
} else {
@@ -73,7 +74,7 @@ public class LogEventFormatterImpl implements
LogEventFormatter {
private String getColor(PaxLoggingEvent event, boolean noColor) {
if (!noColor && event != null && event.getLevel() != null &&
event.getLevel().toString() != null) {
- return level2Color.get(event.getLevel().toInt());
+ return level2Color.get(event.getLevel());
} else {
return null;
}
diff --git
a/log/src/main/java/org/apache/karaf/log/core/internal/layout/PatternParser.java
b/log/src/main/java/org/apache/karaf/log/core/internal/layout/PatternParser.java
index b69fa1d..03b0e16 100644
---
a/log/src/main/java/org/apache/karaf/log/core/internal/layout/PatternParser.java
+++
b/log/src/main/java/org/apache/karaf/log/core/internal/layout/PatternParser.java
@@ -28,6 +28,7 @@ import java.util.Map;
import org.ops4j.pax.logging.PaxLogger;
import org.ops4j.pax.logging.spi.PaxLocationInfo;
import org.ops4j.pax.logging.spi.PaxLoggingEvent;
+import org.osgi.service.log.LogLevel;
/**
* Copied from log4j
@@ -559,22 +560,20 @@ public class PatternParser {
public
String convert(PaxLoggingEvent event) {
String s;
- switch (event.getLevel().toInt()) {
- case PaxLogger.LEVEL_TRACE:
- s = "trace";
- break;
- case PaxLogger.LEVEL_DEBUG:
- s = "debug";
- break;
- case PaxLogger.LEVEL_INFO:
- s = "info";
- break;
- case PaxLogger.LEVEL_WARNING:
- s = "warn";
- break;
- default:
- s = "error";
- break;
+ if (event.getLevel().toLevel().equals(LogLevel.TRACE)) {
+ s = "trace";
+ } else if (event.getLevel().toLevel().equals(LogLevel.DEBUG)) {
+ s = "debug";
+ } else if (event.getLevel().toLevel().equals(LogLevel.INFO)) {
+ s = "info";
+ } else if (event.getLevel().toLevel().equals(LogLevel.WARN)) {
+ s = "warn";
+ } else if (event.getLevel().toLevel().equals(LogLevel.ERROR)) {
+ s = "error";
+ } else if (event.getLevel().toLevel().equals(LogLevel.AUDIT)) {
+ s = "audit";
+ } else {
+ s = "error";
}
String str = style.get(s);
if (str != null) {
diff --git
a/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java
b/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java
index f47b456..d1677ea 100644
--- a/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java
+++ b/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java
@@ -32,6 +32,7 @@ import org.ops4j.pax.logging.PaxLogger;
import org.ops4j.pax.logging.spi.PaxAppender;
import org.osgi.service.cm.ConfigurationAdmin;
import org.osgi.service.cm.ManagedService;
+import org.osgi.service.log.LogLevel;
@Services(
requires = @RequireService(ConfigurationAdmin.class),
@@ -56,11 +57,12 @@ public class Activator extends BaseActivator implements
ManagedService {
LogEventFormatterImpl formatter = new LogEventFormatterImpl();
formatter.setPattern(pattern);
- formatter.setColor(PaxLogger.LEVEL_ERROR, errorColor);
- formatter.setColor(PaxLogger.LEVEL_WARNING, warnColor);
- formatter.setColor(PaxLogger.LEVEL_INFO, infoColor);
- formatter.setColor(PaxLogger.LEVEL_DEBUG, debugColor);
- formatter.setColor(PaxLogger.LEVEL_TRACE, traceColor);
+ formatter.setColor(LogLevel.ERROR, errorColor);
+ formatter.setColor(LogLevel.WARN, warnColor);
+ formatter.setColor(LogLevel.INFO, infoColor);
+ formatter.setColor(LogLevel.DEBUG, debugColor);
+ formatter.setColor(LogLevel.TRACE, traceColor);
+ formatter.setColor(LogLevel.AUDIT, traceColor);
register(LogEventFormatter.class, formatter);
LogServiceImpl logService = new LogServiceImpl(configurationAdmin,
size);
diff --git a/main/src/main/java/org/apache/karaf/main/Main.java
b/main/src/main/java/org/apache/karaf/main/Main.java
index 30d2670..d9ee3c8 100644
--- a/main/src/main/java/org/apache/karaf/main/Main.java
+++ b/main/src/main/java/org/apache/karaf/main/Main.java
@@ -91,7 +91,8 @@ public class Main {
private volatile boolean exiting;
private AutoCloseable shutdownThread;
private Thread monitorThread;
-
+ private URLClassLoader classLoader;
+
/**
* <p>
* This method performs the main task of constructing an framework instance
@@ -252,7 +253,7 @@ public class Main {
ArtifactResolver resolver = new SimpleMavenResolver(bundleDirs);
// Start up the OSGI framework
- ClassLoader classLoader = createClassLoader(resolver);
+ classLoader = createClassLoader(resolver);
FrameworkFactory factory = loadFrameworkFactory(classLoader);
framework = factory.newFramework(config.props);
@@ -480,7 +481,7 @@ public class Main {
}
}
- private ClassLoader createClassLoader(ArtifactResolver resolver) throws
Exception {
+ private URLClassLoader createClassLoader(ArtifactResolver resolver) throws
Exception {
List<URL> urls = new ArrayList<>();
urls.add(resolver.resolve(config.frameworkBundle).toURL());
File[] libs = new File(config.karafHome, "lib").listFiles();
@@ -491,9 +492,13 @@ public class Main {
}
}
}
- return new URLClassLoader(urls.toArray(new URL[urls.size()]),
Main.class.getClassLoader());
+ return new URLClassLoader(urls.toArray(new URL[0]),
getParentClassLoader());
}
-
+
+ protected ClassLoader getParentClassLoader() {
+ return Main.class.getClassLoader();
+ }
+
private FrameworkFactory loadFrameworkFactory(ClassLoader classLoader)
throws Exception {
String factoryClass = config.frameworkFactoryClass;
if (factoryClass == null) {
@@ -730,6 +735,9 @@ public class Main {
}
lock.release();
}
+ if (classLoader != null) {
+ classLoader.close();
+ }
}
}
diff --git a/main/src/test/resources/test-karaf-home/etc/config.properties
b/main/src/test/resources/test-karaf-home/etc/config.properties
index 0684090..23f2171 100755
--- a/main/src/test/resources/test-karaf-home/etc/config.properties
+++ b/main/src/test/resources/test-karaf-home/etc/config.properties
@@ -46,20 +46,31 @@ org.apache.aries.blueprint.synchronous=true
# Framework config properties.
#
org.osgi.framework.system.packages= \
- org.osgi.framework.startlevel;uses:="org.osgi.framework";version="1.0", \
-
org.osgi.framework.wiring;uses:="org.osgi.resource,org.osgi.framework";version="1.1",
\
- org.osgi.framework.hooks.bundle;uses:="org.osgi.framework";version="1.1", \
- org.osgi.framework.hooks.service;uses:="org.osgi.framework";version="1.1", \
-
org.osgi.framework.hooks.resolver;uses:="org.osgi.framework.wiring";version="1.0",
\
- org.osgi.framework.launch;uses:="org.osgi.framework";version="1.1", \
- org.osgi.framework.namespace;uses:="org.osgi.resource";version="1.0", \
- org.osgi.framework;version="1.7",\
-
org.osgi.framework.hooks.weaving;uses:="org.osgi.framework.wiring";version="1.0",\
- org.osgi.resource;version="1.0",org.osgi.service.url;version="1.0",\
- org.osgi.service.startlevel;uses:="org.osgi.framework";version="1.1",\
- org.osgi.service.packageadmin;uses:="org.osgi.framework";version="1.2",\
- org.osgi.service.url;version="1.0", \
- org.osgi.util.tracker;uses:="org.osgi.framework";version="1.5.1", \
+ org.osgi.dto;version="1.1",\
+ org.osgi.resource;version="1.0",\
+ org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto",\
+ org.osgi.framework;version="1.9",\
+ org.osgi.framework.dto;version="1.9";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.3";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.1";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.2";uses:="org.osgi.framework",\
+ org.apache.karaf.version;version="4.3.0.SNAPSHOT",\
+
org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version="4.3.0.SNAPSHOT",\
+
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.3.0.SNAPSHOT",\
+ org.apache.karaf.info;version="4.3.0.SNAPSHOT",\
${jre-${java.specification.version}}
org.osgi.framework.system.capabilities= \
diff --git a/management/server/pom.xml b/management/server/pom.xml
index 64d4e2b..8f2e6ee 100644
--- a/management/server/pom.xml
+++ b/management/server/pom.xml
@@ -126,6 +126,7 @@
</Export-Package>
<Import-Package>
org.osgi.service.event*;resolution:=optional,
+ org.osgi.framework;version="[1,3)",
com.sun.jmx.remote.protocol;resolution:=optional,
com.sun.jdmk.security.sasl;resolution:=optional,
*
diff --git a/maven/core/pom.xml b/maven/core/pom.xml
index 070574c..46e60ab 100644
--- a/maven/core/pom.xml
+++ b/maven/core/pom.xml
@@ -116,7 +116,8 @@
!org.eclipse.sisu*,
!javax.inject*,
!com.google.common.collect,
- *,
+ org.osgi.framework;version="[1,3)",
+ *
</Import-Package>
<Private-Package>
org.apache.felix.utils.properties;-split-package:=merge-first,
diff --git a/obr/pom.xml b/obr/pom.xml
index 69eb64f..3f2dd48 100644
--- a/obr/pom.xml
+++ b/obr/pom.xml
@@ -90,6 +90,10 @@
<Export-Package>
org.apache.karaf.obr.core
</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.obr.command,
org.apache.karaf.obr.command.util,
diff --git a/package/pom.xml b/package/pom.xml
index 037aa8f..f06fcbc 100644
--- a/package/pom.xml
+++ b/package/pom.xml
@@ -111,6 +111,10 @@
<Export-Package>
org.apache.karaf.packages.core;-noimport:=true
</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.packages.command,
org.apache.karaf.packages.core.internal.filter,
diff --git a/pom.xml b/pom.xml
index 57117ee..8e81ea4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -183,7 +183,7 @@
<easymock.version>4.1</easymock.version>
<equinox.groupId>org.eclipse.platform</equinox.groupId>
<equinox.artifactId>org.eclipse.osgi</equinox.artifactId>
- <equinox.version>3.12.100</equinox.version>
+ <equinox.version>3.15.100</equinox.version>
<bndlib.version>3.5.0</bndlib.version>
<equinox.region.version>1.2.101.v20150831-1342</equinox.region.version>
<equinox.coordinator.version>1.1.0.v20120522-1841</equinox.coordinator.version>
@@ -193,7 +193,7 @@
<felix.connect.version>0.2.0</felix.connect.version>
<felix.coordinator.version>1.0.2</felix.coordinator.version>
<felix.fileinstall.version>3.6.4</felix.fileinstall.version>
- <felix.framework.version>5.6.12</felix.framework.version>
+ <felix.framework.version>6.0.3</felix.framework.version>
<felix.framework.security.version>2.6.1</felix.framework.security.version>
<felix.gogo.runtime.version>1.1.2</felix.gogo.runtime.version>
<felix.gogo.jline.version>1.1.4</felix.gogo.jline.version>
@@ -212,7 +212,7 @@
<felix.scr.version>2.1.16</felix.scr.version>
<felix.scr.webconsole.plugin.version>2.1.0</felix.scr.webconsole.plugin.version>
<felix.scr.annotation.version>1.12.0</felix.scr.annotation.version>
- <felix.resolver.version>1.16.0</felix.resolver.version>
+ <felix.resolver.version>2.0.0</felix.resolver.version>
<aries.application.version>1.0.0</aries.application.version>
<aries.application.api.version>1.0.0</aries.application.api.version>
@@ -275,12 +275,12 @@
<maven.resolver.version>1.3.1</maven.resolver.version>
<org.osgi.service.jdbc.version>1.0.0</org.osgi.service.jdbc.version>
<org.osgi.service.jpa.version>1.0.0</org.osgi.service.jpa.version>
- <osgi.version>6.0.0</osgi.version>
+ <osgi.version>7.0.0</osgi.version>
<osgi.compendium.version>6.0.0</osgi.compendium.version>
- <pax.cdi.version>1.1.2</pax.cdi.version>
+ <pax.cdi.version>1.1.3</pax.cdi.version>
<pax.exam.version>4.13.1</pax.exam.version>
- <pax.logging.version>1.11.4</pax.logging.version>
+ <pax.logging.version>2.0.2</pax.logging.version>
<pax.base.version>1.5.1</pax.base.version>
<pax.swissbox.version>1.8.3</pax.swissbox.version>
<pax.url.version>2.6.2</pax.url.version>
@@ -1247,7 +1247,7 @@
</dependency>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
- <artifactId>pax-logging-service</artifactId>
+ <artifactId>pax-logging-log4j1</artifactId>
<version>${pax.logging.version}</version>
</dependency>
<dependency>
diff --git a/profile/pom.xml b/profile/pom.xml
index 7253ed6..d2e6711 100644
--- a/profile/pom.xml
+++ b/profile/pom.xml
@@ -170,6 +170,11 @@
org.apache.karaf.profile.command,
org.apache.karaf.profile.command.completers,
</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ org.osgi.service.resolver;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.profile.assembly,
org.apache.karaf.profile.command,
diff --git a/scheduler/pom.xml b/scheduler/pom.xml
index 36932b0..3f27603 100644
--- a/scheduler/pom.xml
+++ b/scheduler/pom.xml
@@ -73,6 +73,7 @@
org.jboss.*;resolution:=optional,
com.zaxxer.hikari;resolution:=optional,
javax.xml.bind*;version="[2.2,3)",
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git a/service/core/pom.xml b/service/core/pom.xml
index 0a64184..adbbae7 100644
--- a/service/core/pom.xml
+++ b/service/core/pom.xml
@@ -85,6 +85,10 @@
<Export-Package>
org.apache.karaf.service.core;-noimport:=true
</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.service.command,
org.apache.karaf.service.core.internal,
diff --git a/service/guard/pom.xml b/service/guard/pom.xml
index 4592ad3..fc2e26e 100644
--- a/service/guard/pom.xml
+++ b/service/guard/pom.xml
@@ -130,6 +130,10 @@
<instructions>
<Bundle-Activator>org.apache.karaf.service.guard.impl.Activator</Bundle-Activator>
<Export-Package>org.apache.karaf.service.guard.tools</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.service.guard.impl,
org.apache.karaf.util.jaas
diff --git a/services/eventadmin/pom.xml b/services/eventadmin/pom.xml
index a282ee4..84f1f01 100644
--- a/services/eventadmin/pom.xml
+++ b/services/eventadmin/pom.xml
@@ -70,6 +70,7 @@
org.osgi.service.log;version="[1.3,2)";resolution:=optional,
<!-- default -->
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Export-Package>org.osgi.service.event</Export-Package>
diff --git a/services/staticcm/pom.xml b/services/staticcm/pom.xml
index 020c65d..4dfb521 100644
--- a/services/staticcm/pom.xml
+++ b/services/staticcm/pom.xml
@@ -53,6 +53,7 @@
</DynamicImport-Package>
<Import-Package>
!org.osgi.service.cm,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Export-Package>org.osgi.service.cm;provider:=true</Export-Package>
@@ -65,6 +66,9 @@
<Export-Service>
org.osgi.service.cm.ConfigurationAdmin
</Export-Service>
+ <Provide-Capability>
+
osgi.implementation;osgi.implementation="osgi.cm";uses:="org.osgi.service.cm,org.apache.karaf.services.staticcm";version:Version="1.6"
+ </Provide-Capability>
</instructions>
</configuration>
</plugin>
diff --git a/shell/commands/pom.xml b/shell/commands/pom.xml
index 5a62b0e..866377c 100644
--- a/shell/commands/pom.xml
+++ b/shell/commands/pom.xml
@@ -104,6 +104,7 @@
</Export-Package>
<Import-Package>
com.sun.management;resolution:=optional,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git a/shell/console/pom.xml b/shell/console/pom.xml
index e42a094..011d92c 100644
--- a/shell/console/pom.xml
+++ b/shell/console/pom.xml
@@ -154,6 +154,7 @@
org.osgi.service.event;resolution:=optional,
org.apache.karaf.branding;resolution:=optional,
org.apache.sshd.agent*;resolution:=optional,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Export-Package>
diff --git a/shell/core/pom.xml b/shell/core/pom.xml
index 9c37d5b..5c3751b 100644
--- a/shell/core/pom.xml
+++ b/shell/core/pom.xml
@@ -150,6 +150,7 @@
org.apache.karaf.branding;resolution:=optional,
!org.apache.felix.gogo.jline*,
!org.apache.sshd.*,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Export-Package>
diff --git a/shell/ssh/pom.xml b/shell/ssh/pom.xml
index ae30adf..fc38bdd 100644
--- a/shell/ssh/pom.xml
+++ b/shell/ssh/pom.xml
@@ -145,6 +145,7 @@
<configuration>
<instructions>
<Import-Package>
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<Private-Package>
diff --git a/system/pom.xml b/system/pom.xml
index 50ba23b..691f94e 100644
--- a/system/pom.xml
+++ b/system/pom.xml
@@ -97,6 +97,10 @@
org.apache.karaf.system,
org.apache.karaf.system.management
</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.system.commands,
org.apache.karaf.system.internal,
diff --git
a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/RunMojo.java
b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/RunMojo.java
index ae439fe..7cce5e8 100644
---
a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/RunMojo.java
+++
b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/RunMojo.java
@@ -48,8 +48,10 @@ import java.lang.reflect.Method;
import java.net.URI;
import java.nio.file.Files;
import java.util.List;
+import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import java.util.stream.Stream;
/**
* Run a Karaf instance
@@ -100,6 +102,12 @@ public class RunMojo extends MojoSupport {
@Parameter(defaultValue = "false")
private String startSsh = "false";
+ /**
+ * Maximum duration startup can take in milliseconds, negative or zero
values mean no maximum.
+ */
+ @Parameter(defaultValue = "180000")
+ private long maximumStartupDuration;
+
private static final Pattern mvnPattern = Pattern.compile("mvn:([^/
]+)/([^/ ]+)/([^/ ]*)(/([^/ ]+)(/([^/ ]+))?)?");
public void execute() throws MojoExecutionException, MojoFailureException {
@@ -125,25 +133,78 @@ public class RunMojo extends MojoSupport {
System.setProperty("karaf.startLocalConsole", "false");
System.setProperty("karaf.startRemoteShell", startSsh);
System.setProperty("karaf.lock", "false");
- Main main = new Main(new String[0]);
+
+ String featureBootFinished = BootFinished.class.getName();
+ Thread bootThread = Thread.currentThread();
+ ClassLoader classRealm = bootThread.getContextClassLoader();
+ ClassLoader bootLoader = new ClassLoader(classRealm) {
+ @Override // avoids to use that silently and fail later on in the
waiting loop
+ protected Class<?> loadClass(final String name, final boolean
resolve) throws ClassNotFoundException {
+ if (featureBootFinished.equals(name)) {
+ throw new ClassNotFoundException(
+ "avoid to use the classrealm loader which will
prevent felix to match its reference");
+ }
+ return super.loadClass(name, resolve);
+ }
+ };
+ Main main = new Main(new String[0]) {
+ @Override
+ protected ClassLoader getParentClassLoader() {
+ return bootLoader;
+ }
+ };
+
try {
+ long start = System.nanoTime();
main.launch();
- while (main.getFramework().getState() != Bundle.ACTIVE) {
- Thread.sleep(1000);
+ while (main.getFramework().getState() != Bundle.ACTIVE &&
checkDurationTimeout(start)) {
+ waitForValidState();
}
- BundleContext bundleContext =
main.getFramework().getBundleContext();
+ if (main.getFramework().getState() != Bundle.ACTIVE) {
+ try {
+ main.destroy();
+ } catch (final Throwable e) {
+ // ignore it
+ getLog().debug(e.getMessage(), e);
+ }
+ throw startupTimeout(start);
+ }
+
+ // first find the feature bundle to load the bootfinished class
properly,
+ // if we use bundleContext0.getBundle() we end up on ClassRealm
which will not match in ServiceRegImpl
+ BundleContext featureBundleCtx = null;
+
Object bootFinished = null;
- while (bootFinished == null) {
- Thread.sleep(1000);
- ServiceReference ref =
bundleContext.getServiceReference(BootFinished.class);
+ while (bootFinished == null && checkDurationTimeout(start)) {
+ waitForValidState();
+ if (featureBundleCtx == null) {
+ featureBundleCtx =
Stream.of(main.getFramework().getBundleContext().getBundles())
+ .filter(b ->
b.getSymbolicName().equals("org.apache.karaf.deployer.features"))
+ .findFirst()
+ .map(Bundle::getBundleContext)
+ .orElse(null);
+ }
+ if (featureBundleCtx == null) {
+ continue;
+ }
+ ServiceReference<?> ref =
featureBundleCtx.getServiceReference(featureBundleCtx.getBundle().loadClass(featureBootFinished));
if (ref != null) {
- bootFinished = bundleContext.getService(ref);
+ bootFinished = featureBundleCtx.getService(ref);
}
}
+ if (bootFinished == null) {
+ try {
+ main.destroy();
+ } catch (final Throwable e) {
+ // ignore it
+ getLog().debug(e.getMessage(), e);
+ }
+ throw startupTimeout(start);
+ }
- Object featureService = findFeatureService(bundleContext);
+ Object featureService = findFeatureService(featureBundleCtx);
addFeatureRepositories(featureService);
- deploy(bundleContext, featureService);
+ deploy(featureBundleCtx, featureService);
addFeatures(featureService);
if (keepRunning)
main.awaitShutdown();
@@ -155,6 +216,21 @@ public class RunMojo extends MojoSupport {
}
}
+ // todo: maybe add it as a mojo parameter to reduce it for light distro?
+ private void waitForValidState() throws InterruptedException {
+ Thread.sleep(1000);
+ }
+
+ private IllegalStateException startupTimeout(final long start) {
+ return new IllegalStateException("Server didn't start in " +
+ TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - start) +
"ms");
+ }
+
+ private boolean checkDurationTimeout(final long start) {
+ return maximumStartupDuration <= 0 ||
+ TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - start) <
maximumStartupDuration;
+ }
+
void addFeatureRepositories(Object featureService) throws
MojoExecutionException {
if (featureRepositories != null) {
try {
diff --git a/web/pom.xml b/web/pom.xml
index 9773001..6f04643 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -98,6 +98,10 @@
org.apache.karaf.web,
org.apache.karaf.web.management
</Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1,3)",
+ *
+ </Import-Package>
<Private-Package>
org.apache.karaf.web.commands,
org.apache.karaf.web.internal,
diff --git a/webconsole/console/pom.xml b/webconsole/console/pom.xml
index 824ffa4..7c96c83 100644
--- a/webconsole/console/pom.xml
+++ b/webconsole/console/pom.xml
@@ -143,6 +143,7 @@
!org.osgi.service.metatype,
!org.osgi.service.permissionadmin,
!org.osgi.service.wireadmin,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
<DynamicImport-Package>
diff --git a/wrapper/pom.xml b/wrapper/pom.xml
index 5cdc7c4..0bd9c69 100644
--- a/wrapper/pom.xml
+++ b/wrapper/pom.xml
@@ -121,6 +121,7 @@
!org.apache.karaf.info,
!org.apache.karaf.main,
!org.tanukisoftware.wrapper*,
+ org.osgi.framework;version="[1,3)",
*
</Import-Package>
</instructions>