Improve pom files towards Maven Central requirements. 39/41839/4
authorVratko Polak <vrpolak@cisco.com>
Fri, 15 Jul 2016 09:46:00 +0000 (11:46 +0200)
committerVratko Polak <vrpolak@cisco.com>
Tue, 26 Jul 2016 13:35:37 +0000 (15:35 +0200)
Page with requirements: http://central.sonatype.org/pages/requirements.html

+ Added sonar-friendly <name> element for root pom.
+ Added ${project.groupId}:${project.artifactId} as <name> for sub poms.
+ Added descriptions: high-level for root, specific ones for sub poms.
+ Every <url> now points to Integration/Distribution wiki page.
+ Added licenses section.
- Still missing developers section.
+ Fixed scm sections, <url> is now specific to pom in question.

Not required for Maven Central, but useful:

+ Reformatted to indent = 4 spaces and no empty lines.
- Situation with License in comments still uneven.
- Various other metadata in comments (such as vi settings) still uneven.

Change-Id: I9ff765186af5412a5d02db66c91b06b1924c90f4
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
distribution-karaf/pom.xml
features-distribution/pom.xml
features-index/pom.xml
features-test/pom.xml
pom.xml
version/pom.xml

index 0b284a341ec184a7635b935e894f1b864c7e2ace..899d1ecb7bf744e28f866e720dfb01807b9373b4 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>karaf-parent</artifactId>
-      <version>1.7.0-SNAPSHOT</version>
-      <relativePath/>
-  </parent>
-  <groupId>org.opendaylight.integration</groupId>
-  <artifactId>distribution-karaf</artifactId>
-  <version>0.5.0-SNAPSHOT</version>
-  <packaging>pom</packaging>
-
-  <properties>
-    <odlparent.version>1.7.0-SNAPSHOT</odlparent.version>
-    <vtn.coordinator.version>6.3.0-SNAPSHOT</vtn.coordinator.version>
-  </properties>
-
-  <dependencies>
-    <!-- opendaylight-karaf-parent uses this too -->
-    <dependency>
-      <groupId>org.apache.karaf.features</groupId>
-      <artifactId>framework</artifactId>
-      <type>kar</type>
-    </dependency>
-    <!-- integration feature -->
-    <dependency>
-      <artifactId>features-integration-index</artifactId>
-      <groupId>org.opendaylight.integration</groupId>
-      <version>${project.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-      <scope>runtime</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.opendaylight.controller</groupId>
-          <artifactId>opendaylight-karaf-empty</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <!-- integration test feature -->
-    <dependency>
-      <artifactId>features-integration-test</artifactId>
-      <groupId>org.opendaylight.integration</groupId>
-      <version>${project.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.opendaylight.controller</groupId>
-          <artifactId>opendaylight-karaf-empty</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <!-- external application -->
-    <dependency>
-      <groupId>org.opendaylight.vtn</groupId>
-      <artifactId>distribution.vtn-coordinator</artifactId>
-      <version>${vtn.coordinator.version}</version>
-      <type>tar.bz2</type>
-      <classifier>bin</classifier>
-      <exclusions>
-        <exclusion>
-          <groupId>*</groupId>
-          <artifactId>*</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.vtn</groupId>
-      <artifactId>distribution.vtn-coordinator</artifactId>
-      <version>${vtn.coordinator.version}</version>
-      <type>txt</type>
-      <classifier>README</classifier>
-      <exclusions>
-        <exclusion>
-          <groupId>*</groupId>
-          <artifactId>*</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <!-- Overriding executions from parent. -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <!-- This replaces one of executions (defined in parent) which would exclude the app. -->
-          <execution>
-            <id>copy-externalapps</id>
-            <phase>prepare-package</phase>
-            <goals>
-              <goal>copy-dependencies</goal>
-            </goals>
-            <configuration>
-              <outputDirectory>${project.build.directory}/assembly/externalapps</outputDirectory>
-              <includeArtifactIds>distribution.vtn-coordinator</includeArtifactIds>
-              <overWriteReleases>false</overWriteReleases>
-              <overWriteSnapshots>true</overWriteSnapshots>
-              <overWriteIfNewer>true</overWriteIfNewer>
-              <excludeTransitive>true</excludeTransitive>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <!-- karaf-parent does not use karaf-plugin (yet) -->
-      <plugin>
-        <groupId>org.opendaylight.odlparent</groupId>
-        <artifactId>karaf-plugin</artifactId>
-        <version>${odlparent.version}</version>
-        <executions>
-          <execution>
-            <id>populate-local-repo</id>
-            <goals>
-              <goal>populate-local-repo</goal>
-            </goals>
-            <configuration>
-              <localRepo>${project.build.directory}/assembly/system</localRepo>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-  <scm>
-    <connection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
-    <tag>HEAD</tag>
-    <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;f=distribution-karaf;hb=HEAD</url>
-  </scm>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>karaf-parent</artifactId>
+        <version>1.7.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
+    <groupId>org.opendaylight.integration</groupId>
+    <artifactId>distribution-karaf</artifactId>
+    <version>0.5.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+    <name>${project.groupId}:${project.artifactId}</name>
+    <description>The actual Karaf building sub-project.</description>
+    <url>https://wiki.opendaylight.org/view/Integration/Distribution</url>
+    <licenses>
+        <license>
+            <name>Eclipse Public License v1.0</name>
+            <url>http://www.eclipse.org/legal/epl-v10.html</url>
+        </license>
+    </licenses>
+    <!-- FIXME: Add developers section -->
+    <scm>
+        <connection>scm:git:https://git.opendaylight.org/gerrit/integration/distribution.git</connection>
+        <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
+        <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;f=distribution-karaf;hb=HEAD</url>
+        <tag>HEAD</tag>
+    </scm>
+    <properties>
+        <odlparent.version>1.7.0-SNAPSHOT</odlparent.version>
+        <vtn.coordinator.version>6.3.0-SNAPSHOT</vtn.coordinator.version>
+    </properties>
+    <dependencies>
+        <!-- opendaylight-karaf-parent uses this too -->
+        <dependency>
+            <groupId>org.apache.karaf.features</groupId>
+            <artifactId>framework</artifactId>
+            <type>kar</type>
+        </dependency>
+        <!-- integration feature -->
+        <dependency>
+            <artifactId>features-integration-index</artifactId>
+            <groupId>org.opendaylight.integration</groupId>
+            <version>${project.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.opendaylight.controller</groupId>
+                    <artifactId>opendaylight-karaf-empty</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <!-- integration test feature -->
+        <dependency>
+            <artifactId>features-integration-test</artifactId>
+            <groupId>org.opendaylight.integration</groupId>
+            <version>${project.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.opendaylight.controller</groupId>
+                    <artifactId>opendaylight-karaf-empty</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <!-- external application -->
+        <dependency>
+            <groupId>org.opendaylight.vtn</groupId>
+            <artifactId>distribution.vtn-coordinator</artifactId>
+            <version>${vtn.coordinator.version}</version>
+            <type>tar.bz2</type>
+            <classifier>bin</classifier>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.vtn</groupId>
+            <artifactId>distribution.vtn-coordinator</artifactId>
+            <version>${vtn.coordinator.version}</version>
+            <type>txt</type>
+            <classifier>README</classifier>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <!-- Overriding executions from parent. -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <!-- This replaces one of executions (defined in parent) which would exclude the app. -->
+                    <execution>
+                        <id>copy-externalapps</id>
+                        <phase>prepare-package</phase>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/assembly/externalapps</outputDirectory>
+                            <includeArtifactIds>distribution.vtn-coordinator</includeArtifactIds>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>true</overWriteSnapshots>
+                            <overWriteIfNewer>true</overWriteIfNewer>
+                            <excludeTransitive>true</excludeTransitive>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <!-- karaf-parent does not use karaf-plugin (yet) -->
+            <plugin>
+                <groupId>org.opendaylight.odlparent</groupId>
+                <artifactId>karaf-plugin</artifactId>
+                <version>${odlparent.version}</version>
+                <executions>
+                    <execution>
+                        <id>populate-local-repo</id>
+                        <goals>
+                            <goal>populate-local-repo</goal>
+                        </goals>
+                        <configuration>
+                            <localRepo>${project.build.directory}/assembly/system</localRepo>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>
index 7364d94467db95ba4f55579554f45c6d76843d27..e80ed4e452d24aa2b8606276d39b971f96235552 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <!-- vi: set et smarttab sw=4 tabstop=4: -->
 <!--
  Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
  terms of the Eclipse Public License v1.0 which accompanies this distribution,
  and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-   <modelVersion>4.0.0</modelVersion>
-   <parent>
-      <groupId>org.opendaylight.integration</groupId>
-      <artifactId>root</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
-      <relativePath>../</relativePath>
-   </parent>
-   <artifactId>features-distribution</artifactId>
-   <packaging>jar</packaging>
-   <properties>
-      <features.file>features.xml</features.file>
-   </properties>
-   <dependencies>
-    <!-- version module -->
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>version</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>version</artifactId>
-      <version>${project.version}</version>
-      <type>xml</type>
-      <classifier>config</classifier>
-    </dependency>
-    <!-- dependencies on feature repos -->
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-config-persister</artifactId>
-      <version>${feature.controller.config.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <!-- test to validate features.xml -->
-    <dependency>
-      <groupId>org.opendaylight.odlparent</groupId>
-      <artifactId>features-test</artifactId>
-      <version>${feature.odlparent.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit-dep</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <!-- dependency for opendaylight-karaf-empty for use by testing -->
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>opendaylight-karaf-empty</artifactId>
-      <version>${feature.odlparent.version}</version>
-      <type>zip</type>
-    </dependency>
-   </dependencies>
-   <build>
-      <resources>
-         <resource>
-            <directory>src/main/resources</directory>
-            <filtering>true</filtering>
-         </resource>
-      </resources>
-      <plugins>
-         <plugin>
-            <groupId>org.apache.karaf.tooling</groupId>
-            <artifactId>karaf-maven-plugin</artifactId>
-            <extensions>true</extensions>
-            <executions>
-               <execution>
-                  <id>features-create-kar</id>
-                  <goals>
-                     <goal>features-create-kar</goal>
-                  </goals>
-                  <configuration>
-                     <featuresFile>${project.build.directory}/classes/${features.file}</featuresFile>
-                  </configuration>
-               </execution>
-            </executions>
-        <!-- There is no useful configuration for the kar mojo. The features-generate-descriptor mojo configuration may be useful -->
-         </plugin>
-         <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-resources-plugin</artifactId>
-            <executions>
-               <execution>
-                  <id>filter</id>
-                  <phase>generate-resources</phase>
-                  <goals>
-                     <goal>resources</goal>
-                  </goals>
-               </execution>
-            </executions>
-         </plugin>
-         <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>build-helper-maven-plugin</artifactId>
-            <executions>
-               <execution>
-                  <id>attach-artifacts</id>
-                  <phase>package</phase>
-                  <goals>
-                     <goal>attach-artifact</goal>
-                  </goals>
-                  <configuration>
-                     <artifacts>
-                        <artifact>
-                           <file>${project.build.directory}/classes/${features.file}</file>
-                           <type>xml</type>
-                           <classifier>features</classifier>
-                        </artifact>
-                     </artifacts>
-                  </configuration>
-               </execution>
-            </executions>
-         </plugin>
-         <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <systemPropertyVariables>
-                <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
-                <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
-                <karaf.distro.version>${feature.odlparent.version}</karaf.distro.version>
-              </systemPropertyVariables>
-              <dependenciesToScan>
-               <dependency>org.opendaylight.odlparent:features-test</dependency>
-              </dependenciesToScan>
-            </configuration>
-          </plugin>
-      </plugins>
-   </build>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.integration</groupId>
+        <artifactId>root</artifactId>
+        <version>0.5.0-SNAPSHOT</version>
+        <relativePath>../</relativePath>
+    </parent>
+    <artifactId>features-distribution</artifactId>
+    <packaging>jar</packaging>
+    <name>${project.groupId}:${project.artifactId}</name>
+    <description>Sub-project building features internal to distribution.</description>
+    <url>https://wiki.opendaylight.org/view/Integration/Distribution</url>
+    <licenses>
+        <license>
+            <name>Eclipse Public License v1.0</name>
+            <url>http://www.eclipse.org/legal/epl-v10.html</url>
+        </license>
+    </licenses>
+    <!-- FIXME: Add developers section -->
+    <scm>
+        <connection>scm:git:https://git.opendaylight.org/gerrit/integration/distribution.git</connection>
+        <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
+        <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;f=features-distribution;hb=HEAD</url>
+        <tag>HEAD</tag>
+    </scm>
+    <properties>
+        <features.file>features.xml</features.file>
+    </properties>
+    <dependencies>
+        <!-- version module -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>version</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>version</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>config</classifier>
+        </dependency>
+        <!-- dependencies on feature repos -->
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>features-config-persister</artifactId>
+            <version>${feature.controller.config.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <!-- test to validate features.xml -->
+        <dependency>
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>features-test</artifactId>
+            <version>${feature.odlparent.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit-dep</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <!-- dependency for opendaylight-karaf-empty for use by testing -->
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>opendaylight-karaf-empty</artifactId>
+            <version>${feature.odlparent.version}</version>
+            <type>zip</type>
+        </dependency>
+    </dependencies>
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-maven-plugin</artifactId>
+                <extensions>true</extensions>
+                <executions>
+                    <execution>
+                        <id>features-create-kar</id>
+                        <goals>
+                            <goal>features-create-kar</goal>
+                        </goals>
+                        <configuration>
+                            <featuresFile>${project.build.directory}/classes/${features.file}</featuresFile>
+                        </configuration>
+                    </execution>
+                </executions>
+                <!-- There is no useful configuration for the kar mojo. The features-generate-descriptor mojo configuration may be useful -->
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>filter</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>resources</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${project.build.directory}/classes/${features.file}</file>
+                                    <type>xml</type>
+                                    <classifier>features</classifier>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemPropertyVariables>
+                        <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
+                        <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
+                        <karaf.distro.version>${feature.odlparent.version}</karaf.distro.version>
+                    </systemPropertyVariables>
+                    <dependenciesToScan>
+                        <dependency>org.opendaylight.odlparent:features-test</dependency>
+                    </dependenciesToScan>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
index c7c8318282d63dd5d2a1be95cdfe734132fc9348..cf4d655678523f213e00f6da2940614623a99ba1 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <!-- vi: set et smarttab sw=4 tabstop=4: -->
 <!--
  Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
  terms of the Eclipse Public License v1.0 which accompanies this distribution,
  and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-   <modelVersion>4.0.0</modelVersion>
-   <parent>
-      <groupId>org.opendaylight.integration</groupId>
-      <artifactId>root</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
-      <relativePath>../</relativePath>
-   </parent>
-   <artifactId>features-integration-index</artifactId>
-   <packaging>jar</packaging>
-   <properties>
-      <features.file>features.xml</features.file>
-   </properties>
-   <dependencies>
-    <!-- feature repository dependencies from this project -->
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>features-distribution</artifactId>
-      <version>${project.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <!-- feature repository dependencies from other ODL projects -->
-    <dependency>
-      <groupId>org.opendaylight.aaa</groupId>
-      <artifactId>features-aaa-api</artifactId>
-      <version>${feature.aaa.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.aaa</groupId>
-      <artifactId>features-aaa</artifactId>
-      <version>${feature.aaa.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.aaa</groupId>
-      <artifactId>features-aaa-authz</artifactId>
-      <version>${feature.aaa.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.alto</groupId>
-      <artifactId>features-alto-release</artifactId>
-      <version>${feature.alto.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <!-- Remove Armoury from Beryllium release as per as committers consent:
-    https://lists.opendaylight.org/pipermail/armoury-dev/2016-January/000081.html.
-    Need to be uncommented once in Boron -->
-    <!-- <dependency>
-      <groupId>org.opendaylight.armoury</groupId>
-      <artifactId>armoury-features</artifactId>
-      <version>${feature.armoury.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency> -->
-    <dependency>
-       <groupId>org.opendaylight.bgpcep</groupId>
-       <artifactId>features-bgp</artifactId>
-       <classifier>features</classifier>
-       <version>${feature.bgpcep.version}</version>
-       <type>xml</type>
-    </dependency>
-    <dependency>
-       <groupId>org.opendaylight.bgpcep</groupId>
-       <artifactId>features-bmp</artifactId>
-       <classifier>features</classifier>
-       <version>${feature.bgpcep.version}</version>
-       <type>xml</type>
-    </dependency>
-    <dependency>
-       <groupId>org.opendaylight.bgpcep</groupId>
-       <artifactId>features-extras</artifactId>
-       <classifier>features</classifier>
-       <version>${feature.bgpcep.version}</version>
-       <type>xml</type>
-    </dependency>
-    <dependency>
-       <groupId>org.opendaylight.bgpcep</groupId>
-       <artifactId>features-pcep</artifactId>
-       <classifier>features</classifier>
-       <version>${feature.bgpcep.version}</version>
-       <type>xml</type>
-    </dependency>
-    <dependency>
-       <groupId>org.opendaylight.bgpcep</groupId>
-       <artifactId>features-rsvp</artifactId>
-       <classifier>features</classifier>
-       <version>${feature.bgpcep.version}</version>
-       <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.capwap</groupId>
-      <artifactId>capwap-features</artifactId>
-      <version>${feature.capwap.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.centinel</groupId>
-      <artifactId>centinel-features</artifactId>
-      <version>${feature.centinel.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-extras</artifactId>
-      <version>${feature.controller.extras.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-mdsal</artifactId>
-      <version>${feature.mdsal.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>features-mdsal-benchmark</artifactId>
-      <version>${feature.benchmark.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <!-- DIDM merge jobs are failing due to getTableFeatures() method moved in OpenFlowPlugin (new design)
-    <dependency>
-      <groupId>org.opendaylight.didm</groupId>
-      <artifactId>features-didm</artifactId>
-      <version>${didm.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.didm</groupId>
-      <artifactId>features-didm-hp</artifactId>
-      <version>${didm.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.didm</groupId>
-      <artifactId>features-didm-ovs</artifactId>
-      <version>${didm.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    -->
-    <dependency>
-      <groupId>org.opendaylight.dlux</groupId>
-      <artifactId>features-dlux</artifactId>
-      <version>${feature.dlux.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.faas</groupId>
-      <artifactId>features-faas</artifactId>
-      <version>${feature.faas.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.genius</groupId>
-      <artifactId>genius-features</artifactId>
-      <version>${feature.genius.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.groupbasedpolicy</groupId>
-      <artifactId>features-groupbasedpolicy</artifactId>
-      <version>${feature.groupbasedpolicy.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.iotdm</groupId>
-      <artifactId>onem2m-features</artifactId>
-      <version>${feature.iotdm.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.l2switch</groupId>
-      <artifactId>features-l2switch</artifactId>
-      <version>${feature.l2switch.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.lacp</groupId>
-      <artifactId>features-lacp</artifactId>
-      <version>${feature.lacp.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.lispflowmapping</groupId>
-      <artifactId>features-lispflowmapping</artifactId>
-      <version>${feature.lispflowmapping.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.natapp</groupId>
-      <artifactId>natapp-features</artifactId>
-      <version>${feature.natapp.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.nemo</groupId>
-      <artifactId>nemo-features</artifactId>
-      <version>${feature.nemo.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.netconf</groupId>
-      <artifactId>features-netconf</artifactId>
-      <version>${feature.netconf.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.netconf</groupId>
-      <artifactId>features-netconf-connector</artifactId>
-      <version>${feature.netconf.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.netconf</groupId>
-      <artifactId>features-restconf</artifactId>
-      <version>${feature.restconf.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.netvirt</groupId>
-      <artifactId>features-netvirt</artifactId>
-      <version>${feature.netvirt.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.netvirt</groupId>
-      <artifactId>openstack.net-virt-sfc-features</artifactId>
-      <version>${feature.netvirt.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.netvirt</groupId>
-      <artifactId>vpnservice-features</artifactId>
-      <version>${feature.netvirt.vpnservice.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.netide</groupId>
-      <artifactId>netide-features</artifactId>
-      <version>${feature.netide.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.neutron</groupId>
-      <artifactId>features-neutron</artifactId>
-      <version>${feature.neutron.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.nic</groupId>
-      <artifactId>features-nic</artifactId>
-      <version>${feature.nic.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ocpplugin</groupId>
-      <artifactId>features-ocpplugin</artifactId>
-      <version>${feature.ocpplugin.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.odlparent</groupId>
-      <artifactId>features-akka</artifactId>
-      <version>${feature.odlparent.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.odlparent</groupId>
-      <artifactId>features-odlparent</artifactId>
-      <version>${feature.odlparent.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <!-- Issue with of-config merge requires this line commented out:
-    <dependency>
-      <groupId>org.opendaylight.of-config</groupId>
-      <artifactId>features-of-config</artifactId>
-      <version>${feature.of-config.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    -->
-    <dependency>
-      <groupId>org.opendaylight.ofextensions.circuitsw</groupId>
-      <artifactId>circuitsw-features</artifactId>
-      <version>${feature.circuitsw.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.openflowplugin</groupId>
-      <artifactId>features-openflowplugin</artifactId>
-      <version>${feature.openflowplugin.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.openflowplugin</groupId>
-      <artifactId>features-openflowplugin-he</artifactId>
-      <version>${feature.openflowplugin.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.openflowplugin</groupId>
-      <artifactId>features-openflowplugin-extension</artifactId>
-      <version>${feature.openflowplugin.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.openflowplugin</groupId>
-      <artifactId>features-openflowplugin-extension-he</artifactId>
-      <version>${feature.openflowplugin.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>library-features</artifactId>
-      <version>${feature.ovsdb.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>southbound-features</artifactId>
-      <version>${feature.ovsdb.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>hwvtepsouthbound-features</artifactId>
-      <version>${feature.ovsdb.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.packetcable</groupId>
-      <artifactId>features-packetcable-policy</artifactId>
-      <version>${feature.packetcable.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <!-- Remove sdninterfaceapp until they remove their dependency on tcpmd5
-    <dependency>
-      <groupId>org.opendaylight.sdninterfaceapp</groupId>
-      <artifactId>features-sdninterfaceapp</artifactId>
-      <version>${feature.sdninterfaceapp.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    -->
-    <dependency>
-      <groupId>org.opendaylight.sfc</groupId>
-      <artifactId>features-sfc</artifactId>
-      <version>${feature.sfc.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.snbi</groupId>
-      <artifactId>features-snbi</artifactId>
-      <version>${feature.snbi.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.snmp</groupId>
-      <artifactId>features-snmp</artifactId>
-      <version>${snmp.plugin.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.snmp4sdn</groupId>
-      <artifactId>features-snmp4sdn</artifactId>
-      <version>${feature.snmp4sdn.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.sxp</groupId>
-      <artifactId>features</artifactId>
-      <version>${feature.sxp.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.topoprocessing</groupId>
-      <artifactId>features-topoprocessing</artifactId>
-      <version>${feature.topoprocessing.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.tsdr</groupId>
-      <artifactId>features-tsdr</artifactId>
-      <version>${feature.tsdr.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ttp</groupId>
-      <artifactId>features-ttp</artifactId>
-      <version>${feature.ttp.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.unimgr</groupId>
-      <artifactId>unimgr-features</artifactId>
-      <version>${feature.unimgr.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.usc</groupId>
-      <artifactId>usc-features</artifactId>
-      <version>${feature.usc.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <!-- Commenting due to faulty feature POM file
-    <dependency>
-      <groupId>org.opendaylight.usecplugin</groupId>
-      <artifactId>usecplugin-features</artifactId>
-      <version>${feature.usecplugin.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    -->
-    <dependency>
-      <groupId>org.opendaylight.vtn</groupId>
-      <artifactId>features-vtn-manager</artifactId>
-      <version>${feature.vtn-manager.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.yang-push</groupId>
-      <artifactId>yangpush-features</artifactId>
-      <version>${feature.yang-push.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-    <!-- test to validate features.xml -->
-    <dependency>
-      <groupId>org.opendaylight.odlparent</groupId>
-      <artifactId>features-test</artifactId>
-      <version>${feature.odlparent.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit-dep</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <!-- dependency for opendaylight-karaf-empty for use by testing -->
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>opendaylight-karaf-empty</artifactId>
-      <version>${feature.odlparent.version}</version>
-      <type>zip</type>
-    </dependency>
-   </dependencies>
-   <build>
-      <resources>
-         <resource>
-            <directory>src/main/resources</directory>
-            <filtering>true</filtering>
-         </resource>
-      </resources>
-      <plugins>
-         <plugin>
-            <groupId>org.apache.karaf.tooling</groupId>
-            <artifactId>karaf-maven-plugin</artifactId>
-            <extensions>true</extensions>
-            <executions>
-               <execution>
-                  <id>features-create-kar</id>
-                  <goals>
-                     <goal>features-create-kar</goal>
-                  </goals>
-                  <configuration>
-                     <featuresFile>${project.build.directory}/classes/${features.file}</featuresFile>
-                  </configuration>
-               </execution>
-            </executions>
-        <!-- There is no useful configuration for the kar mojo. The features-generate-descriptor mojo configuration may be useful -->
-         </plugin>
-         <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-resources-plugin</artifactId>
-            <executions>
-               <execution>
-                  <id>filter</id>
-                  <phase>generate-resources</phase>
-                  <goals>
-                     <goal>resources</goal>
-                  </goals>
-               </execution>
-            </executions>
-         </plugin>
-         <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>build-helper-maven-plugin</artifactId>
-            <executions>
-               <execution>
-                  <id>attach-artifacts</id>
-                  <phase>package</phase>
-                  <goals>
-                     <goal>attach-artifact</goal>
-                  </goals>
-                  <configuration>
-                     <artifacts>
-                        <artifact>
-                           <file>${project.build.directory}/classes/${features.file}</file>
-                           <type>xml</type>
-                           <classifier>features</classifier>
-                        </artifact>
-                     </artifacts>
-                  </configuration>
-               </execution>
-            </executions>
-         </plugin>
-         <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <systemPropertyVariables>
-                <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
-                <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
-                <karaf.distro.version>${feature.odlparent.version}</karaf.distro.version>
-              </systemPropertyVariables>
-              <dependenciesToScan>
-               <dependency>org.opendaylight.odlparent:features-test</dependency>
-              </dependenciesToScan>
-            </configuration>
-          </plugin>
-      </plugins>
-   </build>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.integration</groupId>
+        <artifactId>root</artifactId>
+        <version>0.5.0-SNAPSHOT</version>
+        <relativePath>../</relativePath>
+    </parent>
+    <artifactId>features-integration-index</artifactId>
+    <packaging>jar</packaging>
+    <name>${project.groupId}:${project.artifactId}</name>
+    <description>Sub-project gathering feature repositories of all ODL projects participating in distribution.</description>
+    <url>https://wiki.opendaylight.org/view/Integration/Distribution</url>
+    <licenses>
+        <license>
+            <name>Eclipse Public License v1.0</name>
+            <url>http://www.eclipse.org/legal/epl-v10.html</url>
+        </license>
+    </licenses>
+    <!-- FIXME: Add developers section -->
+    <scm>
+        <connection>scm:git:https://git.opendaylight.org/gerrit/integration/distribution.git</connection>
+        <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
+        <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;f=features-index;hb=HEAD</url>
+        <tag>HEAD</tag>
+    </scm>
+    <properties>
+        <features.file>features.xml</features.file>
+    </properties>
+    <dependencies>
+        <!-- feature repository dependencies from this project -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>features-distribution</artifactId>
+            <version>${project.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <!-- feature repository dependencies from other ODL projects -->
+        <dependency>
+            <groupId>org.opendaylight.aaa</groupId>
+            <artifactId>features-aaa-api</artifactId>
+            <version>${feature.aaa.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.aaa</groupId>
+            <artifactId>features-aaa</artifactId>
+            <version>${feature.aaa.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.aaa</groupId>
+            <artifactId>features-aaa-authz</artifactId>
+            <version>${feature.aaa.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.alto</groupId>
+            <artifactId>features-alto-release</artifactId>
+            <version>${feature.alto.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <!-- Remove Armoury from Beryllium release as per as committers consent:
+            https://lists.opendaylight.org/pipermail/armoury-dev/2016-January/000081.html.
+            Need to be uncommented once in Boron
+        <dependency>
+            <groupId>org.opendaylight.armoury</groupId>
+            <artifactId>armoury-features</artifactId>
+            <version>${feature.armoury.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        -->
+        <dependency>
+            <groupId>org.opendaylight.bgpcep</groupId>
+            <artifactId>features-bgp</artifactId>
+            <classifier>features</classifier>
+            <version>${feature.bgpcep.version}</version>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.bgpcep</groupId>
+            <artifactId>features-bmp</artifactId>
+            <classifier>features</classifier>
+            <version>${feature.bgpcep.version}</version>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.bgpcep</groupId>
+            <artifactId>features-extras</artifactId>
+            <classifier>features</classifier>
+            <version>${feature.bgpcep.version}</version>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.bgpcep</groupId>
+            <artifactId>features-pcep</artifactId>
+            <classifier>features</classifier>
+            <version>${feature.bgpcep.version}</version>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.bgpcep</groupId>
+            <artifactId>features-rsvp</artifactId>
+            <classifier>features</classifier>
+            <version>${feature.bgpcep.version}</version>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.capwap</groupId>
+            <artifactId>capwap-features</artifactId>
+            <version>${feature.capwap.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.centinel</groupId>
+            <artifactId>centinel-features</artifactId>
+            <version>${feature.centinel.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>features-extras</artifactId>
+            <version>${feature.controller.extras.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>features-mdsal</artifactId>
+            <version>${feature.mdsal.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>features-mdsal-benchmark</artifactId>
+            <version>${feature.benchmark.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <!-- DIDM merge jobs are failing due to getTableFeatures() method moved in OpenFlowPlugin (new design)
+        <dependency>
+            <groupId>org.opendaylight.didm</groupId>
+            <artifactId>features-didm</artifactId>
+            <version>${didm.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.didm</groupId>
+            <artifactId>features-didm-hp</artifactId>
+            <version>${didm.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.didm</groupId>
+            <artifactId>features-didm-ovs</artifactId>
+            <version>${didm.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        -->
+        <dependency>
+            <groupId>org.opendaylight.dlux</groupId>
+            <artifactId>features-dlux</artifactId>
+            <version>${feature.dlux.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.faas</groupId>
+            <artifactId>features-faas</artifactId>
+            <version>${feature.faas.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.genius</groupId>
+            <artifactId>genius-features</artifactId>
+            <version>${feature.genius.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.groupbasedpolicy</groupId>
+            <artifactId>features-groupbasedpolicy</artifactId>
+            <version>${feature.groupbasedpolicy.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.iotdm</groupId>
+            <artifactId>onem2m-features</artifactId>
+            <version>${feature.iotdm.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.l2switch</groupId>
+            <artifactId>features-l2switch</artifactId>
+            <version>${feature.l2switch.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.lacp</groupId>
+            <artifactId>features-lacp</artifactId>
+            <version>${feature.lacp.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.lispflowmapping</groupId>
+            <artifactId>features-lispflowmapping</artifactId>
+            <version>${feature.lispflowmapping.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.natapp</groupId>
+            <artifactId>natapp-features</artifactId>
+            <version>${feature.natapp.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.nemo</groupId>
+            <artifactId>nemo-features</artifactId>
+            <version>${feature.nemo.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.netconf</groupId>
+            <artifactId>features-netconf</artifactId>
+            <version>${feature.netconf.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.netconf</groupId>
+            <artifactId>features-netconf-connector</artifactId>
+            <version>${feature.netconf.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.netconf</groupId>
+            <artifactId>features-restconf</artifactId>
+            <version>${feature.restconf.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.netvirt</groupId>
+            <artifactId>features-netvirt</artifactId>
+            <version>${feature.netvirt.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.netvirt</groupId>
+            <artifactId>openstack.net-virt-sfc-features</artifactId>
+            <version>${feature.netvirt.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.netvirt</groupId>
+            <artifactId>vpnservice-features</artifactId>
+            <version>${feature.netvirt.vpnservice.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.netide</groupId>
+            <artifactId>netide-features</artifactId>
+            <version>${feature.netide.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.neutron</groupId>
+            <artifactId>features-neutron</artifactId>
+            <version>${feature.neutron.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.nic</groupId>
+            <artifactId>features-nic</artifactId>
+            <version>${feature.nic.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.ocpplugin</groupId>
+            <artifactId>features-ocpplugin</artifactId>
+            <version>${feature.ocpplugin.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>features-akka</artifactId>
+            <version>${feature.odlparent.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>features-odlparent</artifactId>
+            <version>${feature.odlparent.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <!-- Issue with of-config merge requires this line commented out:
+        <dependency>
+            <groupId>org.opendaylight.of-config</groupId>
+            <artifactId>features-of-config</artifactId>
+            <version>${feature.of-config.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        -->
+        <dependency>
+            <groupId>org.opendaylight.ofextensions.circuitsw</groupId>
+            <artifactId>circuitsw-features</artifactId>
+            <version>${feature.circuitsw.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.openflowplugin</groupId>
+            <artifactId>features-openflowplugin</artifactId>
+            <version>${feature.openflowplugin.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.openflowplugin</groupId>
+            <artifactId>features-openflowplugin-he</artifactId>
+            <version>${feature.openflowplugin.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.openflowplugin</groupId>
+            <artifactId>features-openflowplugin-extension</artifactId>
+            <version>${feature.openflowplugin.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.openflowplugin</groupId>
+            <artifactId>features-openflowplugin-extension-he</artifactId>
+            <version>${feature.openflowplugin.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.ovsdb</groupId>
+            <artifactId>library-features</artifactId>
+            <version>${feature.ovsdb.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.ovsdb</groupId>
+            <artifactId>southbound-features</artifactId>
+            <version>${feature.ovsdb.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.ovsdb</groupId>
+            <artifactId>hwvtepsouthbound-features</artifactId>
+            <version>${feature.ovsdb.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.packetcable</groupId>
+            <artifactId>features-packetcable-policy</artifactId>
+            <version>${feature.packetcable.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <!-- Remove sdninterfaceapp until they remove their dependency on tcpmd5
+            <dependency>
+                <groupId>org.opendaylight.sdninterfaceapp</groupId>
+                <artifactId>features-sdninterfaceapp</artifactId>
+                <version>${feature.sdninterfaceapp.version}</version>
+                <classifier>features</classifier>
+                <type>xml</type>
+            </dependency>
+        -->
+        <dependency>
+            <groupId>org.opendaylight.sfc</groupId>
+            <artifactId>features-sfc</artifactId>
+            <version>${feature.sfc.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.snbi</groupId>
+            <artifactId>features-snbi</artifactId>
+            <version>${feature.snbi.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.snmp</groupId>
+            <artifactId>features-snmp</artifactId>
+            <version>${snmp.plugin.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.snmp4sdn</groupId>
+            <artifactId>features-snmp4sdn</artifactId>
+            <version>${feature.snmp4sdn.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.sxp</groupId>
+            <artifactId>features</artifactId>
+            <version>${feature.sxp.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.topoprocessing</groupId>
+            <artifactId>features-topoprocessing</artifactId>
+            <version>${feature.topoprocessing.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.tsdr</groupId>
+            <artifactId>features-tsdr</artifactId>
+            <version>${feature.tsdr.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.ttp</groupId>
+            <artifactId>features-ttp</artifactId>
+            <version>${feature.ttp.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.unimgr</groupId>
+            <artifactId>unimgr-features</artifactId>
+            <version>${feature.unimgr.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.usc</groupId>
+            <artifactId>usc-features</artifactId>
+            <version>${feature.usc.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <!-- Commenting due to faulty feature POM file
+        <dependency>
+            <groupId>org.opendaylight.usecplugin</groupId>
+            <artifactId>usecplugin-features</artifactId>
+            <version>${feature.usecplugin.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        -->
+        <dependency>
+            <groupId>org.opendaylight.vtn</groupId>
+            <artifactId>features-vtn-manager</artifactId>
+            <version>${feature.vtn-manager.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yang-push</groupId>
+            <artifactId>yangpush-features</artifactId>
+            <version>${feature.yang-push.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <!-- test to validate features.xml -->
+        <dependency>
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>features-test</artifactId>
+            <version>${feature.odlparent.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit-dep</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <!-- dependency for opendaylight-karaf-empty for use by testing -->
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>opendaylight-karaf-empty</artifactId>
+            <version>${feature.odlparent.version}</version>
+            <type>zip</type>
+        </dependency>
+    </dependencies>
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-maven-plugin</artifactId>
+                <extensions>true</extensions>
+                <executions>
+                    <execution>
+                        <id>features-create-kar</id>
+                        <goals>
+                            <goal>features-create-kar</goal>
+                        </goals>
+                        <configuration>
+                            <featuresFile>${project.build.directory}/classes/${features.file}</featuresFile>
+                        </configuration>
+                    </execution>
+                </executions>
+                <!-- There is no useful configuration for the kar mojo. The features-generate-descriptor mojo configuration may be useful -->
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>filter</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>resources</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${project.build.directory}/classes/${features.file}</file>
+                                    <type>xml</type>
+                                    <classifier>features</classifier>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemPropertyVariables>
+                        <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
+                        <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
+                        <karaf.distro.version>${feature.odlparent.version}</karaf.distro.version>
+                    </systemPropertyVariables>
+                    <dependenciesToScan>
+                        <dependency>org.opendaylight.odlparent:features-test</dependency>
+                    </dependenciesToScan>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
index 488db894cc03b5f0a6692fdea63bed186e699283..31c29f05281653f5d03a55e36a79ec34b616185f 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <!-- vi: set et smarttab sw=4 tabstop=4: -->
 <!--
  Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
  terms of the Eclipse Public License v1.0 which accompanies this distribution,
  and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-   <modelVersion>4.0.0</modelVersion>
-   <parent>
-      <groupId>org.opendaylight.integration</groupId>
-      <artifactId>root</artifactId>
-      <version>0.5.0-SNAPSHOT</version>
-      <relativePath>../</relativePath>
-   </parent>
-   <artifactId>features-integration-test</artifactId>
-   <packaging>jar</packaging>
-   <properties>
-      <features.file>features.xml</features.file>
-   </properties>
-   <dependencies>
-    <!-- dependencies on feature repos -->
-    <dependency>
-      <groupId>org.opendaylight.integration</groupId>
-      <artifactId>features-integration-index</artifactId>
-      <version>${project.version}</version>
-      <classifier>features</classifier>
-      <type>xml</type>
-    </dependency>
-
-    <!-- test to validate features.xml -->
-    <dependency>
-      <groupId>org.opendaylight.odlparent</groupId>
-      <artifactId>features-test</artifactId>
-      <version>${feature.odlparent.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit-dep</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <!-- dependency for opendaylight-karaf-empty for use by testing -->
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>opendaylight-karaf-empty</artifactId>
-      <version>${feature.odlparent.version}</version>
-      <type>zip</type>
-    </dependency>
-   </dependencies>
-   <build>
-      <resources>
-         <resource>
-            <directory>src/main/resources</directory>
-            <filtering>true</filtering>
-         </resource>
-      </resources>
-      <plugins>
-         <plugin>
-            <groupId>org.apache.karaf.tooling</groupId>
-            <artifactId>karaf-maven-plugin</artifactId>
-            <extensions>true</extensions>
-            <executions>
-               <execution>
-                  <id>features-create-kar</id>
-                  <goals>
-                     <goal>features-create-kar</goal>
-                  </goals>
-                  <configuration>
-                     <featuresFile>${project.build.directory}/classes/${features.file}</featuresFile>
-                  </configuration>
-               </execution>
-            </executions>
-        <!-- There is no useful configuration for the kar mojo. The features-generate-descriptor mojo configuration may be useful -->
-         </plugin>
-         <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-resources-plugin</artifactId>
-            <executions>
-               <execution>
-                  <id>filter</id>
-                  <phase>generate-resources</phase>
-                  <goals>
-                     <goal>resources</goal>
-                  </goals>
-               </execution>
-            </executions>
-         </plugin>
-         <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>build-helper-maven-plugin</artifactId>
-            <executions>
-               <execution>
-                  <id>attach-artifacts</id>
-                  <phase>package</phase>
-                  <goals>
-                     <goal>attach-artifact</goal>
-                  </goals>
-                  <configuration>
-                     <artifacts>
-                        <artifact>
-                           <file>${project.build.directory}/classes/${features.file}</file>
-                           <type>xml</type>
-                           <classifier>features</classifier>
-                        </artifact>
-                     </artifacts>
-                  </configuration>
-               </execution>
-            </executions>
-         </plugin>
-         <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <systemPropertyVariables>
-                <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
-                <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
-                <karaf.distro.version>${feature.odlparent.version}</karaf.distro.version>
-              </systemPropertyVariables>
-              <dependenciesToScan>
-               <dependency>org.opendaylight.odlparent:features-test</dependency>
-              </dependenciesToScan>
-            </configuration>
-          </plugin>
-      </plugins>
-   </build>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.integration</groupId>
+        <artifactId>root</artifactId>
+        <version>0.5.0-SNAPSHOT</version>
+        <relativePath>../</relativePath>
+    </parent>
+    <artifactId>features-integration-test</artifactId>
+    <packaging>jar</packaging>
+    <name>${project.groupId}:${project.artifactId}</name>
+    <description>Sub-project building aggregate features used for feature compatibility testing.</description>
+    <url>https://wiki.opendaylight.org/view/Integration/Distribution</url>
+    <licenses>
+        <license>
+            <name>Eclipse Public License v1.0</name>
+            <url>http://www.eclipse.org/legal/epl-v10.html</url>
+        </license>
+    </licenses>
+    <!-- FIXME: Add developers section -->
+    <scm>
+        <connection>scm:git:https://git.opendaylight.org/gerrit/integration/distribution.git</connection>
+        <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
+        <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;f=features-test;hb=HEAD</url>
+        <tag>HEAD</tag>
+    </scm>
+    <properties>
+        <features.file>features.xml</features.file>
+    </properties>
+    <dependencies>
+        <!-- dependencies on feature repos -->
+        <dependency>
+            <groupId>org.opendaylight.integration</groupId>
+            <artifactId>features-integration-index</artifactId>
+            <version>${project.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <!-- test to validate features.xml -->
+        <dependency>
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>features-test</artifactId>
+            <version>${feature.odlparent.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit-dep</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <!-- dependency for opendaylight-karaf-empty for use by testing -->
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>opendaylight-karaf-empty</artifactId>
+            <version>${feature.odlparent.version}</version>
+            <type>zip</type>
+        </dependency>
+    </dependencies>
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-maven-plugin</artifactId>
+                <extensions>true</extensions>
+                <executions>
+                    <execution>
+                        <id>features-create-kar</id>
+                        <goals>
+                            <goal>features-create-kar</goal>
+                        </goals>
+                        <configuration>
+                            <featuresFile>${project.build.directory}/classes/${features.file}</featuresFile>
+                        </configuration>
+                    </execution>
+                </executions>
+                <!-- There is no useful configuration for the kar mojo. The features-generate-descriptor mojo configuration may be useful -->
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>filter</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>resources</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${project.build.directory}/classes/${features.file}</file>
+                                    <type>xml</type>
+                                    <classifier>features</classifier>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemPropertyVariables>
+                        <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
+                        <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
+                        <karaf.distro.version>${feature.odlparent.version}</karaf.distro.version>
+                    </systemPropertyVariables>
+                    <dependenciesToScan>
+                        <dependency>org.opendaylight.odlparent:features-test</dependency>
+                    </dependenciesToScan>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/pom.xml b/pom.xml
index af75d2c14ba57a67cc0c2c5ba45f5ee28b721704..05cdd9b2dff92fe21aa7db0475bb1beffbfff641 100644 (file)
--- a/pom.xml
+++ b/pom.xml
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <parent>
-    <groupId>org.opendaylight.odlparent</groupId>
-    <artifactId>odlparent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
-    <relativePath/>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.opendaylight.integration</groupId>
-  <artifactId>root</artifactId>
-  <version>0.5.0-SNAPSHOT</version>
-  <name>integration</name> <!-- Used by Sonar to set project name -->
-  <packaging>pom</packaging>
-  <url>https://wiki.opendaylight.org/view/CrossProject:Integration_Group</url>
-  <scm>
-    <connection>scm:git:ssh://git.opendaylight.org:29418/integration.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration.git</developerConnection>
-    <url>https://wiki.opendaylight.org/view/CrossProject:Integration_Group</url>
-    <tag>HEAD</tag>
-  </scm>
-  <properties>
-    <!-- Keep this list sorted alphabetically please -->
-    <didm.version>0.3.0-SNAPSHOT</didm.version>
-    <feature.aaa.version>0.4.0-SNAPSHOT</feature.aaa.version>
-    <feature.alto.version>0.3.0-SNAPSHOT</feature.alto.version>
-    <feature.benchmark.version>1.2.0-SNAPSHOT</feature.benchmark.version>
-    <feature.bgpcep.version>0.6.0-SNAPSHOT</feature.bgpcep.version>
-    <feature.capwap.version>0.3.0-SNAPSHOT</feature.capwap.version>
-    <feature.centinel.version>0.2.0-SNAPSHOT</feature.centinel.version>
-    <feature.circuitsw.version>1.1.0-SNAPSHOT</feature.circuitsw.version>
-    <feature.controller.config.version>0.5.0-SNAPSHOT</feature.controller.config.version>
-    <feature.controller.extras.version>1.7.0-SNAPSHOT</feature.controller.extras.version>
-    <feature.dlux.version>0.4.0-SNAPSHOT</feature.dlux.version>
-    <feature.faas.version>1.1.0-SNAPSHOT</feature.faas.version>
-    <feature.flow.version>1.4.0-SNAPSHOT</feature.flow.version>
-    <feature.genius.version>0.1.0-SNAPSHOT</feature.genius.version>
-    <feature.groupbasedpolicy.version>0.4.0-SNAPSHOT</feature.groupbasedpolicy.version>
-    <feature.iotdm.version>0.2.0-SNAPSHOT</feature.iotdm.version>
-    <feature.l2switch.version>0.4.0-SNAPSHOT</feature.l2switch.version>
-    <feature.lacp.version>1.2.0-SNAPSHOT</feature.lacp.version>
-    <feature.lispflowmapping.version>1.4.0-SNAPSHOT</feature.lispflowmapping.version>
-    <feature.mdsal.version>1.4.0-SNAPSHOT</feature.mdsal.version>
-    <feature.natapp.version>0.1.0-SNAPSHOT</feature.natapp.version>
-    <feature.nemo.version>1.1.0-SNAPSHOT</feature.nemo.version>
-    <feature.netconf.version>1.1.0-SNAPSHOT</feature.netconf.version>
-    <feature.netide.version>0.2.0-SNAPSHOT</feature.netide.version>
-    <feature.netvirt.version>1.3.0-SNAPSHOT</feature.netvirt.version>
-    <feature.netvirt.vpnservice.version>0.3.0-SNAPSHOT</feature.netvirt.vpnservice.version>
-    <feature.nic.version>1.2.0-SNAPSHOT</feature.nic.version>
-    <feature.neutron.version>0.7.0-SNAPSHOT</feature.neutron.version>
-    <feature.ocpplugin.version>0.1.0-SNAPSHOT</feature.ocpplugin.version>
-    <feature.odlparent.version>1.7.0-SNAPSHOT</feature.odlparent.version>
-    <feature.of-config.version>1.1.0-SNAPSHOT</feature.of-config.version>
-    <feature.openflowplugin.version>0.3.0-SNAPSHOT</feature.openflowplugin.version>
-    <feature.ovsdb.version>1.3.0-SNAPSHOT</feature.ovsdb.version>
-    <feature.packetcable.version>1.4.0-SNAPSHOT</feature.packetcable.version>
-    <feature.restconf.version>1.4.0-SNAPSHOT</feature.restconf.version>
-    <!-- remove sdninterfaceapp until they remove their dependency on tcpmd5
-    <feature.sdninterfaceapp.version>1.7.0-SNAPSHOT</feature.sdninterfaceapp.version>
-    -->
-    <feature.sfc.version>0.3.0-SNAPSHOT</feature.sfc.version>
-    <feature.snbi.version>1.3.0-SNAPSHOT</feature.snbi.version>
-    <feature.snmp4sdn.version>0.4.0-SNAPSHOT</feature.snmp4sdn.version>
-    <feature.sxp.version>1.3.0-SNAPSHOT</feature.sxp.version>
-    <feature.topoprocessing.version>0.2.0-SNAPSHOT</feature.topoprocessing.version>
-    <feature.tsdr.version>1.2.0-SNAPSHOT</feature.tsdr.version>
-    <feature.ttp.version>0.3.0-SNAPSHOT</feature.ttp.version>
-    <feature.unimgr.version>0.1.0-SNAPSHOT</feature.unimgr.version>
-    <feature.usc.version>1.2.0-SNAPSHOT</feature.usc.version>
-    <feature.usecplugin.version>1.1.0-SNAPSHOT</feature.usecplugin.version>
-    <feature.vtn-manager.version>0.5.0-SNAPSHOT</feature.vtn-manager.version>
-    <feature.yang-push.version>1.1.0-SNAPSHOT</feature.yang-push.version>
-    <feature.yangtools.version>1.0.0-SNAPSHOT</feature.yangtools.version>
-    <karaf.branding.version>1.3.0-SNAPSHOT</karaf.branding.version>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <snmp.plugin.version>1.2.0-SNAPSHOT</snmp.plugin.version>
-    <!-- Keep this list sorted alphabetically please -->
-  </properties>
-
-  <modules>
-    <module>distribution-karaf</module>
-    <module>features-distribution</module>
-    <module>features-index</module>
-    <module>features-test</module>
-    <module>version</module>
-  </modules>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-enforcer-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>enforce-maven</id>
-            <goals>
-              <goal>enforce</goal>
-            </goals>
-            <configuration>
-              <rules>
-                <requireMavenVersion>
-                  <version>3.1.1</version>
-                </requireMavenVersion>
-              </rules>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
+    <parent>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>odlparent</artifactId>
+        <version>1.7.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.opendaylight.integration</groupId>
+    <artifactId>root</artifactId>
+    <version>0.5.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+    <!-- <name> value is used by Sonar to set project name -->
+    <name>distribution</name>
+    <description>OpenDaylight Integration/Distribution project, used for creating complete Karaf distribution packages.</description>
+    <url>https://wiki.opendaylight.org/view/Integration/Distribution</url>
+    <licenses>
+        <license>
+            <name>Eclipse Public License v1.0</name>
+            <url>http://www.eclipse.org/legal/epl-v10.html</url>
+        </license>
+    </licenses>
+    <!-- FIXME: Add developers section -->
+    <scm>
+        <connection>scm:git:https://git.opendaylight.org/gerrit/integration/distribution.git</connection>
+        <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
+        <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;hb=HEAD</url>
+        <tag>HEAD</tag>
+    </scm>
+    <properties>
+        <!-- Keep this list sorted alphabetically please -->
+        <didm.version>0.3.0-SNAPSHOT</didm.version>
+        <feature.aaa.version>0.4.0-SNAPSHOT</feature.aaa.version>
+        <feature.alto.version>0.3.0-SNAPSHOT</feature.alto.version>
+        <feature.benchmark.version>1.2.0-SNAPSHOT</feature.benchmark.version>
+        <feature.bgpcep.version>0.6.0-SNAPSHOT</feature.bgpcep.version>
+        <feature.capwap.version>0.3.0-SNAPSHOT</feature.capwap.version>
+        <feature.centinel.version>0.2.0-SNAPSHOT</feature.centinel.version>
+        <feature.circuitsw.version>1.1.0-SNAPSHOT</feature.circuitsw.version>
+        <feature.controller.config.version>0.5.0-SNAPSHOT</feature.controller.config.version>
+        <feature.controller.extras.version>1.7.0-SNAPSHOT</feature.controller.extras.version>
+        <feature.dlux.version>0.4.0-SNAPSHOT</feature.dlux.version>
+        <feature.faas.version>1.1.0-SNAPSHOT</feature.faas.version>
+        <feature.flow.version>1.4.0-SNAPSHOT</feature.flow.version>
+        <feature.genius.version>0.1.0-SNAPSHOT</feature.genius.version>
+        <feature.groupbasedpolicy.version>0.4.0-SNAPSHOT</feature.groupbasedpolicy.version>
+        <feature.iotdm.version>0.2.0-SNAPSHOT</feature.iotdm.version>
+        <feature.l2switch.version>0.4.0-SNAPSHOT</feature.l2switch.version>
+        <feature.lacp.version>1.2.0-SNAPSHOT</feature.lacp.version>
+        <feature.lispflowmapping.version>1.4.0-SNAPSHOT</feature.lispflowmapping.version>
+        <feature.mdsal.version>1.4.0-SNAPSHOT</feature.mdsal.version>
+        <feature.natapp.version>0.1.0-SNAPSHOT</feature.natapp.version>
+        <feature.nemo.version>1.1.0-SNAPSHOT</feature.nemo.version>
+        <feature.netconf.version>1.1.0-SNAPSHOT</feature.netconf.version>
+        <feature.netide.version>0.2.0-SNAPSHOT</feature.netide.version>
+        <feature.netvirt.version>1.3.0-SNAPSHOT</feature.netvirt.version>
+        <feature.netvirt.vpnservice.version>0.3.0-SNAPSHOT</feature.netvirt.vpnservice.version>
+        <feature.nic.version>1.2.0-SNAPSHOT</feature.nic.version>
+        <feature.neutron.version>0.7.0-SNAPSHOT</feature.neutron.version>
+        <feature.ocpplugin.version>0.1.0-SNAPSHOT</feature.ocpplugin.version>
+        <feature.odlparent.version>1.7.0-SNAPSHOT</feature.odlparent.version>
+        <feature.of-config.version>1.1.0-SNAPSHOT</feature.of-config.version>
+        <feature.openflowplugin.version>0.3.0-SNAPSHOT</feature.openflowplugin.version>
+        <feature.ovsdb.version>1.3.0-SNAPSHOT</feature.ovsdb.version>
+        <feature.packetcable.version>1.4.0-SNAPSHOT</feature.packetcable.version>
+        <feature.restconf.version>1.4.0-SNAPSHOT</feature.restconf.version>
+        <!-- remove sdninterfaceapp until they remove their dependency on tcpmd5
+            <feature.sdninterfaceapp.version>1.7.0-SNAPSHOT</feature.sdninterfaceapp.version>
+        -->
+        <feature.sfc.version>0.3.0-SNAPSHOT</feature.sfc.version>
+        <feature.snbi.version>1.3.0-SNAPSHOT</feature.snbi.version>
+        <feature.snmp4sdn.version>0.4.0-SNAPSHOT</feature.snmp4sdn.version>
+        <feature.sxp.version>1.3.0-SNAPSHOT</feature.sxp.version>
+        <feature.topoprocessing.version>0.2.0-SNAPSHOT</feature.topoprocessing.version>
+        <feature.tsdr.version>1.2.0-SNAPSHOT</feature.tsdr.version>
+        <feature.ttp.version>0.3.0-SNAPSHOT</feature.ttp.version>
+        <feature.unimgr.version>0.1.0-SNAPSHOT</feature.unimgr.version>
+        <feature.usc.version>1.2.0-SNAPSHOT</feature.usc.version>
+        <feature.usecplugin.version>1.1.0-SNAPSHOT</feature.usecplugin.version>
+        <feature.vtn-manager.version>0.5.0-SNAPSHOT</feature.vtn-manager.version>
+        <feature.yang-push.version>1.1.0-SNAPSHOT</feature.yang-push.version>
+        <feature.yangtools.version>1.0.0-SNAPSHOT</feature.yangtools.version>
+        <karaf.branding.version>1.3.0-SNAPSHOT</karaf.branding.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <snmp.plugin.version>1.2.0-SNAPSHOT</snmp.plugin.version>
+        <!-- Keep this list sorted alphabetically please -->
+    </properties>
+    <modules>
+        <module>distribution-karaf</module>
+        <module>features-distribution</module>
+        <module>features-index</module>
+        <module>features-test</module>
+        <module>version</module>
+    </modules>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-enforcer-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>enforce-maven</id>
+                        <goals>
+                            <goal>enforce</goal>
+                        </goals>
+                        <configuration>
+                            <rules>
+                                <requireMavenVersion>
+                                    <version>3.1.1</version>
+                                </requireMavenVersion>
+                            </rules>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>
index 19f23962d038f117e0bd1524d0a651bd54334faf..1013b13b559e79eab82e88e0cae9e481c2e42c34 100644 (file)
@@ -1,41 +1,49 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>config-parent</artifactId>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>config-parent</artifactId>
+        <version>0.5.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
+    <groupId>org.opendaylight.integration</groupId>
+    <artifactId>version</artifactId>
     <version>0.5.0-SNAPSHOT</version>
-    <relativePath/>
-  </parent>
-  <groupId>org.opendaylight.integration</groupId>
-  <artifactId>version</artifactId>
-  <version>0.5.0-SNAPSHOT</version>
-  <packaging>bundle</packaging>
-  <!-- Is there a way to inherit/include properties from a file bumped autimatically? -->
-  <properties>
-    <feature.odlparent.version>1.7.0-SNAPSHOT</feature.odlparent.version>
-  </properties>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
-          </instructions>
-          <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  <dependencies>
-  </dependencies>
-  <scm>
-    <connection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
-    <tag>HEAD</tag>
-    <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;f=config;hb=HEAD</url>
-  </scm>
+    <packaging>bundle</packaging>
+    <name>${project.groupId}:${project.artifactId}</name>
+    <description>Sub-project for ODL version(s) reporting mechanism.</description>
+    <url>https://wiki.opendaylight.org/view/Integration/Distribution</url>
+    <licenses>
+        <license>
+            <name>Eclipse Public License v1.0</name>
+            <url>http://www.eclipse.org/legal/epl-v10.html</url>
+        </license>
+    </licenses>
+    <!-- FIXME: Add developers section -->
+    <scm>
+        <connection>scm:git:https://git.opendaylight.org/gerrit/integration/distribution.git</connection>
+        <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
+        <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;f=version;hb=HEAD</url>
+        <tag>HEAD</tag>
+    </scm>
+    <!-- Is there a way to inherit/include properties from a file bumped autimatically? -->
+    <properties>
+        <feature.odlparent.version>1.7.0-SNAPSHOT</feature.odlparent.version>
+    </properties>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
+                    </instructions>
+                    <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>