Start the 4.0.2 development series
[odlparent.git] / odlparent / pom.xml
index 959407f413ff3a7322be198410d70ce1d9d13504..1061e40ccb8e9dc90c572aa68b5173b0710b8bb8 100644 (file)
@@ -13,7 +13,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>4.0.0-SNAPSHOT</version>
+    <version>4.0.2-SNAPSHOT</version>
     <relativePath>../odlparent-lite</relativePath>
   </parent>
 
     <java.version.target>${maven.compiler.target}</java.version.target>
 
     <!-- Used in openflowplugin -->
-    <enforcer.version>3.0.0-M1</enforcer.version>
-    <!-- Used in controller, infrautils, openflowplugin -->
-    <exam.version>4.12.0</exam.version>
-    <!-- Used in neutron, ovsdb -->
-    <jacoco.version>0.8.1</jacoco.version>
+    <enforcer.version>3.0.0-M2</enforcer.version>
     <!-- Used in controller, genius, infrautils, netconf, netvirt, ovsdb, serviceutils -->
-    <karaf.version>4.2.0</karaf.version>
+    <karaf.version>4.2.1</karaf.version>
     <!-- Used in bgpcep, lispflowmapping -->
     <projectinfo>2.8.1</projectinfo>
 
     <!-- Only used internally -->
     <bouncycastle.version>1.60</bouncycastle.version>
 
+    <!-- JaCoCo configuration, by default tied to Sonar configuration, but can be overridden separately
+         to allow projects to report Sonar values from the entire project. -->
+    <jacoco.destFile>${project.build.directory}/code-coverage/jacoco.exec</jacoco.destFile>
+
     <!-- Default Sonar configuration -->
     <sonar-jacoco-listeners.version>3.8</sonar-jacoco-listeners.version>
     <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
-    <sonar.jacoco.reportPath>${project.build.directory}/code-coverage/jacoco.exec</sonar.jacoco.reportPath>
+    <sonar.jacoco.reportPath>${jacoco.destFile}</sonar.jacoco.reportPath>
     <sonar.jacoco.itReportPath>${project.build.directory}/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
