Adding controller's adsal-compatibility features
[integration/distribution.git] / features / 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-integration-${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     <!--
15         Concept:
16             This file is a registry of features defined in the projects.
17
18             The intent is to capture high level (not low level features).  This means a project
19             may have features that are not listed here.  That is fine.  Only the stuff you think
20             end users would want to install should be indexed here.
21
22             There are two kinds of features defined here:
23
24             odl-integration-compatible-with-all - to list high level features that don't have compatibility
25                 issues
26
27             odl-integration-compatible-with-<something less than all> - to list high level features
28                 that have compatibility issues with some other features.  These features should
29                 always include odl-integration-compatible-with-all
30
31         Directions:
32             1) Make sure your feature file is running the tests and passing them in master:
33                 https://wiki.opendaylight.org/view/Karaf:Hands_On_Guide#Existing_Feature_Files
34             2) Add your <repository> below
35             3) If and ONLY if your top level feature is compatible with everything, add it to
36                 odl-integration-compatible-with-all
37             4) If and ONLY if your top level feature is incompatible with other things,
38                 a)  Add it to any odl-integration-compatible-with-<...> features it works with.
39                 b) If and ONLY if it is incompatible with all existing odl-integration-compatible-with-<...>
40                     features, create a feature
41                     odl-integration-compatible-with-<feature>
42                 c) Include odl-integration-compatible-with-all in your new feature
43                 d) Include any top level features in your feature
44                 e) This is *only* for handling incompatibilities.  Your features should
45                     be defined in your project, not here.
46             5) Go to the ../pom.xml and
47                 a)  Add a dependendy for your feature
48                 b)  DO NOT ADD ANYTHING TO THE BOOTFEATURES.
49     -->
50
51     <repository>mvn:org.opendaylight.controller/features-mdsal/${feature.mdsal.version}/xml/features</repository>
52     <repository>mvn:org.opendaylight.controller/features-adsal/${feature.adsal.version}/xml/features</repository>
53     <repository>mvn:org.opendaylight.controller/features-nsf/${feature.nsf.version}/xml/features</repository>
54     <repository>mvn:org.opendaylight.openflowplugin/features-openflowplugin/0.0.3-SNAPSHOT/xml/features</repository>
55     <repository>mvn:org.opendaylight.l2switch/features-l2switch/0.1.0-SNAPSHOT/xml/features</repository>
56     <repository>mvn:org.opendaylight.controller/features-adsal-compatibility/1.4.2-SNAPSHOT/xml/features</repository>
57     <feature name='odl-integration-compatible-with-all' version='${project.version}'>
58         <feature version='1.1-SNAPSHOT'>odl-mdsal-broker</feature>
59         <feature version='1.1-SNAPSHOT'>odl-restconf</feature>
60         <feature version='${feature.adsal.version}'>odl-adsal-all</feature>
61         <feature version='${feature.nsf.version}'>odl-nsf-all</feature>
62         <feature version='0.0.3-SNAPSHOT'>odl-openflowplugin-flow-services</feature>
63         <feature version='${feature.adsal.version}'>odl-adsal-compatibility</feature>
64     </feature>
65
66     <!-- 
67         * Reason why l2switch has compatibility issues with others:
68             l2switch simply provides a simple l2switch among all ports
69             this is great for seeing basic functionality like pingall,
70             but doesn't interact well with other flow programming apps
71             at this time
72     -->
73         <feature name='odl-integration-compatible-with-l2switch' version='${project.version}'>
74         <feature version='${project.version}'>odl-integration-compatible-with-all</feature>
75                 <feature version='0.1.0-SNAPSHOT'>odl-l2switch-switch</feature>
76         </feature>
77 </features>