blob: 1a8a25d66e3b78310de6be7c60d33355a84e9d71 [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.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>mvn:com.google.guava/guava/${guava-swagger.version}</bundle>
<bundle>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>mvn:com.fasterxml.jackson.core/jackson-annotations/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-core/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-databind/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${fasterxml.jackson.version}</bundle>
</feature>
<feature name="brooklyn-essential-deps" version="${project.version}" description="Brooklyn Essential Dependencies, to load early">
<bundle>mvn:jakarta.annotation/jakarta.annotation-api/${jakarta.annotation-api.version}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/${jsr305.bundle.version}</bundle> <!-- complementary to above, but split packages; excluded by karaf.features.xml as not needed, confuses things -->
<bundle>mvn:jakarta.xml.bind/jakarta.xml.bind-api/${jakarta.xml.bind-api.version}</bundle> <!-- preferred over servicemix jaxb (identical) -->
<!-- <bundle>mvn:org.slf4j/slf4j-api/${slf4j.version}</bundle> seems to give compile errors if we include this -->
<bundle>mvn:org.slf4j/jul-to-slf4j/${slf4j.version}</bundle>
<bundle>mvn:ch.qos.logback/logback-core/${logback.version}</bundle>
<bundle>mvn:com.google.guava/failureaccess/${failureaccess.version}</bundle>
<bundle>mvn:com.google.guava/guava/${guava.version}</bundle>
<bundle>mvn:commons-io/commons-io/${commons-io.version}</bundle>
<bundle>mvn:commons-codec/commons-codec/${commons-codec.version}</bundle>
<bundle>mvn:org.yaml/snakeyaml/${snakeyaml.version}</bundle>
<bundle>mvn:org.apache.httpcomponents/httpcore-osgi/${httpcomponents.httpcore.version}</bundle>
<bundle>mvn:org.apache.httpcomponents/httpclient-osgi/${httpcomponents.httpclient.version}</bundle>
<feature prerequisite="true">wrap</feature>
<bundle>mvn:org.bouncycastle/bcutil-jdk18on/${bouncycastle.version}</bundle>
<bundle>mvn:org.bouncycastle/bcprov-jdk18on/${bouncycastle.version}</bundle>
<bundle>mvn:org.bouncycastle/bcpkix-jdk18on/${bouncycastle.version}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.version}</bundle>
<!-- wrapped to import/export eddsa.math subpackage, and fix various other refs too -->
<bundle>wrap:mvn:net.i2p.crypto/eddsa/${eddsa.version}$overwrite=merge&amp;Bundle-SymbolicName=net.i2p.crypto.eddsa_wrapped&amp;Bundle-Version=${eddsa.version}&amp;Export-Package=*;version="${eddsa.version}"</bundle>
<bundle>wrap:mvn:com.hierynomus/asn-one/${sshj.asn1.version}$overwrite=merge&amp;Bundle-SymbolicName=com.hierynomus.asn-one_wrapped&amp;Bundle-Version=${sshj.asn1.version}</bundle>
<bundle>wrap:mvn:com.hierynomus/sshj/${sshj.version}$overwrite=merge&amp;Bundle-SymbolicName=com.hierynomus.sshj_wrapped&amp;Bundle-Version=${sshj.version}&amp;Import-Package=net.i2p.crypto.eddsa.math,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,net.i2p.crypto.eddsa;version="[0.2,1)",net.i2p.crypto.eddsa.spec;version="[0.2,1)",com.jcraft.jzlib;version="[1.1,2)";resolution:=optional,org.slf4j;version="[1.7,5)",com.hierynomous.asn1;resolution:=optional;version="${sshj.asn1.version}",org.bouncycastle.asn1;resolution:=optional;version="[1.60,2)",org.bouncycastle.asn1.nist;resolution:=optional;version="[1.60,2)",org.bouncycastle.asn1.x9;resolution:=optional;version="[1.60,2)",org.bouncycastle.crypto.ec;resolution:=optional;version="[1.60,2)",org.bouncycastle.crypto.prng;resolution:=optional;version="[1.60,2)",org.bouncycastle.jce.spec;resolution:=optional;version="[1.60,2)",org.bouncycastle.math.ec;resolution:=optional;version="[1.60,2)",org.bouncycastle.openssl;resolution:=optional;version="[1.60,2)",org.bouncycastle.openssl.jcajce;resolution:=optional;version="[1.60,2)",org.bouncycastle.util.encoders;resolution:=optional;version="[1.60,2)",javax.net,javax.security.auth,javax.security.auth.login,org.ietf.jgss,org.bouncycastle.jce.provider;resolution:=optional;version="[1.60,2)",org.bouncycastle.operator;resolution:=optional;version="[1.60,2)",org.bouncycastle.pkcs;resolution:=optional;version="[1.60,2)"</bundle>
<!--
<bundle>mvn:net.i2p.crypto/eddsa/${eddsa.version}</bundle>
<bundle>mvn:com.hierynomus/asn-one/${sshj.asn1.version}</bundle>
<bundle>mvn:com.hierynomus/sshj/${sshj.version}</bundle>
-->
</feature>
<feature name="brooklyn-utils-common" version="${project.version}" description="Brooklyn Common Utils">
<feature prerequisite="true">brooklyn-essential-deps</feature>
<bundle>mvn:org.apache.brooklyn/brooklyn-utils-common/${project.version}</bundle>
<bundle>mvn:org.apache.brooklyn/brooklyn-logback-includes/${project.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>mvn:javax.servlet/javax.servlet-api/${javax-servlet.version}</bundle>
<bundle dependency="true">mvn:jakarta.ws.rs/jakarta.ws.rs-api/${jakarta.rs-api.version}</bundle>
<bundle>wrap:mvn:javax.validation/validation-api/${validation-api.version}</bundle>
<bundle>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>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>mvn:org.apache.commons/commons-lang3/${commons-lang3.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-databind/${fasterxml.jackson.version}</bundle>
<bundle>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'>wrap:mvn:com.google.code.gson/gson/${gson.version}$overwrite=merge&amp;Export-Package=*;version=${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 prerequisite="true">brooklyn-essential-deps</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>mvn:ch.qos.logback/logback-classic/${logback.version}</bundle> <!-- has an optional dep on groovy-all so refreshes when it is installed; just delay install till when it is -->
<!-- export internal packages for use by jclouds -->
<bundle>wrap:mvn:com.google.code.gson/gson/${gson.version}$overwrite=merge&amp;Export-Package=*;version=${gson.version}</bundle>
<bundle>mvn:com.jayway.jsonpath/json-path/${jsonPath.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-core/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-databind/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.thoughtworks.xstream/xstream/${xstream.version}</bundle>
<bundle>mvn:org.codehaus.groovy/groovy-all/${groovy.version}</bundle>
<bundle>mvn:net.minidev/json-smart/${jsonSmart.version}</bundle>
<bundle>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>mvn:org.ow2.asm/asm/${ow2.asm.version.jsonpath}</bundle>
<bundle>mvn:org.ow2.asm/asm-commons/${ow2.asm.version.jsonpath}</bundle>
<bundle>mvn:org.ow2.asm/asm-tree/${ow2.asm.version.jsonpath}</bundle>
<bundle>mvn:org.ow2.asm/asm-analysis/${ow2.asm.version.jsonpath}</bundle>
<bundle>mvn:org.ow2.asm/asm-util/${ow2.asm.version.jsonpath}</bundle>
<bundle>mvn:org.ops4j.pax.web/pax-web-spi/${pax-web.version}</bundle>
<bundle>mvn:org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/${geronimo-ws-metadata_2.0_spec.version}</bundle>
<bundle>mvn:org.freemarker/freemarker/${freemarker.version}</bundle>
<bundle>mvn:commons-codec/commons-codec/${commons-codec.version}</bundle>
<bundle>mvn:org.apache.commons/commons-lang3/${commons-lang3.version}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3.servicemix.version}</bundle> <!-- from com.thoughtworks.xstream/xstream -->
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.kxml2/${kxml2.servicemix.version}</bundle>
<!-- TODO: don't use wrap -->
<bundle>wrap:mvn:com.maxmind.geoip2/geoip2/${maxmind.version}</bundle> <!-- from geoip2 -->
<bundle>wrap:mvn:com.maxmind.db/maxmind-db/${maxmind-db.version}</bundle>
<bundle>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:commons-beanutils/commons-beanutils/${commons-beanutils.version}</bundle>
<bundle>mvn:commons-collections/commons-collections/${commons-collections.version}</bundle>
<feature>brooklyn-core</feature>
<feature>brooklyn-camp-base</feature>
<bundle>mvn:org.apache.brooklyn/brooklyn-camp/${project.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>mvn:org.apache.commons/commons-compress/${commons-compress.version}</bundle>
<bundle>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>pax-jetty</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>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:jakarta.ws.rs/jakarta.ws.rs-api/${jakarta.rs-api.version}</bundle>
<config name="org.apache.cxf.osgi">
org.apache.cxf.servlet.context = /v1
</config>
<feature>brooklyn-core</feature>
<feature>brooklyn-rest-api</feature>
<feature>brooklyn-camp-brooklyn</feature>
<feature>brooklyn-camp-base</feature>
</feature>
<feature name="cxf-jaxrs-with-optional-dependencies" version="${project.version}" description="cxf-jaxrs with optional dependencies">
<feature>cxf-jaxrs</feature>
<!-- do this here 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>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>mvn:io.cloudsoft.windows/winrm4j/${winrm4j.version}</bundle>
<bundle>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">
<feature prerequisite="true">brooklyn-essential-deps</feature>
<bundle>mvn:org.apache.brooklyn/brooklyn-software-base/${project.version}</bundle>
<bundle>wrap:mvn:org.glassfish.external/opendmk_jmxremote_optional_jar/${opendmk_jmxremote_optional_jar.version}$Bundle-SymbolicName=glassfish-opendmk-jmxremote-optional&amp;Bundle-Version=1&amp;Import-Package=javax.management.openmbean,*</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}$Bundle-SymbolicName=glassfish-opendmk-jmxremote-optional&amp;Bundle-Version=1&amp;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">
<feature>brooklyn-core</feature>
<feature>jclouds-feature-brooklyn</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="jclouds-feature-brooklyn" version="${project.version}" description="Jclouds and Dependencies">
<!-- upstreams which seem needed -->
<!-- prefer the wapped ones as the servicemix ones re-export too much; they need wrapping because they define bundle manifest version 1 -->
<!-- note fabric8/kubernetes pulls servicemix ones so need to be excluded; note servicemix okhttp includes logging interceptors -->
<bundle>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>
<!-- <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okio/1.15.0_1</bundle> -->
<bundle>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,javax.annotation;version=1.3,*;resolution:=optional</bundle>
<bundle>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>
<!-- <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/${jsr305.bundle.version}</bundle> --> <!-- see note in dist; complements javax.annotation -->
<!-- <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okhttp/3.12.1_1</bundle> --> <!-- note this is okhttp3 -->
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.conscrypt-openjdk/1.4.2_1</bundle> <!-- optional to okhttp, but wire in now to avoid refresh when fabric8 pulls it in -->
<!-- upstream dependencies, needed -->
<bundle dependency="true">mvn:com.google.inject/guice/${guice.version}</bundle>
<bundle dependency="true">mvn:com.google.inject.extensions/guice-assistedinject/${guice.version}</bundle>
<bundle dependency="true">mvn:com.google.inject.extensions/guice-multibindings/${guice.version}</bundle>
<!-- jclouds _embeds_ 2.8.5 but we ignore that and pull this in -->
<bundle>wrap:mvn:com.google.code.gson/gson/${gson.version}$overwrite=merge&amp;Export-Package=*;version=${gson.version}</bundle>
<bundle>mvn:com.google.guava/guava/${guava.version}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch/${jsch.bundle.version}</bundle>
<!-- <bundle>mvn:org.apache.jclouds.karaf.bundles/jsch-agentproxy-jsch/${project.version}</bundle> -->
<bundle>mvn:com.jcraft/jsch.agentproxy.core/${jsch.agentproxy.version}</bundle>
<bundle>mvn:com.jcraft/jsch.agentproxy.connector-factory/${jsch.agentproxy.version}</bundle>
<bundle>mvn:com.jcraft/jsch.agentproxy.usocket-nc/${jsch.agentproxy.version}</bundle>
<bundle>mvn:com.jcraft/jsch.agentproxy.sshagent/${jsch.agentproxy.version}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.version}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch-agentproxy-sshj/${jsch.agentproxy.bundle.version}</bundle>
<!-- upstream dependencies, maybe not needed -->
<bundle dependency="true">mvn:jakarta.ws.rs/jakarta.ws.rs-api/${jakarta.rs-api.version}</bundle> <!-- was javax; mapped to jakarta -->
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_1</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0_5</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oauth-commons/20100527_1</bundle>
<!-- <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jersey-core/1.11_1</bundle> --> <!-- appears not to be used, and conflicts with jakarta.rs.ws -->
<bundle dependency="true">mvn:jakarta.ws.rs/jakarta.ws.rs-api/${jakarta.rs-api.version}</bundle> <!-- used (elsewhere) instead of above, but insist on here also -->
<!-- <bundle>mvn:org.yaml/snakeyaml/${snakeyaml.jclouds.version}</bundle> --> <!-- prefer our version -->
<bundle>mvn:org.yaml/snakeyaml/${snakeyaml.version}</bundle>
<!-- jclouds bundles -->
<bundle>mvn:org.apache.jclouds.api/atmos/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/byon/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/cloudstack/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/docker/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/ec2/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/elasticstack/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/oauth/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/openstack-cinder/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/openstack-keystone/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/openstack-neutron/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/openstack-nova-ec2/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/openstack-nova/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/openstack-swift/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/rackspace-cloudfiles/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/rackspace-cloudidentity/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/route53/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/s3/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.api/sts/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.common/googlecloud/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.common/openstack-common/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.driver/jclouds-bouncycastle/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.driver/jclouds-jsch/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.driver/jclouds-log4j/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.driver/jclouds-okhttp/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.driver/jclouds-slf4j/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.driver/jclouds-sshj/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds/jclouds-blobstore/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds/jclouds-compute/${jclouds.version}</bundle>
<!-- <bundle>mvn:org.apache.jclouds/jclouds-core/${jclouds.version}</bundle> -->
<!-- jclouds-core embeds gson 2.8.5 which conflicts with our use of 2.8.9; we want to load gson earlier, and later version, so suppress jclouds' classpath access and export; extra needed as . is default and so ignored -->
<bundle>wrap:mvn:org.apache.jclouds/jclouds-core/${jclouds.version}$overwrite=merge&amp;Export-Package=org.jclouds.*;version=${jclouds.version};-noimport:=true&amp;Bundle-ClassPath=.,extra</bundle>
<bundle>mvn:org.apache.jclouds/jclouds-loadbalancer/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds/jclouds-scriptbuilder/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/aws-ec2/${jclouds.version}</bundle>
<!-- <bundle>mvn:org.apache.jclouds.provider/aws-s3/${jclouds.version}</bundle> add visibility to options so guice can resolve, below -->
<bundle>wrap:mvn:org.apache.jclouds.provider/aws-s3/${jclouds.version}$overwrite=merge&amp;Import-Package=org.jclouds.http.options,*</bundle>
<bundle>mvn:org.apache.jclouds.provider/azureblob/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/azurecompute-arm/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/b2/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/digitalocean2/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/elastichosts-lon-b/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/elastichosts-lon-p/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/elastichosts-sat-p/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/go2cloud-jhb1/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/gogrid/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/google-cloud-storage/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/google-compute-engine/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/openhosting-east1/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/packet/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/profitbricks/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudfiles-uk/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudfiles-us/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudservers-uk/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudservers-us/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/serverlove-z1-man/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/skalicloud-sdg-my/${jclouds.version}</bundle>
<bundle>mvn:org.apache.jclouds.provider/softlayer/${jclouds.version}</bundle>
<!-- exclude vcac; not available in 2.4.0, and not widely used or tested.
<bundle>mvn:org.apache.jclouds.labs/vcac/${jclouds.version}</bundle>
-->
</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 prerequisite="true">brooklyn-core</feature>
<!-- shared dependencies - included for kubernetes-client 4.9.0; not sure if needed now -->
<bundle>mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/${fasterxml.jackson.version}</bundle>
<bundle>mvn:com.google.guava/guava/${guava.version}</bundle>
<!-- old deps, for kubernetes-client 4.9.0; mostly seem still needed, but come from the feature now
- new dependencies for this -
- note jsr305 provides javax.annotation.meta which is needed we think;
but also javax.annotation at 1.1 which confuses other things;
however it seems not to get installed at runtime now, even though it is listed as part of the feature which is installed -
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/${jsr305.bundle.version}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.generex/1.0.2_1</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.automaton/1.11-8_1</bundle>
- these need wrapped because they define Bundle-ManifestVersion: 1
<bundle>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>
<bundle>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,javax.annotation;version=1.3,*;resolution:=optional</bundle>
<bundle>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>
<bundle>mvn:io.fabric8/kubernetes-model/${kubernetes-client.version}</bundle>
<bundle>mvn:io.fabric8/kubernetes-client/${kubernetes-client.version}/jar/bundle</bundle>
-->
<!-- non-obvious bundles pulled in by kubernetes-client feature; need inspection to avoid duplication, might need exclusion in karaf definition
<bundle>mvn:com.google.code.findbugs/jsr305/3.0.2</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-core/2.11.2</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/2.11.2</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-databind/2.11.2</bundle>
<bundle>mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.11.2</bundle>
<bundle>mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.11.2</bundle>
<bundle>mvn:org.yaml/snakeyaml/1.26</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.generex/1.0.1_1</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.automaton/1.11-8_1</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.conscrypt-openjdk/1.4.2_1</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okhttp/3.12.1_1</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okio/1.15.0_1</bundle>
<bundle>mvn:org.apache.aries.spifly/org.apache.aries.spifly.dynamic.bundle/1.3.0</bundle>
<bundle>mvn:org.ow2.asm/asm/8.0.1</bundle>
<bundle>mvn:org.ow2.asm/asm-analysis/8.0.1</bundle>
<bundle>mvn:org.ow2.asm/asm-commons/8.0.1</bundle>
<bundle>mvn:org.ow2.asm/asm-tree/8.0.1</bundle>
<bundle>mvn:org.ow2.asm/asm-util/8.0.1</bundle>
<bundle>mvn:io.fabric8/kubernetes-model-common/5.8.0</bundle>
<bundle>mvn:io.fabric8/zjsonpatch/0.3.0</bundle>
- pulled in by openshift-client
<feature>kubernetes-client</feature>
-->
<bundle>mvn:org.apache.aries.spifly/org.apache.aries.spifly.dynamic.bundle/${spifly.version}</bundle> <!-- we bump from 1.3.0 to avoid activator NPE -->
<feature>openshift-client</feature>
<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 prerequisite="true">brooklyn-essential-deps</feature>
<feature prerequisite="true">brooklyn-core</feature>
<feature prerequisite="true">brooklyn-server-software-all</feature>
<feature prerequisite="true">brooklyn-locations-jclouds</feature>
<feature>brooklyn-container-service</feature> <!-- install this after the above so servicemix jsr305 doesn't interfere -->
<bundle>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>