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