Create mvn profile for integrationtests
[controller.git] / opendaylight / md-sal / pom.xml
index fb06992d6e842c9753c245c847ed4b7d5aac174a..06df83ec7f982ad885d611080eb8594c7ce772d9 100644 (file)
     </scm>
 
     <modules>
+        <!--  Common APIs & Implementation -->
         <module>sal-common</module>
+        <module>sal-common-api</module>
+        <module>sal-common-impl</module>
         <module>sal-common-util</module>
+
         <!-- Binding Independent -->
         <module>sal-dom-api</module>
         <module>sal-dom-broker</module>
         <module>sal-dom-spi</module>
+
         <!-- Binding Aware -->
         <module>sal-binding-api</module>
+        <module>sal-binding-config</module>
         <module>sal-binding-broker</module>
+
         <!-- Samples -->
         <module>samples</module>
+
         <!-- Base Models -->
         <module>model</module>
+
         <!-- Compability Packages -->
         <module>sal-compability</module>
+
         <!-- Connectors -->
         <module>sal-connector-api</module>
         <module>sal-rest-connector</module>
+        <module>flow-management-compatibility</module>
+
+        <!-- Clustered Data Store -->
+        <module>clustered-data-store/implementation</module>
+
+        <module>sal-zeromq-connector</module>
+        <module>test</module>
     </modules>
 
+
+    <profiles>
+        <profile>
+           <id>integrationtests</id>
+           <activation>
+               <activeByDefault>false</activeByDefault>
+           </activation>
+            <modules>
+                <module>sal-binding-it</module>
+                <module>clustered-data-store/integrationtest</module>
+            </modules>
+        </profile>
+    </profiles>
+
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
+        <!-- Java Versions -->
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
+
         <!-- Plugin Versions -->
         <bundle.plugin.version>2.4.0</bundle.plugin.version>
         <releaseplugin.version>2.3.2</releaseplugin.version>
 
         <!-- Dependency Versions -->
         <slf4j.version>1.7.2</slf4j.version>
-        <yang.version>0.5.8</yang.version>
-        <yang.codegen.version>0.5.8</yang.codegen.version>
+        <yang.version>0.5.9-SNAPSHOT</yang.version>
+        <yang.binding.version>0.6.0-SNAPSHOT</yang.binding.version>
+        <yang.codegen.version>0.6.0-SNAPSHOT</yang.codegen.version>
         <guava.version>14.0.1</guava.version>
         <osgi.core.version>5.0.0</osgi.core.version>
         <junit.version>4.8.1</junit.version>
         <xtend.version>2.4.3</xtend.version>
+        <maven.clean.plugin.version>2.5</maven.clean.plugin.version>
+        <jacoco.version>0.5.3.201107060350</jacoco.version>
+        <!-- Sonar properties using jacoco to retrieve integration test results -->
+        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
+        <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
+        <sonar.jacoco.Reportpath>target/jacoco.exec</sonar.jacoco.Reportpath>
+        <sonar.jacoco.itReportPath>target/jacoco-it.exec</sonar.jacoco.itReportPath>
+        <sonar.host.url>https://sonar.opendaylight.org/</sonar.host.url>
+        <sonar.branch>${user.name}-private-view</sonar.branch>
+        <sonar.language>java</sonar.language>
     </properties>
 
     <pluginRepositories>
+        <!-- OpenDayLight Repo Mirror -->
         <pluginRepository>
-            <id>central</id>
-            <name>maven repo1</name>
-            <url>http://repo1.maven.org/maven2</url>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
+          <id>opendaylight-mirror</id>
+          <name>opendaylight-mirror</name>
+          <url>${nexusproxy}/groups/public/</url>
+          <snapshots>
+              <enabled>false</enabled>
+          </snapshots>
+          <releases>
+              <enabled>true</enabled>
+              <updatePolicy>never</updatePolicy>
+          </releases>
         </pluginRepository>
+        <!-- OpenDayLight Snapshot artifact -->
         <pluginRepository>
