BUG-2613: Migrating Openflow Specific models from controller project to openflowplugi...
[openflowplugin.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index d708998de2698da7bce6e5b4660d9e9c46538df2..87324f8348d41b20c17b555668a02cfab6f5e66b 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,12 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <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.odlparent</groupId>
+        <artifactId>odlparent</artifactId>
+        <version>1.5.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
     <prerequisites>
         <maven>3.0</maven>
     </prerequisites>
+
     <groupId>org.opendaylight.openflowplugin</groupId>
     <artifactId>openflowplugin-parent</artifactId>
-    <version>0.0.3-SNAPSHOT</version>
+    <version>0.1.0-SNAPSHOT</version>
+    <name>openflowplugin</name> <!-- Used by Sonar to set project name -->
     <packaging>pom</packaging>
 
     <scm>
 
     <properties>
       <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
-      <slf4j.version>1.7.2</slf4j.version>
-      <logback.version>1.0.9</logback.version>
-      <karaf.version>3.0.1</karaf.version>
-      <mdsal.version>1.1-SNAPSHOT</mdsal.version>
+      <mdsal.version>1.2.0-SNAPSHOT</mdsal.version>
       <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
-      <openflowjava.version>0.5-SNAPSHOT</openflowjava.version>
-      <controller.model.version>1.1-SNAPSHOT</controller.model.version>
-      <osgi.core.version>5.0.0</osgi.core.version>
-      <sal.api.version>0.8.1-SNAPSHOT</sal.api.version>
-      <sal.connection.api.version>0.1.2-SNAPSHOT</sal.connection.api.version>
-      <netconf.parent.version>0.2.5-SNAPSHOT</netconf.parent.version>
-      <config.parent.version>0.2.5-SNAPSHOT</config.parent.version>
+      <openflowjava.version>0.6.0-SNAPSHOT</openflowjava.version>
+      <controller.model.version>1.2.0-SNAPSHOT</controller.model.version>
+      <sal.api.version>0.9.0-SNAPSHOT</sal.api.version>
+      <sal.connection.api.version>0.2.0-SNAPSHOT</sal.connection.api.version>
+      <sal.common.util.version>1.2.0-SNAPSHOT</sal.common.util.version>
+      <netconf.parent.version>0.3.0-SNAPSHOT</netconf.parent.version>
+      <config.parent.version>0.3.0-SNAPSHOT</config.parent.version>
       <build.helper.version>1.8</build.helper.version>
-      <xtend.version>2.4.3</xtend.version>
-      <xtend.dstdir>src/main/xtend-gen</xtend.dstdir>
       <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
       <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
-      <maven.bundle.version>2.4.0</maven.bundle.version>
       <exi.nagasena.version>0000.0002.0038.0</exi.nagasena.version>
+      <controller.distribution.version>0.2.0-SNAPSHOT</controller.distribution.version>
+
+      <!-- Sonar config -->
+      <sonar-jacoco-listeners.version>2.4</sonar-jacoco-listeners.version>
+      <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
+      <sonar.jacoco.reportPath>target/code-coverage/jacoco.exec</sonar.jacoco.reportPath>
+      <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
+      <sonar.profile>Sonar way with Findbugs</sonar.profile>
+
+      <karaf.distro.empty.version>1.5.0-SNAPSHOT</karaf.distro.empty.version>
+      <yang.binding.version>0.7.0-SNAPSHOT</yang.binding.version>
+      <dlux.version>0.2.0-SNAPSHOT</dlux.version>
+      <config.version>0.3.0-SNAPSHOT</config.version>
+      <yangtools.version>0.7.0-SNAPSHOT</yangtools.version>
+      <opendaylight-l2-types.version>2013.08.27.7-SNAPSHOT</opendaylight-l2-types.version>
+      <ietf-yang-types.version>2010.09.24.7-SNAPSHOT</ietf-yang-types.version>
+      <ietf-inet-types.version>2010.09.24.7-SNAPSHOT</ietf-inet-types.version>
+      <yang-ext.version>2013.09.07.7-SNAPSHOT</yang-ext.version>
     </properties>
 
     <dependencyManagement>
       <dependencies>
-        <dependency>
-          <groupId>org.javassist</groupId>
-          <artifactId>javassist</artifactId>
-          <version>3.17.1-GA</version>
-        </dependency>
-
-        <dependency>
-          <groupId>com.google.guava</groupId>
-          <artifactId>guava</artifactId>
-          <version>14.0.1</version>
-        </dependency>
-        <dependency>
-          <groupId>equinoxSDK381</groupId>
-          <artifactId>org.eclipse.osgi</artifactId>
-          <version>3.8.1.v20120830-144521</version>
+         <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-binding</artifactId>
+            <version>${yang.binding.version}</version>
         </dependency>
-        <dependency>
-          <groupId>equinoxSDK381</groupId>
-          <artifactId>org.eclipse.equinox.console</artifactId>
-          <version>1.0.0.v20120522-1841</version>
+       <dependency>
+           <groupId>org.opendaylight.yangtools</groupId>
+           <artifactId>yang-common</artifactId>
+            <version>${yang.binding.version}</version>
+       </dependency>
+       <dependency>
+           <groupId>org.opendaylight.yangtools.model</groupId>
+            <artifactId>ietf-inet-types</artifactId>
+           <version>${ietf-inet-types.version}</version>
         </dependency>
         <dependency>
-          <groupId>equinoxSDK381</groupId>
-          <artifactId>org.apache.felix.gogo.command</artifactId>
-          <version>0.8.0.v201108120515</version>
+            <groupId>org.opendaylight.yangtools.model</groupId>
+            <artifactId>ietf-yang-types</artifactId>
+           <version>${ietf-yang-types.version}</version>
         </dependency>
         <dependency>
-          <groupId>equinoxSDK381</groupId>
-          <artifactId>org.apache.felix.gogo.runtime</artifactId>
-          <version>0.8.0.v201108120515</version>
+            <groupId>org.opendaylight.yangtools.model</groupId>
+            <artifactId>yang-ext</artifactId>
+            <version>${yang-ext.version}</version>
         </dependency>
         <dependency>
-          <groupId>equinoxSDK381</groupId>
-          <artifactId>org.apache.felix.gogo.shell</artifactId>
-          <version>0.8.0.v201110170705</version>
+            <groupId>org.opendaylight.yangtools.model</groupId>
+            <artifactId>opendaylight-l2-types</artifactId>
+            <version>${opendaylight-l2-types.version}</version>
         </dependency>
 
+          <dependency>
+              <groupId>org.opendaylight.openflowplugin</groupId>
+              <artifactId>openflowplugin-api</artifactId>
+              <version>${project.version}</version>
+          </dependency>
         <dependency>
           <groupId>org.opendaylight.openflowjava</groupId>
           <artifactId>openflow-protocol-impl</artifactId>
           <artifactId>openflow-protocol-spi</artifactId>
           <version>${openflowjava.version}</version>
         </dependency>
+        <dependency>
+          <groupId>org.opendaylight.openflowjava</groupId>
+          <artifactId>util</artifactId>
+          <version>${openflowjava.version}</version>
+        </dependency>
         <dependency>
           <groupId>org.opendaylight.openflowjava</groupId>
           <artifactId>simple-client</artifactId>
         </dependency>
         <dependency>
           <groupId>org.opendaylight.controller.model</groupId>
-          <artifactId>model-flow-management</artifactId>
+          <artifactId>model-flow-service</artifactId>
           <version>${controller.model.version}</version>
         </dependency>
         <dependency>
           <groupId>org.opendaylight.controller.model</groupId>
-          <artifactId>model-flow-service</artifactId>
+          <artifactId>model-flow-statistics</artifactId>
           <version>${controller.model.version}</version>
         </dependency>
         <dependency>
           <groupId>org.opendaylight.controller.model</groupId>
-          <artifactId>model-flow-statistics</artifactId>
+          <artifactId>model-inventory</artifactId>
           <version>${controller.model.version}</version>
         </dependency>
         <dependency>
           <groupId>org.opendaylight.controller.model</groupId>
-          <artifactId>model-inventory</artifactId>
+          <artifactId>model-topology</artifactId>
           <version>${controller.model.version}</version>
         </dependency>
+
         <dependency>
           <groupId>org.opendaylight.controller</groupId>
           <artifactId>sal-binding-api</artifactId>
           <version>${controller.model.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal</artifactId>
-            <version>${sal.api.version}</version>
+          <groupId>org.opendaylight.controller</groupId>
+          <artifactId>sal-binding-config</artifactId>
+          <version>${controller.model.version}</version>
+        </dependency>
+        <dependency>
+          <groupId>org.opendaylight.controller</groupId>
+          <artifactId>sal-binding-util</artifactId>
+          <version>${controller.model.version}</version>
         </dependency>
+
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal.connection</artifactId>
-            <version>${sal.connection.api.version}</version>
+            <artifactId>liblldp</artifactId>
+            <version>${sal.api.version}</version>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>sal-common-util</artifactId>
             <version>${controller.model.version}</version>
         </dependency>
-
         <!-- IT -->
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-common-util</artifactId>
+            <version>${sal.common.util.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>config-netconf-connector</artifactId>
             <artifactId>config-manager</artifactId>
             <version>${config.parent.version}</version>
         </dependency>
+          <dependency>
+              <groupId>org.opendaylight.controller</groupId>
+              <artifactId>config-api</artifactId>
+              <version>${config.parent.version}</version>
+          </dependency>
         <dependency>
             <groupId>org.opendaylight.yangtools.thirdparty</groupId>
             <artifactId>antlr4-runtime-osgi-nohead</artifactId>
         <dependency>
           <groupId>org.opendaylight.controller.thirdparty</groupId>
           <artifactId>ganymed</artifactId>
-          <version>1.1-SNAPSHOT</version>
+          <version>1.2.0-SNAPSHOT</version>
         </dependency>
-        
-        
-
         <dependency>
             <groupId>xml-apis</groupId>
             <artifactId>xml-apis</artifactId>
             <version>1.4.01</version>
         </dependency>
+      </dependencies>
+    </dependencyManagement>
 
+    <dependencies>
+        <!-- Sonar -->
         <dependency>
-          <groupId>org.slf4j</groupId>
-          <artifactId>slf4j-log4j12</artifactId>
-          <version>${slf4j.version}</version>
-        </dependency>
-        <dependency>
-          <groupId>org.slf4j</groupId>
-          <artifactId>log4j-over-slf4j</artifactId>
-          <version>${slf4j.version}</version>
-        </dependency>
-        <dependency>
-          <groupId>ch.qos.logback</groupId>
-          <artifactId>logback-core</artifactId>
-          <version>${logback.version}</version>
-        </dependency>
-        <dependency>
-          <groupId>ch.qos.logback</groupId>
-          <artifactId>logback-classic</artifactId>
-          <version>${logback.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.opendaylight.yangtools.thirdparty</groupId>
-            <artifactId>xtend-lib-osgi</artifactId>
-            <version>2.4.3</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-          <groupId>org.osgi</groupId>
-          <artifactId>org.osgi.core</artifactId>
-          <version>${osgi.core.version}</version>
-          <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
-            <version>2.6</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <version>1.7</version>
-        </dependency>
-
-        <dependency>
-          <groupId>junit</groupId>
-          <artifactId>junit</artifactId>
-          <version>4.11</version>
-          <scope>test</scope>
-        </dependency>
-        <dependency>
-          <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-            <version>1.9.5</version>
+            <groupId>org.codehaus.sonar-plugins.java</groupId>
+            <artifactId>sonar-jacoco-listeners</artifactId>
+            <version>${sonar-jacoco-listeners.version}</version>
             <scope>test</scope>
         </dependency>
-      </dependencies>
-    </dependencyManagement>
+    </dependencies>
 
     <build>
         <plugins>
-          <plugin>
-             <groupId>org.codehaus.mojo</groupId>
-             <artifactId>build-helper-maven-plugin</artifactId>
-          </plugin>
+            <plugin>
+                 <groupId>org.codehaus.mojo</groupId>
+                 <artifactId>build-helper-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>prepare-ut-agent</id>
+                        <phase>process-test-classes</phase>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                        <configuration>
+                            <destFile>${sonar.jacoco.reportPath}</destFile>
+                            <propertyName>jacoco.agent.ut.arg</propertyName>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>prepare-it-agent</id>
+                        <phase>pre-integration-test</phase>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                        <configuration>
+                            <destFile>${sonar.jacoco.itReportPath}</destFile>
+                            <propertyName>jacoco.agent.it.arg</propertyName>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
         <pluginManagement>
           <plugins>
               <artifactId>maven-paxexam-plugin</artifactId>
               <version>1.2.4</version>
             </plugin>
-            <plugin>
-              <groupId>org.eclipse.xtend</groupId>
-              <artifactId>xtend-maven-plugin</artifactId>
-              <version>${xtend.version}</version>
-              <executions>
-                  <execution>
-                      <goals>
-                          <goal>compile</goal>
-                      </goals>
-                      <configuration>
-                          <outputDirectory>${xtend.dstdir}</outputDirectory>
-                      </configuration>
-                  </execution>
-              </executions>
-          </plugin>
           <plugin>
               <artifactId>maven-clean-plugin</artifactId>
               <configuration>
                   <filesets>
-                      <fileset>
-                          <directory>${xtend.dstdir}</directory>
-                          <includes>
-                              <include>**</include>
-                          </includes>
-                      </fileset>
                       <fileset>
                           <directory>${jmxGeneratorPath}</directory>
                           <includes>
                       <sources>
                          <source>${jmxGeneratorPath}</source>
                          <source>${salGeneratorPath}</source>
-                         <source>${xtend.dstdir}</source>
                       </sources>
                    </configuration>
                 </execution>
             <plugin>
               <groupId>org.opendaylight.yangtools</groupId>
               <artifactId>yang-maven-plugin</artifactId>
-              <version>0.6.2-SNAPSHOT</version>
+              <version>${yang.binding.version}</version>
             </plugin>
             <plugin>
               <groupId>org.apache.felix</groupId>
                 <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
               </configuration>
             </plugin>
+            <!-- Ignore/Execute plugin execution -->
+            <plugin>
+              <groupId>org.eclipse.m2e</groupId>
+              <artifactId>lifecycle-mapping</artifactId>
+              <version>1.0.0</version>
+              <configuration>
+                <lifecycleMappingMetadata>
+                  <pluginExecutions>
+                    <pluginExecution>
+                      <pluginExecutionFilter>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>properties-maven-plugin</artifactId>
+                        <versionRange>[0.0,)</versionRange>
+                        <goals>
+                          <goal>set-system-properties</goal>
+                        </goals>
+                      </pluginExecutionFilter>
+                      <action>
+                        <ignore/>
+                      </action>
+                    </pluginExecution>
+                    <pluginExecution>
+                      <pluginExecutionFilter>
+                        <groupId>org.codehaus.enunciate</groupId>
+                        <artifactId>maven-enunciate-plugin</artifactId>
+                        <versionRange>[0.0,)</versionRange>
+                        <goals>
+                          <goal>docs</goal>
+                        </goals>
+                      </pluginExecutionFilter>
+                      <action>
+                        <ignore/>
+                      </action>
+                    </pluginExecution>
+                    <pluginExecution>
+                      <pluginExecutionFilter>
+                        <groupId>org.jacoco</groupId>
+                        <artifactId>jacoco-maven-plugin</artifactId>
+                        <versionRange>[0.0,)</versionRange>
+                        <goals>
+                          <goal>prepare-agent</goal>
+                          <goal>pre-test</goal>
+                          <goal>post-test</goal>
+                        </goals>
+                      </pluginExecutionFilter>
+                      <action>
+                        <ignore/>
+                      </action>
+                    </pluginExecution>
+                    <pluginExecution>
+                      <pluginExecutionFilter>
+                        <groupId>org.ops4j.pax.exam</groupId>
+                        <artifactId>maven-paxexam-plugin</artifactId>
+                        <versionRange>[1.2.4,)</versionRange>
+                        <goals>
+                          <goal>generate-depends-file</goal>
+                        </goals>
+                      </pluginExecutionFilter>
+                      <action>
+                        <execute>
+                          <runOnIncremental>false</runOnIncremental>
+                        </execute>
+                      </action>
+                    </pluginExecution>
+                    <pluginExecution>
+                      <pluginExecutionFilter>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-checkstyle-plugin</artifactId>
+                        <versionRange>[2.0,)</versionRange>
+                        <goals>
+                          <goal>check</goal>
+                        </goals>
+                      </pluginExecutionFilter>
+                      <action>
+                        <ignore/>
+                      </action>
+                    </pluginExecution>
+                    <pluginExecution>
+                      <pluginExecutionFilter>
+                        <groupId>org.opendaylight.yangtools</groupId>
+                        <artifactId>yang-maven-plugin</artifactId>
+                        <versionRange>[0.5,)</versionRange>
+                        <goals>
+                          <goal>generate-sources</goal>
+                        </goals>
+                      </pluginExecutionFilter>
+                      <action>
+                        <execute/>
+                      </action>
+                    </pluginExecution>
+                    <pluginExecution>
+                      <pluginExecutionFilter>
+                        <groupId>org.codehaus.groovy.maven</groupId>
+                        <artifactId>gmaven-plugin</artifactId>
+                        <versionRange>1.0</versionRange>
+                        <goals>
+                          <goal>execute</goal>
+                        </goals>
+                      </pluginExecutionFilter>
+                      <action>
+                        <ignore/>
+                      </action>
+                    </pluginExecution>
+                    <pluginExecution>
+                      <pluginExecutionFilter>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-enforcer-plugin</artifactId>
+                        <versionRange>${enforcer.version}</versionRange>
+                        <goals>
+                          <goal>enforce</goal>
+                        </goals>
+                      </pluginExecutionFilter>
+                      <action>
+                        <ignore/>
+                      </action>
+                    </pluginExecution>
+                  </pluginExecutions>
+                </lifecycleMappingMetadata>
+              </configuration>
+            </plugin>
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-failsafe-plugin</artifactId>
+              <configuration>
+                <!-- Specific to generate mapping between tests and covered code -->
+                <argLine>${jacoco.agent.it.arg}</argLine>
+                <properties>
+                  <property>
+                    <name>listener</name>
+                    <value>org.sonar.java.jacoco.JUnitListener</value>
+                  </property>
+                </properties>
+                <!-- Let's put failsafe reports with surefire to have access to tests failures/success reports in sonar -->
+                <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
+              </configuration>
+            </plugin>
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-surefire-plugin</artifactId>
+              <configuration>
+                <!-- Specific to generate mapping between tests and covered code -->
+                <argLine>${jacoco.agent.ut.arg}</argLine>
+                <properties>
+                  <property>
+                    <name>listener</name>
+                    <value>org.sonar.java.jacoco.JUnitListener</value>
+                  </property>
+                </properties>
+              </configuration>
+            </plugin>
           </plugins>
         </pluginManagement>
     </build>
       <repository>
         <id>opendaylight-snapshot</id>
         <name>opendaylight-snapshot</name>
-        <url>${nexusproxy}/repositories/opendaylight.snapshot</url>
+        <url>http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot</url>
         <releases>
           <enabled>false</enabled>
         </releases>
       <repository>
         <id>public</id>
         <name>public</name>
-        <url>${nexusproxy}/groups/public</url>
+        <url>http://nexus.opendaylight.org/content/groups/public</url>
         <snapshots>
           <enabled>false</enabled>
         </snapshots>
       <pluginRepository>
         <id>opendaylight-central</id>
         <name>opendaylight-central</name>
-        <url>${nexusproxy}/repositories/public</url>
+        <url>http://nexus.opendaylight.org/content/repositories/public</url>
         <snapshots>
           <enabled>false</enabled>
         </snapshots>
       <pluginRepository>
         <id>opendaylight-snapshot</id>
         <name>central2</name>
-        <url>${nexusproxy}/repositories/opendaylight.snapshot</url>
+        <url>http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot</url>
         <releases>
           <enabled>false</enabled>
         </releases>
     </pluginRepositories>
 
     <modules>
+      <module>openflowplugin-api</module>
       <module>openflowplugin</module>
+      <module>extension</module>
       <module>distribution/base</module>
+      <module>distribution/cbench</module>
+      <module>distribution/karaf</module>
       <module>openflowplugin-controller-config</module>
       <module>openflowplugin-it</module>
       <module>test-provider</module>
       <module>drop-test</module>
+      <module>drop-test-karaf</module>
+      <module>test-common</module>
       <module>features</module>
       <module>samples/sample-consumer</module>
       <module>samples/learning-switch</module>
-    </modules>
+      <module>applications</module>
+      <module>model</module>
+  </modules>
 </project>