Bump Apache Commons Lang to 3.8
[odlparent.git] / odlparent / pom.xml
index 55ada97f8170ca7e826698bde7dfad9fae60387d..c30a62d13406f8ba3f65e90ccb28b199bb072631 100644 (file)
     <java.version.source>${maven.compiler.source}</java.version.source>
     <java.version.target>${maven.compiler.target}</java.version.target>
 
-    <!-- Maven plugin versions, in the 'canonical' format -->
-    <!-- Used in didm, l2switch, lacp, persistence; see also controller -->
-    <maven.compile.plugin.version>3.7.0</maven.compile.plugin.version>
-    <!-- Used in snmp -->
-    <maven.plugin.version>3.5</maven.plugin.version>
-    <!-- Used in controller, iotdm, neutron, of-config -->
-    <!-- Later versions break tests in downstream projects -->
-    <maven.surefire.version>2.18.1</maven.surefire.version>
-
-    <!-- Used in packetcable -->
-    <odl.checkstyle.version>3.0.0-SNAPSHOT</odl.checkstyle.version>
-    <!-- Used in l2switch, lacp, netide, ocpplugin, openflowjava, openflowplugin, snbi, tsdr -->
+    <!-- Used in openflowplugin -->
     <enforcer.version>3.0.0-M1</enforcer.version>
-    <!-- Used in snmp4sdn; see also nemo -->
-    <enunciate.version>1.31</enunciate.version>
-    <!-- Used in controller, infrautils, netide, openflowplugin -->
-    <exam.version>4.11.0</exam.version>
-    <!-- Used in of-config, snmp4sdn -->
-    <failsafe.version>2.20.1</failsafe.version>
-    <!-- Used in genius, neutron, of-config, ovsdb, persistence, snmp4sdn, usc, vtn -->
+    <!-- Used in controller, infrautils, openflowplugin -->
+    <exam.version>4.12.0</exam.version>
+    <!-- Used in neutron, ovsdb -->
     <jacoco.version>0.8.1</jacoco.version>
-    <!-- Used in aaa, alto, bgpcep, bier, controller, coretutorials, genius, infrautils, iotdm,
-         l2switch, lacp, netconf, netide, netvirt, nic, ocpplugin, ovsdb, persistence, snbi, sxp,
-         tsdr, unimgr, vtn -->
+    <!-- Used in controller, genius, infrautils, netconf, netvirt, ovsdb, serviceutils -->
     <karaf.version>4.2.0</karaf.version>
-    <!-- Used in sxp -->
-    <karaf.plugin.version>4.2.0</karaf.plugin.version>
-    <!-- Used in lispflowmapping, snmp4sdn, vtn -->
+    <!-- Used in bgpcep, lispflowmapping -->
     <projectinfo>2.8.1</projectinfo>
-    <!-- Used in of-config; see also snmp4sdn -->
-    <propertymavenplugin.version>1.0.0</propertymavenplugin.version>
 
     <!-- Supporting Libraries -->
     <!-- Only used internally -->
-    <bouncycastle.version>1.59</bouncycastle.version>
-
-    <!-- Used by snbi; see also bier, dlux, iotdm, tsdr, unimgr -->
-    <osgi.core.version>5.0.0</osgi.core.version>
+    <bouncycastle.version>1.60</bouncycastle.version>
 
     <!-- Default Sonar configuration -->
     <sonar-jacoco-listeners.version>3.8</sonar-jacoco-listeners.version>
         <groupId>com.puppycrawl.tools</groupId>
         <artifactId>checkstyle</artifactId>
         <!-- This should match the plugin management on maven-checkstyle-plugin below -->
-        <version>8.10</version>
+        <version>8.12</version>
       </dependency>
 
       <!-- Testing Dependencies -->
       <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
-        <version>4.11</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit-dep</artifactId>
+        <!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
         <version>4.11</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.mockito</groupId>
         <artifactId>mockito-core</artifactId>
-        <version>1.10.19</version>
+        <version>2.20.1</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.hamcrest</groupId>
         <artifactId>hamcrest-core</artifactId>
+        <!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
         <version>1.3</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>com.google.truth</groupId>
         <artifactId>truth</artifactId>
-        <version>0.41</version>
+        <!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
+        <version>0.42</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>com.google.truth.extensions</groupId>
         <artifactId>truth-java8-extension</artifactId>
-        <version>0.41</version>
+        <version>0.42</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <!-- Generates immutable implementations, builders, the works -->
         <groupId>org.immutables</groupId>
         <artifactId>value</artifactId>
