8a3b4a2e25d038884c2d34e23b2bacbe94aec489
[controller.git] / features / akka / src / main / resources / features.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!--
4  Necessary TODO: Put your copyright statement here
5
6  This program and the accompanying materials are made available under the
7  terms of the Eclipse Public License v1.0 which accompanies this distribution,
8  and is available at http://www.eclipse.org/legal/epl-v10.html
9 -->
10 <features name="odl-controller-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
11           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12           xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
13     <!--
14         Necessary TODO: Please read the features guidelines:
15         https://wiki.opendaylight.org/view/Runtime:Karaf_Features_Guidelines#Feature_Best_Practices
16     -->
17     <!--
18     Necessary TODO: Add repo entries for the repositories of features you refer to
19         in this feature file but do not define here.
20         Examples:
21             <repository>mvn:org.opendaylight.yangtools/features-yangtools/0.7.0-SNAPSHOT/xml/features</repository>
22             <repository>mvn:org.opendaylight.controller/features-mdsal/1.2.0-SNAPSHOT/xml/features</repository>
23             <repository>mvn:org.opendaylight.openflowplugin/features-openflowplugin/0.1.0-SNAPSHOT/xml/features</repository>
24     -->
25     <feature name='odl-akka-all' version='${project.version}' description='OpenDaylight :: Akka :: All'>
26         <!--
27             Necessary TODO:
28             List all of the user consumable features you define in this feature file here.
29             Generally you would *not* list individual bundles here, but only features defined in *this* file.
30             It is useful to list them in the same order they occur in the file.
31
32             Examples:
33             <feature version='${project.version}'>odl-controller-provider</feature>
34             <feature version='${project.version}'>odl-controller-model</feature>
35         -->
36         <feature version="${scala.version}">odl-akka-scala</feature>
37         <feature version="${akka.version}">odl-akka-system</feature>
38         <feature version="${akka.version}">odl-akka-clustering</feature>
39         <feature version='0.7'>odl-akka-leveldb</feature>
40         <feature version="${akka.version}">odl-akka-persistence</feature>
41     </feature>
42     <!--
43         Necessary TODO: Define your features.  It is useful to list then in order of dependency.  So if A depends on B, list A first.
44         When naming your features please be mindful of the guidelines:
45             https://wiki.opendaylight.org/view/Runtime:Karaf_Features_Guidelines
46         Particularly:
47             a) Prefixing names with 'odl-': https://wiki.opendaylight.org/view/Runtime:Karaf_Features_Guidelines#Feature_Naming
48             b) Descriptions: https://wiki.opendaylight.org/view/Runtime:Karaf_Features_Guidelines#Description
49             c) Avoid start-levels: https://wiki.opendaylight.org/view/Runtime:Karaf_Features_Guidelines#Avoid_start-levels
50
51         It's also nice to list inside a feature, first the features it needs, then the bundles it needs, then the configfiles.
52         Examples:
53
54         * Basic MD-SAL Provider
55         <feature name='odl-controller-provider' version='${project.version}' description='OpenDaylight :: controller :: Provider '>
56             <feature version='1.2.0-SNAPSHOT'>odl-mdsal-broker</feature>
57             <feature version='${project.version}'>odl-controller-model</feature>
58             <bundle>mvn:org.opendaylight.controller/controller-provider/${project.version}</bundle>
59             ... whatever other bundles you need
60         </feature>
61
62         * Basic MD-SAL Model feature
63         <feature name='odl-controller-model' version='${project.version}' description='OpenDaylight :: controller :: Model'>
64             <feature version='0.7.0-SNAPSHOT'>odl-yangtools-binding</feature>
65             <feature version='0.7.0-SNAPSHOT'>odl-yangtools-models</feature>
66             <bundle>mvn:org.opendaylight.controller/controller-model/${project.version}</bundle>
67             ... whatever other bundles you need
68         </feature>
69
70         * Config Subsystem example - the config file is your config subsystem configuration
71         <feature name='odl-controller-provider' version='${project.version}' description='OpenDaylight :: controller :: Provider'>
72             <feature version='1.2.0-SNAPSHOT'>odl-mdsal-broker</feature>
73             <bundle>mvn:org.opendaylight.controller/controller-provider/${project.version}</bundle>
74             <configfile finalname="etc/opendaylight/karaf/80-controller.xml">mvn:org.opendaylight.controller/controller-config/${project.version}/xml/config</configfile>
75             ... whatever other bundles you need
76         </feature>
77
78         * Basic MD-SAL Provider that uses openflowplugin-flow-services (which brings along odl-mdsal-broker)
79         <feature name='odl-controller-provider' version='${project.version}' description='OpenDaylight :: controller :: Provider'>
80             <feature version='0.1.0-SNAPSHOT'>odl-openflowplugin-flow-services</feature>
81             <bundle>mvn:org.opendaylight.controller/controller-provider/${project.version}</bundle>
82             ... whatever other bundles you need
83         </feature>
84
85     -->
86     <feature name="odl-akka-scala" description="Scala Runtime for OpenDaylight" version="${scala.version}">
87         <bundle>mvn:org.scala-lang/scala-library/${scala.version}.${scala.micro.version}</bundle>
88         <bundle>mvn:org.scala-lang/scala-reflect/${scala.version}.${scala.micro.version}</bundle>
89     </feature>
90     <feature name="odl-akka-system" description="Akka Actor Framework System Bundles" version="${akka.version}">
91         <feature version="${scala.version}">odl-akka-scala</feature>
92         <bundle>mvn:com.typesafe/config/${typesafe.config.version}</bundle>
93         <bundle>mvn:com.typesafe.akka/akka-actor_${scala.version}/${akka.version}</bundle>
94         <bundle>mvn:com.typesafe.akka/akka-slf4j_${scala.version}/${akka.version}</bundle>
95         <bundle>mvn:com.typesafe.akka/akka-osgi_${scala.version}/${akka.version}</bundle>
96     </feature>
97     <feature name="odl-akka-clustering" description="Akka Clustering" version="${akka.version}">
98         <feature version="${akka.version}">odl-akka-system</feature>
99         <bundle>wrap:mvn:org.uncommons.maths/uncommons-maths/${uncommons.maths.version}</bundle>
100         <bundle>mvn:com.google.protobuf/protobuf-java/${protobuf.version}</bundle>
101         <bundle>mvn:io.netty/netty/3.8.0.Final</bundle>
102         <bundle>mvn:com.typesafe.akka/akka-remote_${scala.version}/${akka.version}</bundle>
103         <bundle>mvn:com.typesafe.akka/akka-cluster_${scala.version}/${akka.version}</bundle>
104     </feature>
105     <feature name='odl-akka-leveldb' description='LevelDB' version='0.7'>
106         <bundle>wrap:mvn:org.iq80.leveldb/leveldb/${leveldb.version}</bundle>
107         <bundle>mvn:org.fusesource.leveldbjni/leveldbjni-all/${leveldbjni.version}</bundle>
108     </feature>
109     <feature name='odl-akka-persistence' description='Akka Persistence' version="${akka.version}">
110         <feature version='0.7'>odl-akka-leveldb</feature>
111         <feature version="${akka.version}">odl-akka-system</feature>
112         <bundle>mvn:com.typesafe.akka/akka-persistence-experimental_${scala.version}/${akka.version}</bundle>
113         <bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobuf.version}$overwrite=merge&amp;DynamicImport-Package=org.opendaylight.controller.protobuff.messages.*;org.opendaylight.controller.cluster.raft.protobuff.client.messages.*</bundle>
114     </feature>
115     <!-- Optional TODO: Remove TODO Comments -->
116
117 </features>