-            <id>opendaylight.release</id>
-            <name>opendaylight.release</name>
-            <url>${nexusproxy}/repositories/opendaylight.release/</url>
+          <id>opendaylight-snapshot</id>
+          <name>opendaylight-snapshot</name>
+          <url> ${nexusproxy}/repositories/opendaylight.snapshot/</url>
+          <snapshots>
+              <enabled>true</enabled>
+          </snapshots>
+          <releases>
+              <enabled>false</enabled>
+          </releases>
         </pluginRepository>
     </pluginRepositories>
 
 
     <repositories>
+        <!-- OpenDayLight Repo Mirror -->
         <repository>
-            <id>opendaylight-release</id>
-            <name>opendaylight-release</name>
-            <url>${nexusproxy}/repositories/opendaylight.release/</url>
+          <id>opendaylight-mirror</id>
+          <name>opendaylight-mirror</name>
+          <url>${nexusproxy}/groups/public/</url>
+          <snapshots>
+              <enabled>false</enabled>
+          </snapshots>
+          <releases>
+              <enabled>true</enabled>
+              <updatePolicy>never</updatePolicy>
+          </releases>
         </repository>
         <!-- OpenDayLight Snapshot artifact -->
         <repository>
-            <id>opendaylight-snapshot</id>
-            <name>opendaylight-snapshot</name>
-            <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
-        </repository>
-        <repository>           
-            <id>thirdparty</id>                
-            <name>thirdparty</name>            
-            <url>${nexusproxy}/repositories/thirdparty/</url>          
-        </repository>
-        <repository>
-            <id>central</id>
-            <name>central</name>
-            <url>http://repo1.maven.org/maven2</url>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
+          <id>opendaylight-snapshot</id>
+          <name>opendaylight-snapshot</name>
+          <url> ${nexusproxy}/repositories/opendaylight.snapshot/</url>
+          <snapshots>
+              <enabled>true</enabled>
+          </snapshots>
+          <releases>
+              <enabled>false</enabled>
+          </releases>
         </repository>
     </repositories>
 
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yang-binding</artifactId>
-                <version>${yang.version}</version>
+                <version>${yang.binding.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
     <build>
         <pluginManagement>
             <plugins>
+                <!--This plugin's configuration is used to store Eclipse
+                    m2e settings only. It has no influence on the Maven build itself. -->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <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>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-release-plugin</artifactId>
                     <artifactId>maven-bundle-plugin</artifactId>
                     <version>${bundle.plugin.version}</version>
                     <extensions>true</extensions>
+                    <!--executions>
+                        <execution>
+                            <id>bundle-manifest</id>
+                            <phase>process-classes</phase>
+                            <goals>
+                                <goal>manifest</goal>
+                            </goals>
+                        </execution>
+                    </executions-->
                     <configuration>
                         <instructions>
                             <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
                 </plugin>
                 <plugin>
                     <artifactId>maven-clean-plugin</artifactId>
+                    <version>${maven.clean.plugin.version}</version>
                     <configuration>
                         <filesets>
                             <fileset>
                         </filesets>
                     </configuration>
                 </plugin>
+                <plugin>
+                    <groupId>org.jacoco</groupId>
+                    <artifactId>jacoco-maven-plugin</artifactId>
+                    <version>${jacoco.version}</version>
+                </plugin>
+                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            org.opendaylight.yangtools
+                                        </groupId>
+                                        <artifactId>
+                                            yang-maven-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [0.5,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>
+                                                generate-sources
+                                            </goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore></ignore>
+                                    </action>
+                                </pluginExecution>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.jacoco</groupId>
+                                        <artifactId>
+                                            jacoco-maven-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [0.5.3.201107060350,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>prepare-agent</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore></ignore>
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
             </plugins>
+
         </pluginManagement>
         <plugins>
             <plugin>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>2.0</version>
-                <inherited>true</inherited>
-                <configuration>
-                    <source>1.7</source>
-                    <target>1.7</target>
-                </configuration>
+                <artifactId>maven-jar-plugin</artifactId>
+                <version>2.4</version>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>