Bug 1680 - default table-miss-entry feature should be pulled out into separate module
[openflowplugin.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index ab545f6ff1d2cfe0fb4efb0afb020e8384bf4653..7b3e34105de7510406b089b0bb45032f3096843d 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
         <version>1.4.2-SNAPSHOT</version>
-        <relativePath></relativePath>
+        <relativePath/>
     </parent>
     <prerequisites>
         <maven>3.0</maven>
       <!-- OpenDayLight Released artifact -->
       <repository>
         <id>opendaylight-release</id>
-        <url>http://nexus.opendaylight.org/content/repositories/opendaylight.release</url>
+        <url>${nexusproxy}/repositories/opendaylight.release</url>
       </repository>
       <!-- OpenDayLight Snapshot artifact -->
       <snapshotRepository>
         <id>opendaylight-snapshot</id>
-        <url>http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot</url>
+        <url>${nexusproxy}/repositories/opendaylight.snapshot</url>
       </snapshotRepository>
       <!-- Site deployment -->
       <!-- site>
@@ -48,6 +48,7 @@
       <controller.model.version>1.1-SNAPSHOT</controller.model.version>
       <sal.api.version>0.8.1-SNAPSHOT</sal.api.version>
       <sal.connection.api.version>0.1.2-SNAPSHOT</sal.connection.api.version>
+      <sal.common.util.version>1.1-SNAPSHOT</sal.common.util.version>
       <netconf.parent.version>0.2.5-SNAPSHOT</netconf.parent.version>
       <config.parent.version>0.2.5-SNAPSHOT</config.parent.version>
       <build.helper.version>1.8</build.helper.version>
       <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
       <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
       <exi.nagasena.version>0000.0002.0038.0</exi.nagasena.version>
-        <controller.distribution.version>0.1.2-SNAPSHOT</controller.distribution.version>
+      <controller.distribution.version>0.1.2-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.4.2-SNAPSHOT</karaf.distro.empty.version>
+      <yang.binding.version>0.6.2-SNAPSHOT</yang.binding.version>
     </properties>
 
     <dependencyManagement>
       <dependencies>
+         <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-binding</artifactId>
+            <version>${yang.binding.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>model-flow-base</artifactId>
           <version>${controller.model.version}</version>
         </dependency>
-        <dependency>
-          <groupId>org.opendaylight.controller.model</groupId>
-          <artifactId>model-flow-management</artifactId>
-          <version>${controller.model.version}</version>
-        </dependency>
         <dependency>
           <groupId>org.opendaylight.controller.model</groupId>
           <artifactId>model-flow-service</artifactId>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal</artifactId>
+            <artifactId>liblldp</artifactId>
             <version>${sal.api.version}</version>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal.connection</artifactId>
-            <version>${sal.connection.api.version}</version>
+            <artifactId>sal-common-util</artifactId>
+            <version>${controller.model.version}</version>
         </dependency>
+        <!-- IT -->
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>sal-common-util</artifactId>
-            <version>${controller.model.version}</version>
+            <version>${sal.common.util.version}</version>
         </dependency>
-
-        <!-- IT -->
         <dependency>
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>config-netconf-connector</artifactId>
       </dependencies>
     </dependencyManagement>
 
+    <dependencies>
+        <!-- Sonar -->
+        <dependency>
+            <groupId>org.codehaus.sonar-plugins.java</groupId>
+            <artifactId>sonar-jacoco-listeners</artifactId>
+            <version>${sonar-jacoco-listeners.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </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>
             <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>
                         </goals>
                       </pluginExecutionFilter>
                       <action>
-                        <ignore></ignore>
+                        <ignore/>
                       </action>
                     </pluginExecution>
                     <pluginExecution>
                         </goals>
                       </pluginExecutionFilter>
                       <action>
-                        <ignore></ignore>
+                        <ignore/>
                       </action>
                     </pluginExecution>
                     <pluginExecution>
                         </goals>
                       </pluginExecutionFilter>
                       <action>
-                        <ignore></ignore>
+                        <ignore/>
                       </action>
                     </pluginExecution>
                     <pluginExecution>
                         </goals>
                       </pluginExecutionFilter>
                       <action>
-                        <ignore></ignore>
+                        <ignore/>
                       </action>
                     </pluginExecution>
                     <pluginExecution>
                         </goals>
                       </pluginExecutionFilter>
                       <action>
-                        <execute></execute>
+                        <execute/>
                       </action>
                     </pluginExecution>
                     <pluginExecution>
                         </goals>
                       </pluginExecutionFilter>
                       <action>
-                        <ignore></ignore>
+                        <ignore/>
                       </action>
                     </pluginExecution>
                     <pluginExecution>
                         </goals>
                       </pluginExecutionFilter>
                       <action>
-                        <ignore></ignore>
+                        <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>
     </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>
+  </modules>
 </project>