Bug 1948: Separate out restconf features.
[controller.git] / features / restconf / src / main / resources / features.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!--
4  Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
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.6.2-SNAPSHOT/xml/features</repository>
22             <repository>mvn:org.opendaylight.controller/features-mdsal/1.1-SNAPSHOT/xml/features</repository>
23             <repository>mvn:org.opendaylight.openflowplugin/features-openflowplugin/0.0.3-SNAPSHOT/xml/features</repository>
24     -->
25     <repository>mvn:org.opendaylight.controller/features-mdsal/${mdsal.version}/xml/features</repository>
26     <repository>mvn:org.opendaylight.yangtools/features-yangtools/${yangtools.version}/xml/features</repository>
27     <repository>mvn:org.opendaylight.aaa/features-aaa/${aaa.version}/xml/features</repository>
28     <feature name='odl-restconf-all' version='${project.version}' description='OpenDaylight :: Restconf :: All'>
29         <!--
30             Necessary TODO:
31             List all of the user consumable features you define in this feature file here.
32             Generally you would *not* list individual bundles here, but only features defined in *this* file.
33             It is useful to list them in the same order they occur in the file.
34
35             Examples:
36             <feature version='${project.version}'>odl-controller-provider</feature>
37             <feature version='${project.version}'>odl-controller-model</feature>
38         -->
39         <feature version='${project.version}'>odl-restconf-new</feature>
40         <feature version='${project.version}'>odl-mdsal-apidocs-new</feature>
41         <feature version='${project.version}'>odl-clustering-test-app-new</feature>
42     </feature>
43     <!--
44         Necessary TODO: Define your features.  It is useful to list then in order of dependency.  So if A depends on B, list A first.
45         When naming your features please be mindful of the guidelines:
46             https://wiki.opendaylight.org/view/Runtime:Karaf_Features_Guidelines
47         Particularly:
48             a) Prefixing names with 'odl-': https://wiki.opendaylight.org/view/Runtime:Karaf_Features_Guidelines#Feature_Naming
49             b) Descriptions: https://wiki.opendaylight.org/view/Runtime:Karaf_Features_Guidelines#Description
50             c) Avoid start-levels: https://wiki.opendaylight.org/view/Runtime:Karaf_Features_Guidelines#Avoid_start-levels
51
52         It's also nice to list inside a feature, first the features it needs, then the bundles it needs, then the configfiles.
53         Examples:
54
55         * Basic MD-SAL Provider
56         <feature name='odl-controller-provider' version='${project.version}' description='OpenDaylight :: controller :: Provider '>
57             <feature version='1.1-SNAPSHOT'>odl-mdsal-broker</feature>
58             <feature version='${project.version}'>odl-controller-model</feature>
59             <bundle>mvn:org.opendaylight.controller/controller-provider/${project.version}</bundle>
60             ... whatever other bundles you need
61         </feature>
62
63         * Basic MD-SAL Model feature
64         <feature name='odl-controller-model' version='${project.version}' description='OpenDaylight :: controller :: Model'>
65             <feature version='0.6.2-SNAPSHOT'>odl-yangtools-binding</feature>
66             <feature version='0.6.2-SNAPSHOT'>odl-yangtools-models</feature>
67             <bundle>mvn:org.opendaylight.controller/controller-model/${project.version}</bundle>
68             ... whatever other bundles you need
69         </feature>
70
71         * Config Subsystem example - the config file is your config subsystem configuration
72         <feature name='odl-controller-provider' version='${project.version}' description='OpenDaylight :: controller :: Provider'>
73             <feature version='1.1-SNAPSHOT'>odl-mdsal-broker</feature>
74             <bundle>mvn:org.opendaylight.controller/controller-provider/${project.version}</bundle>
75             <configfile finalname="etc/opendaylight/karaf/80-controller.xml">mvn:org.opendaylight.controller/controller-config/${project.version}/xml/config</configfile>
76             ... whatever other bundles you need
77         </feature>
78
79         * Basic MD-SAL Provider that uses openflowplugin-flow-services (which brings along odl-mdsal-broker)
80         <feature name='odl-controller-provider' version='${project.version}' description='OpenDaylight :: controller :: Provider'>
81             <feature version='0.0.3-SNAPSHOT'>odl-openflowplugin-flow-services</feature>
82             <bundle>mvn:org.opendaylight.controller/controller-provider/${project.version}</bundle>
83             ... whatever other bundles you need
84         </feature>
85
86     -->
87
88     <feature name='odl-restconf-new' version='${project.version}' description="OpenDaylight :: Restconf">
89         <feature version='${mdsal.version}'>odl-mdsal-broker</feature>
90         <feature version='${aaa.version}'>odl-aaa-authn</feature>
91         <feature>war</feature>
92         <!-- presently we need sal-remote to be listed BEFORE sal-rest-connector because sal-rest-connector
93              has a yang file which augments a yang file in sal-remote, and order seems to matter -->
94         <bundle>mvn:org.opendaylight.controller/sal-remote/${project.version}</bundle>
95         <bundle>mvn:org.opendaylight.controller/sal-rest-connector/${project.version}</bundle>
96         <bundle>mvn:com.google.code.gson/gson/${gson.version}</bundle>
97         <bundle>mvn:org.opendaylight.yangtools/yang-data-codec-gson/${yangtools.version}</bundle>
98         <bundle>mvn:com.sun.jersey/jersey-core/${jersey.version}</bundle>
99         <bundle>mvn:com.sun.jersey/jersey-server/${jersey.version}</bundle>
100         <bundle>mvn:com.sun.jersey/jersey-servlet/${jersey.version}</bundle>
101         <bundle>mvn:io.netty/netty-buffer/${netty.version}</bundle>
102         <bundle>mvn:io.netty/netty-codec/${netty.version}</bundle>
103         <bundle>mvn:io.netty/netty-codec-http/${netty.version}</bundle>
104         <bundle>mvn:io.netty/netty-common/${netty.version}</bundle>
105         <bundle>mvn:io.netty/netty-handler/${netty.version}</bundle>
106         <bundle>mvn:io.netty/netty-transport/${netty.version}</bundle>
107         <configfile finalname="${config.configfile.directory}/${config.restconf.configfile}">mvn:org.opendaylight.controller/sal-rest-connector-config/${mdsal.version}/xml/config</configfile>
108     </feature>
109     <feature name ='odl-mdsal-apidocs-new' version='${project.version}' description="OpenDaylight :: MDSAL :: APIDOCS">
110         <feature version='${project.version}'>odl-restconf-new</feature>
111         <bundle>mvn:org.opendaylight.controller/sal-rest-docgen/${project.version}</bundle>
112         <bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
113         <bundle>mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
114         <bundle>mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
115         <bundle>mvn:com.fasterxml.jackson.datatype/jackson-datatype-json-org/${jackson.version}</bundle>
116         <bundle>mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${jackson.version}</bundle>
117         <bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${jackson.version}</bundle>
118         <bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${jackson.version}</bundle>
119         <bundle>mvn:com.sun.jersey/jersey-core/${jersey.version}</bundle>
120         <bundle>mvn:com.sun.jersey/jersey-server/${jersey.version}</bundle>
121         <bundle>mvn:com.sun.jersey/jersey-servlet/${jersey.version}</bundle>
122         <bundle>wrap:mvn:org.json/json/${org.json.version}</bundle>
123     </feature>
124
125     <feature name='odl-clustering-test-app-new' version='${project.version}'>
126         <feature version='${project.version}'>odl-mdsal-clustering</feature>
127         <feature version='${project.version}'>odl-restconf-new</feature>
128         <feature version='${yangtools.version}'>odl-yangtools-models</feature>
129         <bundle>mvn:org.opendaylight.controller.samples/clustering-it-model/${project.version}</bundle>
130         <bundle>mvn:org.opendaylight.controller.samples/clustering-it-provider/${project.version}</bundle>
131         <configfile finalname="${config.configfile.directory}/20-clustering-test-app.xml">mvn:org.opendaylight.controller.samples/clustering-it-config/${project.version}/xml/config</configfile>
132         <configfile finalname="configuration/initial/module-shards.conf" override="true" >mvn:org.opendaylight.controller.samples/clustering-it-config/${project.version}/xml/testmoduleshardconf</configfile>
133         <configfile finalname="configuration/initial/modules.conf" override="true">mvn:org.opendaylight.controller.samples/clustering-it-config/${project.version}/xml/testmoduleconf</configfile>
134     </feature>
135
136     <feature name='odl-toaster-rest' version='${project.version}'>
137         <feature version='${project.version}'>odl-restconf-new</feature>
138         <feature version='${project.version}'>odl-toaster</feature>
139     </feature>
140
141     <feature name='odl-toaster-ui' version='${project.version}'>
142         <feature version='${project.version}'>odl-mdsal-apidocs</feature>
143         <feature version='${project.version}'>odl-mdsal-xsql</feature>
144         <feature version='${project.version}'>odl-toaster-rest</feature>
145     </feature>
146     <!-- Optional TODO: Remove TODO Comments -->
147
148 </features>