+
     <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
     <sonar.exclusions>**/gen/**,**/generated-sources/**,**/generated-test-sources/**,**/yang-gen/**,**/yang-gen-config/**,**/yang-gen-sal/**,**/yang-gen-code/**,**/pax/**</sonar.exclusions>
 
     <!-- Opt-in code quality checks -->
     <pmd.cpd.fail>false</pmd.cpd.fail>                  <!-- Copy/paste detection -->
     <duplicate-finder.skip>true</duplicate-finder.skip> <!-- Classpath duplicates -->
+
+    <!-- Redirect test output to files (overridable) -->
+    <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
   </properties>
 
   <dependencyManagement>
@@ -81,7 +85,7 @@
       <dependency>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-artifacts</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.2-SNAPSHOT</version>
         <scope>import</scope>
         <type>pom</type>
       </dependency>
       <dependency>
         <groupId>org.mockito</groupId>
         <artifactId>mockito-core</artifactId>
-        <version>2.19.1</version>
+        <version>2.20.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.mockito</groupId>
+        <artifactId>mockito-inline</artifactId>
+        <version>2.20.1</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <!-- Generates immutable implementations, builders, the works -->
         <groupId>org.immutables</groupId>
         <artifactId>value</artifactId>
-        <version>2.6.3</version>
+        <version>2.7.1</version>
         <!-- Must be provided; scope=test here breaks APT in Eclipse :( -->
         <scope>provided</scope>
       </dependency>
         <artifactId>logback-classic</artifactId>
         <version>1.2.3</version>
       </dependency>
+
+      <!-- log4j2 -->
+      <dependency>
+        <groupId>org.apache.logging.log4j</groupId>
+        <artifactId>log4j-bom</artifactId>
+        <version>2.11.1</version>
+        <scope>import</scope>
+        <type>pom</type>
+      </dependency>
+
       <dependency>
         <groupId>com.google.guava</groupId>
         <artifactId>guava</artifactId>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-lang3</artifactId>
         <!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
-        <version>3.7</version>
+        <version>3.8</version>
       </dependency>
       <dependency>
         <groupId>org.apache.commons</groupId>
       <dependency>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.metatype</artifactId>
-        <version>1.1.6</version>
+        <version>1.2.0</version>
       </dependency>
       <dependency>
         <groupId>org.bouncycastle</groupId>
       <dependency>
         <groupId>org.eclipse.persistence</groupId>
         <artifactId>org.eclipse.persistence.antlr</artifactId>
-        <version>2.7.1</version>
+        <version>2.7.3</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.persistence</groupId>
         <artifactId>org.eclipse.persistence.core</artifactId>
-        <version>2.7.1</version>
+        <version>2.7.3</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.persistence</groupId>
         <artifactId>org.eclipse.persistence.moxy</artifactId>
-        <version>2.7.1</version>
+        <version>2.7.3</version>
       </dependency>
       <dependency>
         <groupId>javax.validation</groupId>
       <dependency>
         <groupId>org.ow2.asm</groupId>
         <artifactId>asm</artifactId>
-        <version>6.0</version>
+        <version>6.2.1</version>
       </dependency>
 
       <!-- Configuration library -->
         <artifactId>uncommons-maths</artifactId>
         <version>1.2.2a</version>
       </dependency>
-      <dependency>
-        <groupId>com.google.protobuf</groupId>
-        <artifactId>protobuf-java</artifactId>
-        <version>2.5.0</version>
-      </dependency>
 
       <!-- Aeron, required by Akka -->
       <dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam</artifactId>
-        <version>${exam.version}</version>
+        <version>4.12.0</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-container-forked</artifactId>
-        <version>${exam.version}</version>
+        <version>4.12.0</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-container-karaf</artifactId>
-        <version>${exam.version}</version>
+        <version>4.12.0</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-container-native</artifactId>
-        <version>${exam.version}</version>
+        <version>4.12.0</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-extender-service</artifactId>
-        <version>${exam.version}</version>
+        <version>4.12.0</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-inject</artifactId>
-        <version>${exam.version}</version>
+        <version>4.12.0</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-invoker-junit</artifactId>
-        <version>${exam.version}</version>
+        <version>4.12.0</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-features</artifactId>
-        <version>${exam.version}</version>
+        <version>4.12.0</version>
         <type>xml</type>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-junit4</artifactId>
-        <version>${exam.version}</version>
+        <version>4.12.0</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-link-mvn</artifactId>
-        <version>${exam.version}</version>
+        <version>4.12.0</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-link-assembly</artifactId>
-        <version>${exam.version}</version>
+        <version>4.12.0</version>
         <scope>test</scope>
       </dependency>
 
         <version>2.5.4</version>
       </dependency>
 
+      <dependency>
+        <groupId>org.ops4j.pax.web</groupId>
+        <artifactId>pax-web-api</artifactId>
+        <!-- Note: keep this version synchronized with karaf -->
+        <version>7.2.3</version>
+      </dependency>
+
       <dependency>
         <groupId>org.springframework.osgi</groupId>
         <artifactId>spring-osgi-mock</artifactId>
       <dependency>
         <groupId>org.xmlunit</groupId>
         <artifactId>xmlunit-core</artifactId>
-        <version>2.6.0</version>
+        <version>2.6.2</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.xmlunit</groupId>
         <artifactId>xmlunit-matchers</artifactId>
-        <version>2.6.0</version>
+        <version>2.6.2</version>
         <scope>test</scope>
       </dependency>
       <!-- FIXME: remove this once we have migrated over -->
       <dependency>
         <groupId>org.xmlunit</groupId>
         <artifactId>xmlunit-legacy</artifactId>
-        <version>2.6.0</version>
+        <version>2.6.2</version>
         <scope>test</scope>
       </dependency>
 
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-client</artifactId>
-        <version>9.3.21.v20170918</version>
+        <version>9.4.11.v20180605</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-server</artifactId>
-        <version>9.3.21.v20170918</version>
+        <version>9.4.11.v20180605</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-servlets</artifactId>
-        <version>9.3.21.v20170918</version>
+        <version>9.4.11.v20180605</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-webapp</artifactId>
-        <version>9.3.21.v20170918</version>
+        <version>9.4.11.v20180605</version>
       </dependency>
 
       <dependency>
         <version>1</version>
         <optional>true</optional>
       </dependency>
-      <dependency>
-        <groupId>org.ops4j.pax.cdi</groupId>
-        <artifactId>pax-cdi-api</artifactId>
-        <version>1.0.0.RC2</version>
-        <optional>true</optional>
-      </dependency>
 
       <!-- Cassandra -->
       <dependency>
       <dependency>
         <groupId>org.threeten</groupId>
         <artifactId>threeten-extra</artifactId>
-        <version>1.3.2</version>
+        <version>1.4</version>
       </dependency>
 
       <!-- When updating this version, consider antl4-maven-plugin below -->
         <artifactId>org.apache.aries.blueprint.core</artifactId>
         <version>1.9.0</version>
       </dependency>
+      <dependency>
+        <groupId>org.apache.aries.blueprint</groupId>
+        <artifactId>blueprint-maven-plugin-annotation</artifactId>
+        <version>1.3.0</version>
+        <optional>true</optional>
+      </dependency>
 
+      <!-- Apache SSHD with netty -->
+      <dependency>
+        <groupId>org.apache.sshd</groupId>
+        <artifactId>sshd-core</artifactId>
+        <version>2.0.0</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.sshd</groupId>
+        <artifactId>sshd-netty</artifactId>
+        <version>2.0.0</version>
+      </dependency>
+      <dependency>
+        <groupId>net.i2p.crypto</groupId>
+        <artifactId>eddsa</artifactId>
+        <version>0.3.0</version>
+      </dependency>
     </dependencies>
   </dependencyManagement>
 
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
               <artifactId>checkstyle</artifactId>
-              <version>4.0.0-SNAPSHOT</version>
+              <version>4.0.2-SNAPSHOT</version>
             </dependency>
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
               <artifactId>odl-license</artifactId>
-              <version>4.0.0-SNAPSHOT</version>
+              <version>4.0.2-SNAPSHOT</version>
             </dependency>
             <dependency>
               <groupId>com.github.sevntu-checkstyle</groupId>
               <artifactId>sevntu-checkstyle-maven-plugin</artifactId>
-              <version>1.30.0</version>
+              <version>1.32.0</version>
             </dependency>
           </dependencies>
           <configuration>
         </plugin>
         <plugin>
           <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.7.0</version>
+          <version>3.8.0</version>
           <configuration>
             <source>1.8</source>
             <target>1.8</target>
             <compilerArgs>
               <arg>-parameters</arg>
               <arg>-Xlint:deprecation</arg>
+              <arg>-Xlint:unchecked</arg>
             </compilerArgs>
           </configuration>
         </plugin>
         </plugin>
         <plugin>
           <artifactId>maven-failsafe-plugin</artifactId>
-          <version>2.20.1</version>
+          <version>2.22.0</version>
         </plugin>
         <plugin>
           <artifactId>maven-invoker-plugin</artifactId>
-          <version>2.0.0</version>
+          <version>3.1.0</version>
         </plugin>
         <plugin>
           <artifactId>maven-jar-plugin</artifactId>
-          <version>3.0.2</version>
+          <version>3.1.0</version>
         </plugin>
         <plugin>
           <artifactId>maven-dependency-plugin</artifactId>
                   <artifactItem>
                     <groupId>org.opendaylight.odlparent</groupId>
                     <artifactId>odl-license</artifactId>
-                    <version>4.0.0-SNAPSHOT</version>
+                    <version>4.0.2-SNAPSHOT</version>
                   </artifactItem>
                 </artifactItems>
                 <outputDirectory>${project.build.outputDirectory}</outputDirectory>
         </plugin>
         <plugin>
           <artifactId>maven-resources-plugin</artifactId>
-          <version>3.0.1</version>
+          <version>3.1.0</version>
         </plugin>
         <plugin>
           <artifactId>maven-shade-plugin</artifactId>
-          <version>3.1.0</version>
+          <version>3.2.0</version>
         </plugin>
         <plugin>
           <artifactId>maven-source-plugin</artifactId>
         </plugin>
         <plugin>
           <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.18.1</version>
+          <version>2.22.0</version>
           <configuration>
-            <redirectTestOutputToFile>true</redirectTestOutputToFile>
+            <redirectTestOutputToFile>${maven.test.redirectTestOutputToFile}</redirectTestOutputToFile>
             <trimStackTrace>false</trimStackTrace>
           </configuration>
         </plugin>
           <groupId>org.apache.aries.blueprint</groupId>
           <artifactId>blueprint-maven-plugin</artifactId>
           <version>1.10.0</version>
+          <!-- TODO remove dependencies when we bump from 1.10.0 to 1.11.0 (or 1.10.1);
+             see https://jira.opendaylight.org/browse/ODLPARENT-167 & https://jira.apache.org/jira/browse/ARIES-1826 -->
+          <dependencies>
+            <dependency>
+              <groupId>org.apache.xbean</groupId>
+              <artifactId>xbean-finder-shaded</artifactId>
+              <version>4.9</version>
+            </dependency>
+          </dependencies>
           <configuration>
             <scanPaths>
               <scanPath>org.opendaylight</scanPath>
             </scanPaths>
-            <generatedDir>org/opendaylight/blueprint/</generatedDir>
           </configuration>
           <executions>
             <execution>
         <plugin>
           <groupId>org.apache.felix</groupId>
           <artifactId>maven-bundle-plugin</artifactId>
-          <version>3.5.0</version>
+          <version>4.0.0</version>
           <extensions>true</extensions>
           <configuration>
             <instructions>
                    so that the build doesn't fail if there is no .../.git/ - so git.properties is effectively optional;
                    and so the '-' there is needed to make the maven-bundle-plugin if that resource is not present.  -->
               <Include-Resource>{maven-resources},${project.build.directory}/classes/LICENSE,META-INF/git.properties=-${project.build.directory}/classes/META-INF/git.properties</Include-Resource>
+
+              <!-- Based on https://dev.eclipse.org/mhonarc/lists/equinox-dev/msg01088.html we do want
+                   to generate Import-Service and Export-Service headers. -->
+              <_removeheaders>Import-Service,Export-Service</_removeheaders>
             </instructions>
           </configuration>
         </plugin>
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
               <artifactId>findbugs</artifactId>
-              <version>4.0.0-SNAPSHOT</version>
+              <version>4.0.2-SNAPSHOT</version>
             </dependency>
           </dependencies>
           <configuration>
             <dependency>
               <groupId>com.github.spotbugs</groupId>
               <artifactId>spotbugs</artifactId>
-              <version>3.1.6</version>
+              <version>3.1.7</version>
             </dependency>
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
               <artifactId>spotbugs</artifactId>
-              <version>4.0.0-SNAPSHOT</version>
+              <version>4.0.2-SNAPSHOT</version>
             </dependency>
           </dependencies>
           <configuration>
                     <versionRange>[0.7.0,)</versionRange>
                     <goals>
                       <goal>prepare-agent</goal>
-                      <goal>report</goal>
                     </goals>
                   </pluginExecutionFilter>
                   <action>
         <plugin>
           <groupId>org.jacoco</groupId>
           <artifactId>jacoco-maven-plugin</artifactId>
-          <version>${jacoco.version}</version>
           <configuration>
             <!-- Note: This exclusion list should match <sonar.exclusions>
                        property above -->
               <goal>prepare-agent</goal>
             </goals>
             <configuration>
-              <destFile>${sonar.jacoco.reportPath}</destFile>
-            </configuration>
-          </execution>
-          <execution>
-            <id>post-unit-test</id>
-            <goals>
-              <goal>report</goal>
-            </goals>
-            <configuration>
-              <dataFile>${sonar.jacoco.reportPath}</dataFile>
+              <destFile>${jacoco.destFile}</destFile>
             </configuration>
           </execution>
         </executions>
     </plugins>
   </reporting>
 
-  <!--
-    Maven Site Configuration
-
-    The following configuration is necessary for maven-site-plugin to
-    correctly identify the correct deployment path for OpenDaylight Maven
-    sites.
-  -->
-  <url>${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/</url>
-
-  <distributionManagement>
-    <site>
-      <id>opendaylight-site</id>
-      <url>${nexus.site.url}/${project.artifactId}/</url>
-    </site>
-  </distributionManagement>
+  <profiles>
+    <profile>
+      <!-- On JDK9-and-later findbugs fails -->
+      <id>jdk9-findbugs</id>
+      <activation>
+        <jdk>[9,)</jdk>
+      </activation>
+
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>findbugs-maven-plugin</artifactId>
+            <configuration combine.children="append">
+              <skip>true</skip>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
 
 </project>