blob: 7fdc18b90bfc9dd84098fbf857a12555f108b840 [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:${project.groupId}.ui/brooklyn-ui-features/${project.version}/xml/features</repository>
<feature name="brooklyn-standard-karaf" version="${project.version}" description="Karaf standard feature with RMI excluded">
<feature>wrap</feature>
<bundle start-level="9">mvn:org.apache.geronimo.specs/geronimo-osgi-registry/1.1</bundle> <!-- from cxf but triggers jetty restart so load early -->
<feature>pax-web-core</feature> <!-- provides objectweb 8.0.1 for aries-proxy -->
<feature>aries-proxy</feature> <!-- seems confused about objectweb; feature declares 9.0 but bundle wires optionally to 8.0.1 -->
<feature>aries-blueprint</feature>
<feature>shell</feature>
<feature>shell-compat</feature>
<feature>feature</feature>
<feature>jaas</feature>
<feature>ssh</feature>
<!-- Don't load the feature as it opens ports protected by the default credentials -->
<!-- Could alternatively reconfigure the feature to use more restricted realm, but we don't use this functionality anyway. -->
<!-- feature>management</feature -->
<feature>bundle</feature>
<feature>config</feature>
<feature>deployer</feature>
<feature>diagnostic</feature>
<feature>feature</feature>
<feature>instance</feature>
<feature>kar</feature>
<feature>log</feature>
<feature>package</feature>
<feature>service</feature>
<feature>system</feature>
<feature>brooklyn-jsgui-prereqs</feature> <!-- provides jetty for pax-web-core which we want, and much more which doesn't hurt -->
</feature>
<feature name="brooklyn-startup-features" version="${project.version}" description="Bundles to load early">
<!-- this might not be needed as a separate feature anymore; the load order has changed -->
<!-- use jakarta not servicemix or javax -->
<bundle dependency="true">mvn:com.sun.activation/jakarta.activation/${jakarta.activation.version}</bundle>
<!-- <bundle dependency="true">mvn:org.apache.servicemix.specs.activation-api-1.1</bundle>-->
<!-- <bundle dependency="true">mvn:org.apache.servicemix.specs.activation-api-1.1/2.9.0</bundle>-->
<!-- Register javax.mail along with pax-logging-service so it doesn't get refreshed later; now replaced by jakarta -->
<!-- <bundle dependency="true">mvn:javax.mail/mail/${javax.mail.version}</bundle> -->
<bundle start-level="10" dependency="true">mvn:jakarta.mail/jakarta.mail-api/${jakarta.mail.version}</bundle>
<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:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/2.9.0</bundle> <!-- used by cxf, provides javax.xml.ws... -->
<bundle>mvn:jakarta.xml.bind/jakarta.xml.bind-api/${jakarta.xml.bind-api.version}</bundle> <!-- preferred over servicemix jaxb (identical) -->
</feature>
<feature name="brooklyn-headless" version="${project.version}" description="All Brooklyn bundles with the exception of the launcher and actual ui+rest">
<feature prerequisite="true">brooklyn-startup-features</feature>
<feature prerequisite="true">brooklyn-essential-deps</feature>
<feature prerequisite="true">brooklyn-standard-karaf</feature>
<feature>brooklyn-core</feature>
<feature>brooklyn-locations-jclouds</feature>
<feature>brooklyn-commands</feature>
<feature>brooklyn-server-software-all</feature>
<feature>brooklyn-library-all</feature>
<feature>brooklyn-rest-resources-prereqs</feature>
<feature>brooklyn-jsgui-prereqs</feature>
</feature>
<feature name="brooklyn-jsgui-prereqs" version="${project.version}" description="Brooklyn REST JavaScript Web GUI">
<bundle>mvn:org.apache.brooklyn/brooklyn-karaf-jetty-config/${project.version}</bundle> <!-- bring in this config at same time as pax-jetty, to avoid refresh -->
<bundle>mvn:org.apache.aries.spifly/org.apache.aries.spifly.dynamic.bundle/1.3.5</bundle> <!-- needed for websocket, to avoid osgi-extender error -->
<bundle>mvn:org.apache.geronimo.specs/geronimo-jaspic_1.0_spec/1.1</bundle> <!-- between pax-web 7.3.23 and 7.3.27 removed from pax, but needed for jetty websocket -->
<feature>brooklyn-standard-karaf</feature>
<feature>pax-jetty</feature> <!-- jaas bundle -->
<feature>war</feature>
<bundle>mvn:org.apache.geronimo.components/geronimo-jaspi/2.0.0</bundle> <!-- needed since eclipse jetty 9.4.49.v20220914 -->
<!-- we update the versions of these bundles; as per the org.apache.karaf.features.xml file in this project,
these need to be declared here -->
<bundle>mvn:org.eclipse.jetty.websocket/javax-websocket-client-impl/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty.websocket/javax-websocket-server-impl/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty.websocket/websocket-api/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty.websocket/websocket-client/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty.websocket/websocket-common/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty.websocket/websocket-server/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty.websocket/websocket-servlet/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-client/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-continuation/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-deploy/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-http/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-io/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-jaas/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-jaspi/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-jmx/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-jndi/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-plus/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-proxy/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-rewrite/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-security/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-server/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-servlet/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-servlets/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-util-ajax/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-util/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-webapp/${jetty.version}</bundle>
<bundle>mvn:org.eclipse.jetty/jetty-xml/${jetty.version}</bundle>
</feature>
<feature name="brooklyn-jsgui" version="${project.version}" description="Brooklyn REST JavaScript Web GUI">
<feature>brooklyn-jsgui-prereqs</feature>
<feature>brooklyn-ui</feature>
</feature>
<feature name="brooklyn-boot" version="${project.version}" description="Bundles to start on boot">
<feature prerequisite="true">brooklyn-headless</feature>
<feature>brooklyn-osgi-launcher</feature>
<feature>brooklyn-jsgui</feature>
<feature>brooklyn-rest-resources</feature>
</feature>
</features>