You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2015/06/12 10:32:09 UTC
[1/2] karaf git commit: [KARAF-3776] Support Karaf 4 feature
repositories in a degraded mode
Repository: karaf
Updated Branches:
refs/heads/karaf-3.0.x b56bd92f3 -> 858be8c6b
[KARAF-3776] Support Karaf 4 feature repositories in a degraded mode
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/7b51d2d0
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/7b51d2d0
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/7b51d2d0
Branch: refs/heads/karaf-3.0.x
Commit: 7b51d2d06459db425f61edaed301ea14cdc34df5
Parents: b56bd92
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu Jun 11 17:59:08 2015 +0200
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Thu Jun 11 17:59:08 2015 +0200
----------------------------------------------------------------------
.../karaf/features/FeaturesNamespaces.java | 6 +-
.../internal/FeatureValidationUtil.java | 10 +-
.../karaf/features/internal/model/JaxbUtil.java | 53 ++-
.../karaf/features/karaf-features-1.3.0.xsd | 321 +++++++++++++++++++
4 files changed, 384 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/7b51d2d0/features/core/src/main/java/org/apache/karaf/features/FeaturesNamespaces.java
----------------------------------------------------------------------
diff --git a/features/core/src/main/java/org/apache/karaf/features/FeaturesNamespaces.java b/features/core/src/main/java/org/apache/karaf/features/FeaturesNamespaces.java
index d108b63..de2facb 100644
--- a/features/core/src/main/java/org/apache/karaf/features/FeaturesNamespaces.java
+++ b/features/core/src/main/java/org/apache/karaf/features/FeaturesNamespaces.java
@@ -26,7 +26,8 @@ public interface FeaturesNamespaces {
String URI_1_0_0 = "http://karaf.apache.org/xmlns/features/v1.0.0";
String URI_1_1_0 = "http://karaf.apache.org/xmlns/features/v1.1.0";
String URI_1_2_0 = "http://karaf.apache.org/xmlns/features/v1.2.0";
- String URI_1_2_1 = "http://karaf.apache.org/xmlns/features/v1.2.1";
+ String URI_1_2_1 = "http://karaf.apache.org/xmlns/features/v1.2.1";
+ String URI_1_3_0 = "http://karaf.apache.org/xmlns/features/v1.3.0";
String URI_CURRENT = URI_1_2_1;
@@ -34,7 +35,8 @@ public interface FeaturesNamespaces {
QName FEATURES_1_0_0 = new QName(URI_1_0_0, "features");
QName FEATURES_1_1_0 = new QName(URI_1_1_0, "features");
QName FEATURES_1_2_0 = new QName(URI_1_2_0, "features");
- QName FEATURES_1_2_1 = new QName(URI_1_2_1, "features");
+ QName FEATURES_1_2_1 = new QName(URI_1_2_1, "features");
+ QName FEATURES_1_3_0 = new QName(URI_1_3_0, "features");
QName FEATURES_CURRENT = FEATURES_1_2_1;
http://git-wip-us.apache.org/repos/asf/karaf/blob/7b51d2d0/features/core/src/main/java/org/apache/karaf/features/internal/FeatureValidationUtil.java
----------------------------------------------------------------------
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/FeatureValidationUtil.java b/features/core/src/main/java/org/apache/karaf/features/internal/FeatureValidationUtil.java
index 449c461..4ce2a86 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/FeatureValidationUtil.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/FeatureValidationUtil.java
@@ -45,6 +45,7 @@ public class FeatureValidationUtil {
public static final QName FEATURES_1_1 = new QName("http://karaf.apache.org/xmlns/features/v1.1.0", "features");
public static final QName FEATURES_1_2 = new QName("http://karaf.apache.org/xmlns/features/v1.2.0", "features");
public static final QName FEATURES_1_2_1 = new QName("http://karaf.apache.org/xmlns/features/v1.2.1", "features");
+ public static final QName FEATURES_1_3 = new QName("http://karaf.apache.org/xmlns/features/v1.3.0", "features");
private static final Logger LOGGER = LoggerFactory.getLogger(FeatureValidationUtil.class);
/**
@@ -71,9 +72,12 @@ public class FeatureValidationUtil {
} else if (FeaturesNamespaces.FEATURES_1_2_0.equals(name)) {
LOGGER.debug("validating with schema version 1.2.0");
validate(doc, "/org/apache/karaf/features/karaf-features-1.2.0.xsd");
- } else if (FeaturesNamespaces.FEATURES_1_2_1.equals(name)) {
- LOGGER.debug("validating with schema version 1.2.1");
- validate(doc, "/org/apache/karaf/features/karaf-features-1.2.1.xsd");
+ } else if (FeaturesNamespaces.FEATURES_1_2_1.equals(name)) {
+ LOGGER.debug("validating with schema version 1.2.1");
+ validate(doc, "/org/apache/karaf/features/karaf-features-1.2.1.xsd");
+ } else if (FeaturesNamespaces.FEATURES_1_3_0.equals(name)) {
+ LOGGER.debug("validating with schema version 1.3.0");
+ validate(doc, "/org/apache/karaf/features/karaf-features-1.3.0.xsd");
}
else {
throw new IllegalArgumentException("Unrecognized root element: " + name);
http://git-wip-us.apache.org/repos/asf/karaf/blob/7b51d2d0/features/core/src/main/java/org/apache/karaf/features/internal/model/JaxbUtil.java
----------------------------------------------------------------------
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/model/JaxbUtil.java b/features/core/src/main/java/org/apache/karaf/features/internal/model/JaxbUtil.java
index 39c057a..fa4011d 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/model/JaxbUtil.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/model/JaxbUtil.java
@@ -41,6 +41,7 @@ import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLFilter;
import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.AttributesImpl;
import org.xml.sax.helpers.XMLFilterImpl;
public class JaxbUtil {
@@ -101,7 +102,7 @@ public class JaxbUtil {
}
});
- XMLFilter xmlFilter = new NoSourceAndNamespaceFilter(parser.getXMLReader());
+ XMLFilter xmlFilter = new NoSourceAndNamespaceFilter(new SchemaTranslator(parser.getXMLReader()));
xmlFilter.setContentHandler(unmarshaller.getUnmarshallerHandler());
SAXSource source = new SAXSource(xmlFilter, inputSource);
@@ -117,6 +118,56 @@ public class JaxbUtil {
}
}
+ /*
+ * Translate 1.3.0 into 1.2.1 format
+ */
+ public static class SchemaTranslator extends XMLFilterImpl {
+
+ int skip;
+
+ public SchemaTranslator(XMLReader parent) {
+ super(parent);
+ }
+
+ @Override
+ public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
+ if (FeaturesNamespaces.URI_1_3_0.equals(uri)) {
+ if (skip == 0) {
+ if ("capability".equals(localName)
+ || "requirement".equals(localName)
+ || "library".equals(localName)
+ || "scoping".equals(localName)) {
+ skip++;
+ } else {
+ if ("feature".equals(localName)) {
+ AttributesImpl atts2 = new AttributesImpl(atts);
+ atts2.addAttribute("", "resolver", "resolver", "CDATA", "(obr)");
+ atts = atts2;
+ }
+ super.startElement(uri, localName, qName, atts);
+ }
+ } else {
+ skip++;
+ }
+ } else {
+ super.startElement(uri, localName, qName, atts);
+ }
+ }
+
+ @Override
+ public void endElement(String uri, String localName, String qName) throws SAXException {
+ if (FeaturesNamespaces.URI_1_3_0.equals(uri)) {
+ if (skip == 0) {
+ super.endElement(uri, localName, qName);
+ } else {
+ skip--;
+ }
+ } else {
+ super.endElement(uri, localName, qName);
+ }
+ }
+ }
+
/**
* Provides an empty inputsource for the entity resolver.
* Converts all elements to the features namespace to make old feature files
http://git-wip-us.apache.org/repos/asf/karaf/blob/7b51d2d0/features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.3.0.xsd
----------------------------------------------------------------------
diff --git a/features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.3.0.xsd b/features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.3.0.xsd
new file mode 100644
index 0000000..4fc5141
--- /dev/null
+++ b/features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.3.0.xsd
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+
+-->
+<xs:schema elementFormDefault="qualified"
+ targetNamespace="http://karaf.apache.org/xmlns/features/v1.3.0"
+ xmlns:tns="http://karaf.apache.org/xmlns/features/v1.3.0"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Karaf features mechanism. For documentation please visit the
+<a href="http://karaf.apache.org/">Karaf website</a>.
+ ]]></xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType name="features">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Root element of Feature definition. It contains an required attribute for
+designating from which repository this feature should be loaded. The Karaf
+shell will show the repository name when displaying information about the feature.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="repository" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Additional repositories where dependencies are stored.
+ ]]></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="feature" type="tns:feature">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Feature definition.
+ ]]></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+
+ <xs:complexType name="feature">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Definition of the Feature.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="details" minOccurs="0" type="xs:string">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+ The help text shown for this feature when using feature:info console command.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="config" type="tns:config" />
+ <xs:element name="configfile" type="tns:configFile" />
+ <xs:element name="feature" type="tns:dependency" />
+ <xs:element name="bundle" type="tns:bundle" />
+ <xs:element name="conditional" type="tns:conditional" />
+ <xs:element name="requirement" type="tns:requirement" />
+ <xs:element name="capability" type="tns:capability" />
+ <xs:element name="library" type="tns:library" />
+ </xs:choice>
+ <xs:element name="scoping" minOccurs="0" maxOccurs="1" type="tns:scoping" />
+ </xs:sequence>
+ <xs:attribute name="name" type="tns:featureName" use="required" />
+ <xs:attribute name="version" type="xs:string" default="0.0.0" />
+ <xs:attribute name="description" type="xs:string" />
+ <xs:attribute name="install" type="tns:install">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Marks if the feaute will be automatically started when thrown to the deploy folder.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="start-level" type="xs:int">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Set this attribute to have an OSGi start level for this feature different
+from the default start level defined in Karaf's config.properties.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="hidden" type="xs:boolean" default="false" />
+ </xs:complexType>
+
+ <xs:complexType name="conditional">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Definition of the Conditional.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="config" type="tns:config" />
+ <xs:element name="configfile" type="tns:configFile" />
+ <xs:element name="feature" type="tns:dependency" />
+ <xs:element name="bundle" type="tns:bundle" />
+ <xs:element name="condition" type="tns:dependency" minOccurs="0" maxOccurs="1" />
+ </xs:choice>
+ </xs:complexType>
+
+
+ <xs:complexType name="bundle">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Deployable element to install.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:simpleContent>
+ <xs:extension base="xs:anyURI">
+ <xs:attribute name="start-level" type="xs:int">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Set this attribute to have an OSGi start level for this bundle different
+from the default start level defined in the Karaf's config.properties.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="start" type="xs:boolean" default="true">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+If false, leaves bundle in resolved state rather than the default active state.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="dependency" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Mark this bundle as a dependency for the resolver.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="dependency">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Dependency of feature.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:simpleContent>
+ <xs:extension base="tns:featureName">
+ <xs:attribute name="version" type="xs:string" default="0.0.0" />
+ <xs:attribute name="prerequisite" type="xs:boolean" default="false"/>
+ <xs:attribute name="dependency" type="xs:boolean" default="false"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="config">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Configuration entries which should be created during feature installation. This
+configuration may be used with OSGi Configuration Admin. The element content is
+read in as a properties file.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="name" type="xs:string" use="required" />
+ <xs:attribute name="append" type="xs:boolean" use="optional">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Optional flag to append unknown values to the configuration.
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="configFile">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Additional configuration files which should be created during feature installation.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:simpleContent>
+ <xs:extension base="xs:anyURI">
+ <xs:attribute name="finalname" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+The final destination path and name for the configuration file.
+ ]]></xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="override" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+If the configFile already exists at the finalname location, whether or not to replace it.
+ ]]></xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="requirement">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Additional requirements of this feature.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="prerequisite" type="xs:boolean" default="false"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="capability">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Additional capability of this feature.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="library">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Additional capability of this feature.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="type" type="tns:libraryType" default="default"/>
+ <xs:attribute name="export" type="xs:boolean" default="false"/>
+ <xs:attribute name="delegate" type="xs:boolean" default="false"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:simpleType name="libraryType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="endorsed"/>
+ <xs:enumeration value="extension"/>
+ <xs:enumeration value="boot"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="scoping">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Scoping definition for this feature.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="import" type="tns:scopeFilter"/>
+ <xs:element name="export" type="tns:scopeFilter"/>
+ </xs:choice>
+ <xs:attribute name="acceptDependencies" type="xs:boolean"/>
+ </xs:complexType>
+
+ <xs:complexType name="scopeFilter">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="namespace" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:simpleType name="featureName">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Feature name should be non empty string.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="install">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+Installation mode. Can be either manual or auto. Specifies whether the feature should be automatically installed when
+dropped inside the deploy folder. Note: This attribute doesn't affect feature descriptors that are installed from the
+command line or as part of the org.apache.karaf.features.cfg.
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="features" type="tns:features" />
+
+</xs:schema>
[2/2] karaf git commit: [KARAF-3780] Support for pax-web 4.x
Posted by gn...@apache.org.
[KARAF-3780] Support for pax-web 4.x
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/858be8c6
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/858be8c6
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/858be8c6
Branch: refs/heads/karaf-3.0.x
Commit: 858be8c6b6d1fee36b706e58ed19e43d87166616
Parents: 7b51d2d
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu Jun 11 18:01:16 2015 +0200
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Thu Jun 11 18:01:16 2015 +0200
----------------------------------------------------------------------
http/core/pom.xml | 1 +
webconsole/console/pom.xml | 2 +-
webconsole/features/pom.xml | 1 +
webconsole/gogo/pom.xml | 1 +
webconsole/http/pom.xml | 2 ++
webconsole/instance/pom.xml | 1 +
6 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/858be8c6/http/core/pom.xml
----------------------------------------------------------------------
diff --git a/http/core/pom.xml b/http/core/pom.xml
index d162b53..9b8f07a 100644
--- a/http/core/pom.xml
+++ b/http/core/pom.xml
@@ -78,6 +78,7 @@
<configuration>
<instructions>
<Import-Package>
+ javax.servlet;version="[2.6,4)",
org.ops4j.pax.web.service.spi;version="[3.1,5)",
*
</Import-Package>
http://git-wip-us.apache.org/repos/asf/karaf/blob/858be8c6/webconsole/console/pom.xml
----------------------------------------------------------------------
diff --git a/webconsole/console/pom.xml b/webconsole/console/pom.xml
index 21a5f72..f2e354d 100644
--- a/webconsole/console/pom.xml
+++ b/webconsole/console/pom.xml
@@ -135,7 +135,7 @@
org.osgi.service.metatype;resolution:=optional,
org.osgi.service.prefs;resolution:=optional,
javax.portlet;resolution:=optional,
- javax.servlet.*,
+ javax.servlet.*;version="[2.6,4)",
!org.apache.felix.bundlerepository,
!org.osgi.service.obr,
!org.osgi.service.cm,
http://git-wip-us.apache.org/repos/asf/karaf/blob/858be8c6/webconsole/features/pom.xml
----------------------------------------------------------------------
diff --git a/webconsole/features/pom.xml b/webconsole/features/pom.xml
index 807457c..68cf5f2 100644
--- a/webconsole/features/pom.xml
+++ b/webconsole/features/pom.xml
@@ -98,6 +98,7 @@
<configuration>
<instructions>
<Import-Package>
+ javax.servlet.*;version="[2.6,4)",
org.apache.aries.blueprint,
org.apache.felix.webconsole*;version="[3,5)",
org.json,
http://git-wip-us.apache.org/repos/asf/karaf/blob/858be8c6/webconsole/gogo/pom.xml
----------------------------------------------------------------------
diff --git a/webconsole/gogo/pom.xml b/webconsole/gogo/pom.xml
index d550645..eb7fda7 100644
--- a/webconsole/gogo/pom.xml
+++ b/webconsole/gogo/pom.xml
@@ -113,6 +113,7 @@
<configuration>
<instructions>
<Import-Package>
+ javax.servlet.*;version="[2.6,4)",
jline;version="[${jline.version}, ${jline.version}]",
org.apache.aries.blueprint,
org.apache.felix.webconsole*;version="[3,5)",
http://git-wip-us.apache.org/repos/asf/karaf/blob/858be8c6/webconsole/http/pom.xml
----------------------------------------------------------------------
diff --git a/webconsole/http/pom.xml b/webconsole/http/pom.xml
index 50afc75..068f282 100644
--- a/webconsole/http/pom.xml
+++ b/webconsole/http/pom.xml
@@ -103,11 +103,13 @@
<configuration>
<instructions>
<Import-Package>
+ javax.servlet.*;version="[2.6,4)",
org.apache.aries.blueprint,
org.apache.felix.webconsole*;version="[3,5)",
org.json,
org.osgi.service.blueprint.container,
org.osgi.service.blueprint.reflect,
+ org.ops4j.pax.web.service.spi*;version="[3.2,5)",
*
</Import-Package>
</instructions>
http://git-wip-us.apache.org/repos/asf/karaf/blob/858be8c6/webconsole/instance/pom.xml
----------------------------------------------------------------------
diff --git a/webconsole/instance/pom.xml b/webconsole/instance/pom.xml
index 4638c11..045a735 100644
--- a/webconsole/instance/pom.xml
+++ b/webconsole/instance/pom.xml
@@ -107,6 +107,7 @@
<configuration>
<instructions>
<Import-Package>
+ javax.servlet.*;version="[2.6,4)",
org.apache.aries.blueprint,
org.apache.felix.webconsole*;version="[3,5)",
org.json,