Honeycomb 1.19.01 release
[honeycomb.git] / common / honeycomb-parent / pom.xml
index 4488f11..30e7c85 100644 (file)
@@ -21,7 +21,7 @@
     <groupId>io.fd.honeycomb.common</groupId>
     <artifactId>honeycomb-parent</artifactId>
     <name>${project.artifactId}</name>
-    <version>1.17.10-SNAPSHOT</version>
+    <version>1.19.01</version>
     <packaging>pom</packaging>
     <prerequisites>
         <maven>3.1.1</maven>
         <!-- Sonar configuration -->
         <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
         <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**</sonar.exclusions>
+        <!-- https://github.com/SonarSource/sonar-scanning-examples/blob/master/sonarqube-scanner-maven/pom.xml#L24 -->
+        <!-- The destination file for the code coverage report has to be set to the same value
+             in the parent pom and in each module pom. Then JaCoCo will add up information in
+             the same report, so that, it will give the cross-module code coverage. -->
+        <!-- We store jacoco-it.exec in honeycomb-parent because it is built first,
+             so mvn clean won't remove aggregated report. -->
+        <sonar.jacoco.itReportPath>${maven.multiModuleProjectDirectory}/common/honeycomb-parent/target/jacoco-it.exec</sonar.jacoco.itReportPath>
 
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
         <!-- ODL dependencies -->
-        <yangtools.version>1.1.1-Carbon</yangtools.version>
-        <mdsal.version>2.2.1-Carbon</mdsal.version>
-        <mdsal.controller.version>1.5.1-Carbon</mdsal.controller.version>
-        <mdsalmodel.version>0.10.1-Carbon</mdsalmodel.version>
-        <netconf.version>1.2.1-Carbon</netconf.version>
-        <restconf.version>1.5.1-Carbon</restconf.version>
-        <salGenerator.version>0.10.1-Carbon</salGenerator.version>
-        <bgpcep.version>0.7.1-Carbon</bgpcep.version>
+        <odl.yangtools.version>2.0.11</odl.yangtools.version>
+        <odl.mdsal.version>2.5.0</odl.mdsal.version>
+        <odl.mdsal.controller.version>1.8.0</odl.mdsal.controller.version>
+        <odl.mdsalmodel.version>0.13.0</odl.mdsalmodel.version>
+        <odl.netconf.version>1.5.0</odl.netconf.version>
+        <odl.restconf.version>1.8.0</odl.restconf.version>
+        <odl.salGenerator.version>0.13.0</odl.salGenerator.version>
+        <odl.bgpcep.version>0.10.0</odl.bgpcep.version>
         <salGeneratorPath>target/generated-sources/mdsal-binding</salGeneratorPath>
 
         <!-- common dependencies -->
         <junit.version>4.11</junit.version>
         <mockito.version>2.2.9</mockito.version>
         <hamcrest.version>1.3</hamcrest.version>
-        <guava.version>18.0</guava.version>
+        <guava.version>23.6-jre</guava.version>
         <jsr305.version>3.0.0</jsr305.version>
         <slf4j.version>1.7.21</slf4j.version>
+        <jdt.version>2.1.150</jdt.version>
 
         <!-- plugins -->
         <checkstyle.plugin.version>2.17</checkstyle.plugin.version>
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yangtools-artifacts</artifactId>
-                <version>${yangtools.version}</version>
+                <version>${odl.yangtools.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.controller</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>${mdsal.controller.version}</version>
+                <version>${odl.mdsal.controller.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>${mdsal.version}</version>
+                <version>${odl.mdsal.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.netconf</groupId>
                 <artifactId>netconf-artifacts</artifactId>
-                <version>${netconf.version}</version>
+                <version>${odl.netconf.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.netconf</groupId>
                 <artifactId>restconf-artifacts</artifactId>
-                <version>${restconf.version}</version>
+                <version>${odl.restconf.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.mdsal.model</groupId>
                 <artifactId>mdsal-model-artifacts</artifactId>
-                <version>${mdsalmodel.version}</version>
+                <version>${odl.mdsalmodel.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.bgpcep</groupId>
                 <artifactId>bgpcep-artifacts</artifactId>
-                <version>${bgpcep.version}</version>
+                <version>${odl.bgpcep.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
                 <artifactId>slf4j-api</artifactId>
                 <version>${slf4j.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.eclipse.jdt</groupId>
+                <artifactId>org.eclipse.jdt.annotation</artifactId>
+                <version>${jdt.version}</version>
+            </dependency>
 
             <!-- Testing Dependencies -->
             <dependency>
                             <groupId>io.fd.honeycomb.common</groupId>
                             <artifactId>honeycomb-checkstyle</artifactId>
                             <!-- Hardcoded version to prevent archetype generated projects to use their own project version -->
-                            <version>1.17.10-SNAPSHOT</version>
+                            <version>1.19.01</version>
                         </dependency>
                         <!-- Necessary for logging checks -->
                         <dependency>
                             <groupId>org.opendaylight.yangtools</groupId>
                             <artifactId>checkstyle-logging</artifactId>
-                            <version>${yangtools.version}</version>
+                            <version>${odl.yangtools.version}</version>
                         </dependency>
                         <!-- Needed by ODL's checkstyle-logging -->
                         <dependency>
                         </execution>
                     </executions>
                 </plugin>
+                <!-- Sonar -->
+                <!-- If Maven encounters a plugin with no version declaration, it will use the LATEST version.
+                     which might not be compatible with Sonar server (fd.io uses 6.7.3 currently).
+                     Therefore it is recommended to lock down version of Sonar plugin:
+                     http://blog.sonatype.com/2008/04/maven-209-released/
+                     -->
+                <plugin>
+                    <groupId>org.sonarsource.scanner.maven</groupId>
+                    <artifactId>sonar-maven-plugin</artifactId>
+                    <version>3.4.1.1170</version>
+                </plugin>
                 <!-- jacoco test coverage for sonar -->
                 <plugin>
                     <groupId>org.jacoco</groupId>
                     <version>${jacoco.version}</version>
                     <executions>
                         <execution>
-                            <id>pre-unit-test</id>
+                            <id>agent-for-ut</id>
                             <goals>
                                 <goal>prepare-agent</goal>
                             </goals>
                         </execution>
                         <execution>
-                            <id>post-unit-test</id>
+                            <id>agent-for-it</id>
+                            <goals>
+                                <goal>prepare-agent-integration</goal>
+                            </goals>
+                        </execution>
+                        <execution>
+                            <id>jacoco-site</id>
                             <goals>
                                 <goal>report</goal>
                             </goals>
                         </execution>
                     </executions>
                     <configuration>
+                        <!-- Appends data to existing JaCoCo execution file. Required for IT coverage.
+                             Will not affect UT which use separate files. -->
+                        <append>true</append>
                         <excludes>
                             <exclude>**/gen/**</exclude>
                             <exclude>**/generated-sources/**</exclude>
                     </executions>
                     <dependencies>
                         <dependency>
-                            <groupId>io.fd.honeycomb.common</groupId>
-                            <artifactId>common-scripts</artifactId>
-                            <version>1.17.10-SNAPSHOT</version>
+                            <groupId>io.fd.honeycomb.doc</groupId>
+                            <artifactId>asciidoc-scripts</artifactId>
+                            <version>1.19.01</version>
                         </dependency>
                     </dependencies>
                 </plugin>