-        <version>2.6.1</version>
+        <version>2.6.3</version>
         <!-- Must be provided; scope=test here breaks APT in Eclipse :( -->
         <scope>provided</scope>
       </dependency>
       <dependency>
         <groupId>com.google.guava</groupId>
         <artifactId>guava</artifactId>
-        <version>23.6.1-jre</version>
+        <!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
+        <version>25.1-jre</version>
         <exclusions>
           <exclusion>
             <groupId>com.google.code.findbugs</groupId>
       <dependency>
         <groupId>com.google.guava</groupId>
         <artifactId>guava-testlib</artifactId>
-        <version>23.6.1-jre</version>
+        <version>25.1-jre</version>
         <scope>test</scope>
         <exclusions>
           <exclusion>
       <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-lang3</artifactId>
-        <version>3.7</version>
+        <!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
+        <version>3.8</version>
       </dependency>
       <dependency>
         <groupId>org.apache.commons</groupId>
       <dependency>
         <groupId>commons-lang</groupId>
         <artifactId>commons-lang</artifactId>
+        <!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
         <version>2.6</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-all</artifactId>
         <!-- If these are updated, the version in features.xml needs to be changed too -->
-        <version>4.1.24.Final</version>
+        <!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
+        <version>4.1.28.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-buffer</artifactId>
-        <version>4.1.24.Final</version>
+        <version>4.1.28.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-codec</artifactId>
-        <version>4.1.24.Final</version>
+        <version>4.1.28.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-codec-http</artifactId>
-        <version>4.1.24.Final</version>
+        <version>4.1.28.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-common</artifactId>
-        <version>4.1.24.Final</version>
+        <version>4.1.28.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-handler</artifactId>
-        <version>4.1.24.Final</version>
+        <version>4.1.28.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-transport</artifactId>
-        <version>4.1.24.Final</version>
+        <version>4.1.28.Final</version>
       </dependency>
       <!-- Here we need to define all available native epoll implementations; we can't limit ourselves to the build
       platform and we can't require the build platform to have an implementation (e.g. OS X) -->
         <groupId>io.netty</groupId>
         <artifactId>netty-transport-native-epoll</artifactId>
         <classifier>linux-x86_64</classifier>
-        <version>4.1.24.Final</version>
+        <version>4.1.28.Final</version>
       </dependency>
       <dependency>
         <groupId>javax.ws.rs</groupId>
       <dependency>
         <groupId>org.codehaus.enunciate</groupId>
         <artifactId>enunciate-core-annotations</artifactId>
-        <version>${enunciate.version}</version>
+        <!-- This must be aligned with the version of maven-enunciate-plugin specified below -->
+        <version>1.31</version>
         <exclusions>
           <exclusion>
             <!-- JSR 250 API has 6 very old versions of javax.annotation @PreDestroy & Co.
       <dependency>
         <groupId>org.javassist</groupId>
         <artifactId>javassist</artifactId>
-        <version>3.22.0-GA</version>
+        <version>3.23.1-GA</version>
       </dependency>
       <dependency>
         <groupId>org.jboss.spec.javax.transaction</groupId>
       <dependency>
         <groupId>org.jolokia</groupId>
         <artifactId>jolokia-osgi</artifactId>
-        <version>1.5.0</version>
+        <version>1.6.0</version>
       </dependency>
       <dependency>
         <groupId>org.json</groupId>
       <dependency>
         <groupId>org.osgi</groupId>
         <artifactId>org.osgi.compendium</artifactId>
-        <version>${osgi.core.version}</version>
+        <version>5.0.0</version>
         <scope>provided</scope>
       </dependency>
       <dependency>
         <groupId>org.osgi</groupId>
         <artifactId>org.osgi.core</artifactId>
-        <version>${osgi.core.version}</version>
+        <version>5.0.0</version>
         <scope>provided</scope>
       </dependency>
       <dependency>
       <dependency>
         <groupId>com.typesafe.akka</groupId>
         <artifactId>akka-actor_2.12</artifactId>
+        <!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
         <version>2.5.14</version>
       </dependency>
       <dependency>
         <artifactId>scala-parser-combinators_2.12</artifactId>
         <version>1.1.1</version>
       </dependency>
-      <dependency>
-        <groupId>org.iq80.leveldb</groupId>
-        <artifactId>leveldb</artifactId>
-        <version>0.7</version>
-      </dependency>
-      <dependency>
-        <groupId>org.fusesource.leveldbjni</groupId>
-        <artifactId>leveldbjni-all</artifactId>
-        <version>1.8-odl</version>
-      </dependency>
       <dependency>
         <groupId>org.uncommons.maths</groupId>
         <artifactId>uncommons-maths</artifactId>
       <dependency>
         <groupId>org.ops4j.pax.url</groupId>
         <artifactId>pax-url-link</artifactId>
-        <version>2.5.3</version>
+        <version>2.5.4</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.url</groupId>
         <artifactId>pax-url-aether</artifactId>
-        <version>2.5.3</version>
+        <version>2.5.4</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.url</groupId>
         <artifactId>pax-url-wrap</artifactId>
-        <version>2.5.3</version>
+        <version>2.5.4</version>
       </dependency>
 
       <dependency>
         <version>1.2.1</version>
         <scope>test</scope>
       </dependency>
+
       <dependency>
-        <groupId>xmlunit</groupId>
-        <artifactId>xmlunit</artifactId>
-        <version>1.6</version>
+        <groupId>org.xmlunit</groupId>
+        <artifactId>xmlunit-core</artifactId>
+        <version>2.6.0</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.xmlunit</groupId>
+        <artifactId>xmlunit-matchers</artifactId>
+        <version>2.6.0</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>
         <scope>test</scope>
       </dependency>
 
   </dependencyManagement>
 
   <dependencies>
-    <!-- Karaf provides SL4FJ encapsulation -->
+    <!--
+         We expect slf4j-api to be provided by the platform.
+         Karaf provides it, other containers need to provide it themselves.
+    -->
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
       <scope>provided</scope>
     </dependency>
 
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-simple</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-    <!-- Enable useful code quality annotations everywhere -->
+    <!--
+          Enable useful code quality annotations everywhere. Since these annotations
+          are not required at runtime.
+    -->
     <dependency>
       <groupId>com.google.code.findbugs</groupId>
       <artifactId>annotations</artifactId>
       <artifactId>org.eclipse.jdt.annotation</artifactId>
       <scope>provided</scope>
     </dependency>
+
+    <!--
+          Testing output should be routed through slf4j-simple.
+    -->
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-simple</artifactId>
+      <scope>test</scope>
+    </dependency>
+
+    <!--
+          Unit tests can use JUnit + Mockito + Hamcrest by default.
+    -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
               <groupId>com.puppycrawl.tools</groupId>
               <artifactId>checkstyle</artifactId>
               <!-- This should match the dependency management on com.puppycrawl.tools:checkstyle above -->
-              <version>8.10.1</version>
+              <version>8.12</version>
             </dependency>
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
             <dependency>
               <groupId>com.github.sevntu-checkstyle</groupId>
               <artifactId>sevntu-checkstyle-maven-plugin</artifactId>
-              <version>1.29.0</version>
+              <version>1.32.0</version>
             </dependency>
           </dependencies>
           <configuration>
         </plugin>
         <plugin>
           <artifactId>maven-compiler-plugin</artifactId>
-          <version>${maven.compile.plugin.version}</version>
+          <version>3.7.0</version>
           <configuration>
             <source>1.8</source>
             <target>1.8</target>
         </plugin>
         <plugin>
           <artifactId>maven-failsafe-plugin</artifactId>
-          <version>${failsafe.version}</version>
+          <version>2.20.1</version>
         </plugin>
         <plugin>
           <artifactId>maven-invoker-plugin</artifactId>
 
         <plugin>
           <artifactId>maven-plugin-plugin</artifactId>
-          <version>${maven.plugin.version}</version>
+          <version>3.5</version>
         </plugin>
 
         <plugin>
         </plugin>
         <plugin>
           <artifactId>maven-surefire-plugin</artifactId>
-          <version>${maven.surefire.version}</version>
+          <version>2.18.1</version>
           <configuration>
             <redirectTestOutputToFile>true</redirectTestOutputToFile>
             <trimStackTrace>false</trimStackTrace>
         <plugin>
           <groupId>org.codehaus.enunciate</groupId>
           <artifactId>maven-enunciate-plugin</artifactId>
-          <version>${enunciate.version}</version>
+          <!-- This must be aligned with the version of enunciate-core-annotations specified above -->
+          <version>1.31</version>
         </plugin>
         <plugin>
           <groupId>org.codehaus.groovy.maven</groupId>
         <plugin>
           <groupId>com.github.spotbugs</groupId>
           <artifactId>spotbugs-maven-plugin</artifactId>
-          <version>3.1.5</version>
+          <version>3.1.6</version>
           <dependencies>
             <dependency>
               <groupId>com.github.spotbugs</groupId>
               <artifactId>spotbugs</artifactId>
-              <version>3.1.5</version>
+              <version>3.1.6</version>
             </dependency>
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>properties-maven-plugin</artifactId>
-          <version>${propertymavenplugin.version}</version>
+          <version>1.0.0</version>
         </plugin>
         <plugin>
           <groupId>org.eclipse.xtend</groupId>