blob: e6da51a96cfceb0f80f2a18105048b60cbb10e75 [file] [log] [blame]
<?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.
-->
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0"
name="org.apache.brooklyn-${project.version}"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://karaf.apache.org/xmlns/features/v1.4.0">
<repository>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</repository>
<repository>mvn:org.apache.jclouds.karaf/jclouds-karaf/${jclouds.version}/xml/features</repository>
<repository>mvn:org.apache.cxf.karaf/apache-cxf/${cxf.version}/xml/features</repository>
<repository>mvn:io.fabric8.kubernetes/kubernetes-karaf/${kubernetes-client.version}/xml/features</repository>
<feature name="swagger" version="${swagger.version}" description="Swagger Annotations+Core+JAXRS+Models">
<bundle dependency='true'>mvn:com.google.guava/guava/${guava-swagger.version}</bundle>
<bundle dependency='true'>mvn:com.google.guava/failureaccess/${failureaccess.version}</bundle>
<bundle>mvn:io.swagger/swagger-annotations/${swagger.version}</bundle>
<bundle>wrap:mvn:io.swagger/swagger-core/${swagger.version}</bundle>
<bundle>wrap:mvn:io.swagger/swagger-jaxrs/${swagger.version}</bundle>
<bundle>mvn:io.swagger/swagger-models/${swagger.version}</bundle>
<bundle dependency='true'>mvn:com.fasterxml.jackson.core/jackson-annotations/${fasterxml.jackson.version}</bundle>
<bundle dependency='true'>mvn:com.fasterxml.jackson.core/jackson-core/${fasterxml.jackson.version}</bundle>
<bundle dependency='true'>mvn:com.fasterxml.jackson.core/jackson-databind/${fasterxml.jackson.version}</bundle>
<bundle dependency='true'>mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${fasterxml.jackson.version}</bundle>
<bundle dependency='true'>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${fasterxml.jackson.version}</bundle>
<bundle dependency='true'>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${fasterxml.jackson.version}</bundle>
</feature>
<feature name="brooklyn-utils-common" version="${project.version}" description="Brooklyn Common Utils">
<bundle>mvn:org.apache.brooklyn/brooklyn-utils-common/${project.version}</bundle>
<bundle>mvn:org.apache.brooklyn/brooklyn-logback-includes/${project.version}</bundle>
<bundle dependency="true">mvn:com.google.guava/guava/${guava.version}</bundle>
<bundle dependency="true">mvn:org.codehaus.groovy/groovy-all/${groovy.version}</bundle>
<bundle dependency="true">mvn:commons-io/commons-io/${commons-io.version}</bundle>
<bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec.version}</bundle>
<bundle dependency="true">mvn:org.slf4j/jul-to-slf4j/${slf4j.version}</bundle>
<bundle dependency="true">mvn:org.yaml/snakeyaml/${snakeyaml.version}</bundle>
<bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/${httpcomponents.httpcore.version}</bundle>
<bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/${httpcomponents.httpclient.version}</bundle>
<bundle dependency="true">mvn:ch.qos.logback/logback-classic/${logback.version}</bundle>
<bundle dependency="true">mvn:ch.qos.logback/logback-core/${logback.version}</bundle>
</feature>
<feature name="brooklyn-utils-groovy" version="${project.version}" description="Brooklyn Groovy Utils">
<feature>brooklyn-utils-common</feature>
<bundle>mvn:org.apache.brooklyn/brooklyn-utils-common/${project.version}</bundle>
</feature>
<feature name="brooklyn-utils-rest-swagger" version="${project.version}" description="Brooklyn REST Swagger Apidoc Utilities">
<feature>brooklyn-utils-common</feature>
<feature version="${swagger.version}">swagger</feature>
<bundle>mvn:org.apache.brooklyn/brooklyn-utils-rest-swagger/${project.version}</bundle>
<bundle dependency="true">mvn:javax.servlet/javax.servlet-api/${javax-servlet.version}</bundle>
<bundle dependency="true">mvn:javax.ws.rs/javax.ws.rs-api/${jax-rs-api.version}</bundle>
<!-- TODO: version 1.1.0.Final has OSGi manifest; check if upgrade doesn't get rid of wrap -->
<bundle dependency="true">wrap:mvn:javax.validation/validation-api/${validation-api.version}</bundle>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.reflections/${reflections.bundle.version}</bundle>
</feature>
<feature name="brooklyn-rest-api" version="${project.version}" description="Brooklyn REST API">
<feature>brooklyn-utils-rest-swagger</feature>
<feature>brooklyn-api</feature>
<feature>brooklyn-core</feature>
<bundle>mvn:org.apache.brooklyn/brooklyn-rest-api/${project.version}</bundle>
<bundle dependency="true">mvn:org.jvnet.mimepull/mimepull/1.9.3</bundle>
<bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang.version}</bundle>
<!-- TODO: version 1.1.0.Final has OSGi manifest; check if upgrade doesn't get rid of wrap -->
<bundle dependency="true">wrap:mvn:javax.validation/validation-api/${validation-api.version}</bundle>
<bundle dependency="true">mvn:org.apache.commons/commons-lang3/${commons-lang3.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${fasterxml.jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${fasterxml.jackson.version}</bundle>
<bundle dependency="true">mvn:javax.servlet/javax.servlet-api/${javax-servlet.version}</bundle>
</feature>
<!--
<feature name="brooklyn-rest-client" version="${project.version}" description="Brooklyn REST Client">
<feature>brooklyn-rest-api</feature>
<feature>swagger</feature>
<bundle>mvn:org.apache.brooklyn/brooklyn-rest-client/${project.version}</bundle>
<bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient.version}</bundle>
<bundle dependency='true'>mvn:commons-logging/commons-logging/${commons-logging.version}</bundle>
<bundle dependency='true'>mvn:commons-codec/commons-codec/${commons-codec.version}</bundle>
<bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/${jsr305.bundle.version}</bundle>
<bundle dependency='true'>mvn:com.google.code.gson/gson/${gson.version}</bundle>
<bundle dependency="true">mvn:commons-io/commons-io/${commons-io.version}</bundle>
<bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jcip-annotations/${jcip-annotations.bundle.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${fasterxml.jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${fasterxml.jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${fasterxml.jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${fasterxml.jackson.version}</bundle>
<bundle dependency='true'>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${fasterxml.jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${fasterxml.jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.datatype/jackson-datatype-guava/${fasterxml.jackson.version}</bundle>
</feature>
-->
<feature name="brooklyn-api" version="${project.version}" description="Brooklyn API">
<feature>brooklyn-utils-common</feature>
<bundle>mvn:org.apache.brooklyn/brooklyn-api/${project.version}</bundle>
</feature>
<feature name="brooklyn-core" version="${project.version}" description="Brooklyn Core">
<feature>pax-jetty</feature>
<feature>brooklyn-api</feature>
<bundle>mvn:org.apache.brooklyn/brooklyn-core/${project.version}</bundle>
<bundle>mvn:org.apache.brooklyn/brooklyn-utils-groovy/${project.version}</bundle>
<bundle dependency="true">mvn:com.google.code.gson/gson/${gson.version}</bundle>
<bundle dependency="true">mvn:com.jayway.jsonpath/json-path/${jsonPath.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${fasterxml.jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${fasterxml.jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${fasterxml.jackson.version}</bundle>
<bundle dependency="true">mvn:net.minidev/json-smart/${jsonSmart.version}</bundle>
<bundle dependency="true">mvn:net.minidev/accessors-smart/${minidev.accessors-smart.version}</bundle>
<!-- we need a really old one for json-path; later ones are wanted by pax and aries -->
<bundle dependency="true">mvn:org.ow2.asm/asm/${ow2.asm.version.jsonpath}</bundle>
<bundle dependency="true">mvn:org.ow2.asm/asm-commons/${ow2.asm.version.jsonpath}</bundle>
<bundle dependency="true">mvn:org.ow2.asm/asm-tree/${ow2.asm.version.jsonpath}</bundle>
<bundle dependency="true">mvn:org.ow2.asm/asm-analysis/${ow2.asm.version.jsonpath}</bundle>
<bundle dependency="true">mvn:org.ow2.asm/asm-util/${ow2.asm.version.jsonpath}</bundle>
<bundle dependency="true">mvn:org.ops4j.pax.web/pax-web-spi/${pax-web.version}</bundle>
<bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/${geronimo-ws-metadata_2.0_spec.version}</bundle>
<bundle dependency="true">mvn:com.thoughtworks.xstream/xstream/${xstream.version}</bundle>
<bundle dependency="true">mvn:org.freemarker/freemarker/${freemarker.version}</bundle>
<bundle dependency="true">mvn:com.hierynomus/sshj/${sshj.version}</bundle>
<bundle dependency="true">wrap:mvn:com.hierynomus/asn-one/${asn1.version}</bundle>
<bundle dependency="true">mvn:net.i2p.crypto/eddsa/${eddsa.version}</bundle><!-- from com.hierynomous/sshj -->
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.version}</bundle>
<bundle dependency="true">mvn:org.bouncycastle/bcprov-ext-jdk15on/${bouncycastle.version}</bundle>
<bundle dependency="true">mvn:org.bouncycastle/bcpkix-jdk15on/${bouncycastle.version}</bundle>
<bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec.version}</bundle>
<bundle dependency="true">mvn:org.apache.commons/commons-lang3/${commons-lang3.version}</bundle>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3.servicemix.version}</bundle> <!-- from com.thoughtworks.xstream/xstream -->
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.kxml2/${kxml2.servicemix.version}</bundle>
<!-- TODO: don't use wrap -->
<bundle dependency="true">wrap:mvn:com.maxmind.geoip2/geoip2/${maxmind.version}</bundle> <!-- from geoip2 -->
<bundle dependency="true">wrap:mvn:com.maxmind.db/maxmind-db/${maxmind-db.version}</bundle>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.reflections/${reflections.bundle.version}</bundle>
</feature>
<feature name="brooklyn-camp-brooklyn" version="${project.version}" description="Brooklyn CAMP REST API">
<bundle>mvn:org.apache.brooklyn/brooklyn-camp/${project.version}</bundle>
<feature>brooklyn-core</feature>
<feature>brooklyn-camp-base</feature>
<bundle dependency="true">mvn:commons-beanutils/commons-beanutils/${commons-beanutils.version}</bundle>
<bundle dependency="true">mvn:commons-collections/commons-collections/${commons-collections.version}</bundle>
</feature>
<feature name="brooklyn-camp-base" version="${project.version}" description="Brooklyn CAMP Base">
<bundle>mvn:org.apache.brooklyn.camp/camp-base/${project.version}</bundle>
<feature>brooklyn-utils-common</feature>
<bundle dependency="true">mvn:org.apache.commons/commons-compress/${commons-compress.version}</bundle>
<bundle dependency="true">mvn:org.apache.commons/commons-lang3/${commons-lang3.version}</bundle>
</feature>
<!--
<feature name="brooklyn-camp-server" version="${project.version}" description="Brooklyn CAMP Server">
<bundle>mvn:org.apache.brooklyn.camp/camp-server/${project.version}</bundle>
<feature>brooklyn-camp-base</feature>
<feature>brooklyn-utils-rest-swagger</feature>
<feature>pax-jetty</feature>
</feature>
-->
<feature name="brooklyn-rest-resources-prereqs" version="${project.version}" description="Brooklyn REST Resources Prerequisites">
<feature>brooklyn-core</feature>
<feature>brooklyn-rest-api</feature>
<feature>brooklyn-camp-brooklyn</feature>
<feature>brooklyn-camp-base</feature>
<feature>cxf-jaxrs-with-optional-dependencies</feature>
<bundle dependency="true">mvn:org.apache.cxf/cxf-rt-rs-security-cors/${cxf.version}</bundle>
<bundle dependency="true">mvn:org.apache.cxf/cxf-rt-frontend-jaxrs/${cxf.version}</bundle>
<bundle dependency="true">mvn:org.apache.cxf.karaf/cxf-karaf-commands/${cxf.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${fasterxml.jackson.version}</bundle>
<!-- should be deps of jax-rs-2.0 rest-api project -->
<bundle dependency="true">mvn:javax.servlet/javax.servlet-api/${javax-servlet.version}</bundle>
<bundle dependency="true">mvn:javax.ws.rs/javax.ws.rs-api/${jax-rs-api.version}</bundle>
<config name="org.apache.cxf.osgi">
org.apache.cxf.servlet.context = /v1
</config>
</feature>
<feature name="cxf-jaxrs-with-optional-dependencies" version="${project.version}" description="cxf-jaxrs with optional dependencies">
<feature>cxf-jaxrs</feature>
<!-- otherwise causes jackson-jaxrs-json-provider to be rewired when this optional dep is installed -->
<bundle dependency="true" start-level="35">mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${fasterxml.jackson.version}</bundle>
</feature>
<feature name="brooklyn-rest-resources" version="${project.version}" description="Brooklyn REST Resources">
<feature>brooklyn-rest-resources-prereqs</feature>
<bundle>mvn:org.apache.brooklyn/brooklyn-rest-resources/${project.version}</bundle>
</feature>
<feature name="brooklyn-commands" version="${project.version}" description="Brooklyn Shell Commands">
<bundle dependency="true">mvn:org.apache.brooklyn/brooklyn-launcher-common/${project.version}</bundle>
<bundle>mvn:org.apache.brooklyn/brooklyn-commands/${project.version}</bundle>
</feature>
<feature name="brooklyn-software-winrm" version="${project.version}" description="Brooklyn WinRM Software Entities">
<bundle>mvn:org.apache.brooklyn/brooklyn-software-winrm/${project.version}</bundle>
<feature>brooklyn-core</feature>
<bundle dependency="true">mvn:io.cloudsoft.windows/winrm4j/${winrm4j.version}</bundle>
<bundle dependency="true">mvn:io.cloudsoft.windows/winrm4j-client/${winrm4j.version}</bundle>
<bundle>mvn:org.apache.brooklyn/brooklyn-karaf-httpcomponents-extension/${project.version}</bundle>
<feature>cxf-jaxws</feature>
<feature>cxf-http-async</feature>
<feature>cxf-ws-addr</feature>
</feature>
<feature name="brooklyn-policy" version="${project.version}" description="Brooklyn Policies">
<bundle>mvn:org.apache.brooklyn/brooklyn-policy/${project.version}</bundle>
<feature>brooklyn-core</feature>
</feature>
<feature name="brooklyn-software-base" version="${project.version}" description="Brooklyn Software Base">
<bundle>mvn:org.apache.brooklyn/brooklyn-software-base/${project.version}</bundle>
<feature>brooklyn-software-winrm</feature>
<feature>brooklyn-policy</feature>
</feature>
<feature name="brooklyn-jmxmp-agent" version="${project.version}" description="Brooklyn Secure JMXMP Agent">
<bundle>mvn:org.apache.brooklyn/brooklyn-jmxmp-agent/${project.version}</bundle>
<feature>brooklyn-core</feature>
<bundle dependency="true">wrap:mvn:org.glassfish.external/opendmk_jmxremote_optional_jar/${opendmk_jmxremote_optional_jar.version}$Import-Package=javax.management.openmbean,*</bundle>
</feature>
<feature name="brooklyn-jmxrmi-agent" version="${project.version}" description="Brooklyn JMX RMI Agent">
<bundle>mvn:org.apache.brooklyn/brooklyn-jmxrmi-agent/${project.version}</bundle>
</feature>
<feature name="brooklyn-locations-jclouds" version="${project.version}" description="Brooklyn Jclouds Location Targets">
<bundle>mvn:org.apache.jclouds/jclouds-loadbalancer/${jclouds.version}</bundle>
<feature>brooklyn-core</feature>
<feature>jclouds-services</feature>
<feature>jclouds-driver-sshj</feature>
<feature>jclouds-driver-slf4j</feature>
<!-- Same as allcompute -->
<!-- As at jclouds 2.1.0 this pulls in snakeyaml 1.17 via jclouds-api-byon;
I cannot see any way to prevent this, short of not using the jclouds feature
definitions. Things we have tried include redeclaring that feature here
with our preferred bundle and it works most places but at least one runtime
(an RPM build of a downstream project installed to Docker) won't start as
it seems to read the other feature definition. We also tried the etc/overrides.properties
but that did not prevent it from pulling in 1.17 at build, or if we built correctly,
it did not prevent it from needing the 1.17 at runtime. Luckily having the two
snakeyaml versions doesn't seem to be a problem. -->
<feature>jclouds-all-compute</feature>
<bundle dependency='true'>mvn:org.yaml/snakeyaml/1.17</bundle>
<!-- Same as allblobstore -->
<feature>jclouds-all-blobstore</feature>
<bundle start-level="85">mvn:org.apache.brooklyn/brooklyn-locations-jclouds/${project.version}</bundle>
<feature>brooklyn-software-winrm</feature>
<feature>brooklyn-locations-jclouds-labs</feature>
</feature>
<feature name="brooklyn-locations-jclouds-labs" version="${project.version}" description="Brooklyn JClouds Labs Location Targets">
</feature>
<feature name="brooklyn-container-service" version="${project.version}" description="Brooklyn Container Service and Location Targets">
<feature>brooklyn-core</feature>
<bundle dependency='true'>mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${fasterxml.jackson.version}</bundle>
<bundle dependency='true'>mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${fasterxml.jackson.version}</bundle>
<bundle dependency='true'>mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/${fasterxml.jackson.version}</bundle>
<!-- (1) -->
<bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/3.0.2_1</bundle>
<bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.generex/1.0.2_1</bundle>
<bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.automaton/1.11-8_1</bundle>
<!-- (2) -->
<bundle dependency='true'>wrap:mvn:com.squareup.okio/okio/1.15.0$Bundle-SymbolicName=squareup-okio&amp;Bundle-Version=1.15.0&amp;Export-Package=okio;version=1.15.0</bundle>
<!-- (3) -->
<bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/okhttp/3.12.6$Bundle-SymbolicName=squareup-okhttp3&amp;Bundle-Version=3.12.6&amp;Import-Package=okio;version=1.15,*;resolution:=optional</bundle>
<bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/logging-interceptor/3.12.6$Bundle-SymbolicName=squareup-okhttp3-logging-interceptor&amp;Bundle-Version=3.12.6&amp;Import-Package=*;resolution:=mandatory</bundle>
<!-- (4) -->
<!-- these are the main required bundles for these features above -->
<bundle>mvn:io.fabric8/zjsonpatch/0.3.0</bundle>
<bundle>mvn:io.fabric8/kubernetes-model/${kubernetes-client.version}</bundle>
<bundle>mvn:io.fabric8/kubernetes-client/${kubernetes-client.version}/jar/bundle</bundle>
<bundle>mvn:io.fabric8/openshift-client/${kubernetes-client.version}/jar/bundle</bundle>
<bundle dependency='true'>mvn:com.google.guava/guava/${guava.version}</bundle>
<bundle start-level="85">mvn:org.apache.brooklyn/brooklyn-locations-container/${project.version}</bundle>
</feature>
<feature name="brooklyn-test-framework" version="${project.version}" description="Brooklyn Test Framework" >
<bundle>mvn:org.apache.brooklyn/brooklyn-test-framework/${project.version}</bundle>
</feature>
<feature name="brooklyn-server-software-all" version="${project.version}" description="Brooklyn All Core Entities">
<feature>brooklyn-software-base</feature>
<feature>brooklyn-jmxmp-agent</feature>
<feature>brooklyn-jmxrmi-agent</feature>
<feature>brooklyn-test-framework</feature>
</feature>
<feature name="brooklyn-osgi-launcher" version="${project.version}" description="Brooklyn init">
<feature>brooklyn-core</feature>
<feature>brooklyn-server-software-all</feature>
<feature>brooklyn-locations-jclouds</feature>
<feature>brooklyn-container-service</feature>
<bundle dependency="true">mvn:org.apache.brooklyn/brooklyn-launcher-common/${project.version}</bundle>
<bundle start-level="90">mvn:org.apache.brooklyn/brooklyn-karaf-init/${project.version}</bundle>
<bundle start-level="90">mvn:org.apache.brooklyn/brooklyn-karaf-start/${project.version}</bundle>
</feature>
</features>