123b00767ef6a178fc4895970ce9a9071998af45
[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.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     <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</feature>
40         <feature version='${project.version}'>odl-mdsal-apidocs</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
87     <feature name='odl-restconf' version='${project.version}' description="OpenDaylight :: Restconf">
88         <feature version='${aaa.version}'>odl-aaa-authn</feature>
89         <feature version='${mdsal.version}'>odl-restconf-noauth</feature>
90     </feature>
91     <feature name='odl-restconf-noauth' version='${project.version}' description="OpenDaylight :: Restconf">
92         <feature version='${mdsal.version}'>odl-mdsal-broker</feature>
93         <feature>war</feature>
94         <!-- presently we need sal-remote to be listed BEFORE sal-rest-connector because sal-rest-connector
95              has a yang file which augments a yang file in sal-remote, and order seems to matter -->
96         <bundle>mvn:org.opendaylight.controller/sal-remote/${project.version}</bundle>
97         <bundle>mvn:org.opendaylight.controller/sal-rest-connector/${project.version}</bundle>
98         <bundle>mvn:com.google.code.gson/gson/${gson.version}</bundle>
99         <bundle>mvn:org.opendaylight.yangtools/yang-data-codec-gson/${yangtools.version}</bundle>
100         <bundle>mvn:com.sun.jersey/jersey-core/${jersey.version}</bundle>
101         <bundle>mvn:com.sun.jersey/jersey-server/${jersey.version}</bundle>
102         <bundle>mvn:com.sun.jersey/jersey-servlet/${jersey.version}</bundle>
103         <bundle>mvn:io.netty/netty-buffer/${netty.version}</bundle>
104         <bundle>mvn:io.netty/netty-codec/${netty.version}</bundle>
105         <bundle>mvn:io.netty/netty-codec-http/${netty.version}</bundle>
106         <bundle>mvn:io.netty/netty-common/${netty.version}</bundle>
107         <bundle>mvn:io.netty/netty-handler/${netty.version}</bundle>
108         <bundle>mvn:io.netty/netty-transport/${netty.version}</bundle>
109         <configfile finalname="${config.configfile.directory}/${config.restconf.configfile}">mvn:org.opendaylight.controller/sal-rest-connector-config/${mdsal.version}/xml/config</configfile>
110     </feature>
111     <feature name ='odl-mdsal-apidocs' version='${project.version}' description="OpenDaylight :: MDSAL :: APIDOCS">
112         <feature version='${project.version}'>odl-restconf</feature>
113         <bundle>mvn:org.opendaylight.controller/sal-rest-docgen/${project.version}</bundle>
114         <bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
115         <bundle>mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
116         <bundle>mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
117         <bundle>mvn:com.fasterxml.jackson.datatype/jackson-datatype-json-org/${jackson.version}</bundle>
118         <bundle>mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${jackson.version}</bundle>
119         <bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${jackson.version}</bundle>
120         <bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${jackson.version}</bundle>
121         <bundle>mvn:com.sun.jersey/jersey-core/${jersey.version}</bundle>
122         <bundle>mvn:com.sun.jersey/jersey-server/${jersey.version}</bundle>
123         <bundle>mvn:com.sun.jersey/jersey-servlet/${jersey.version}</bundle>
124         <bundle>wrap:mvn:org.json/json/${org.json.version}</bundle>
125     </feature>
126
127     <feature name='odl-toaster-rest' version='${project.version}'>
128         <feature version='${project.version}'>odl-restconf</feature>
129         <feature version='${project.version}'>odl-toaster</feature>
130     </feature>
131
132     <feature name='odl-toaster-ui' version='${project.version}'>
133         <feature version='${project.version}'>odl-mdsal-apidocs</feature>
134         <feature version='${project.version}'>odl-mdsal-xsql</feature>
135         <feature version='${project.version}'>odl-toaster-rest</feature>
136     </feature>
137     <!-- Optional TODO: Remove TODO Comments -->
138
139 </features>