akka-testkit should be scoped to test
[odlparent.git] / odlparent / pom.xml
index 6d6da9f4f9f38345e9c0fa9f086b4c275a7cc68a..f90b09f939c91ee2a7d86c80d9bd4c6646e4a044 100644 (file)
     <java.version.target>${maven.compiler.target}</java.version.target>
 
     <!-- Maven plugin versions, in the 'canonical' format -->
+    <!-- Used in controller -->
     <maven.antrun.plugin.version>1.8</maven.antrun.plugin.version>
-    <maven.bundle.version>3.0.0</maven.bundle.version>
+    <!-- Used in controller, didm, neutron, openflowplugin, persistence; see also affinity -->
+    <maven.bundle.version>3.0.1</maven.bundle.version>
+    <!-- Used in sxp -->
     <maven.clean.plugin.version>2.6.1</maven.clean.plugin.version>
-    <maven.compile.plugin.version>3.3</maven.compile.plugin.version>
-    <maven.jar.version>2.6</maven.jar.version>
+    <!-- Used in controller, didm, l2switch, lacp, persistence; see also toolkit, tsdr, ttp -->
+    <maven.compile.plugin.version>3.5.1</maven.compile.plugin.version>
+    <!-- Used in mdsal, yangtools -->
+    <maven.jar.version>3.0.0</maven.jar.version>
+    <!-- Used in controller, coretutorials, mdsal, snbi, tcpmd5, yangtools -->
     <maven.javadoc.version>2.10.3</maven.javadoc.version>
+    <!-- Used in snmp -->
     <maven.plugin.version>3.4</maven.plugin.version>
-    <maven.release.version>2.5.2</maven.release.version>
+    <!-- Used in neutron, of-config, tcpmd5, tsdr, yangtools -->
+    <!-- Later versions break tests in downstream projects -->
     <maven.surefire.version>2.18.1</maven.surefire.version>
 
     <!-- Maven plugin versions, in random formats -->
+    <!-- Used in aaa, alto, controller, didm, tsdr; see also affinity, snmp4sdn, toolkit, ttp -->
     <bundle.plugin.version>${maven.bundle.version}</bundle.plugin.version>
-    <!-- Checkstyle 6.2 is the same as what the previous version 2.15 of maven-checkstyle-plugin used -->
-    <checkstyle.runtime.version>6.16</checkstyle.runtime.version>
-    <!-- TODO rename checkstyle.version to checkstyle.maven.plugin.version,
+    <!-- TODO rename checkstyle.version to checkstyle.(maven.)plugin.version,
          or just remove it, incl. all usages of it in a number of pom.xml; because normally,
          as maven-checkstyle-plugin is in pluginManagement, this should not have to be repeated. -->
-    <checkstyle.version>2.16</checkstyle.version>
+    <!-- Used in alto, controller, lacp, netide, openflowjava, packetcable, snmp4sdn, ttp; see also affinity, opendove,
+         toolkit -->
+    <checkstyle.version>2.17</checkstyle.version>
+    <!-- Used in controller, packetcable -->
     <odl.checkstyle.version>0.2.0-SNAPSHOT</odl.checkstyle.version>
+    <!-- Used in snmp4sdn; see also toolkit -->
     <compiler.version>${maven.compile.plugin.version}</compiler.version>
+    <!-- Used in controller, l2switch, netide, openflowjava, openflowplugin, snbi, tsdr, ttp; see also toolkit -->
     <enforcer.version>1.4.1</enforcer.version>
-    <enunciate.version>1.31</enunciate.version> <!-- Needs to remain exported, as its used for dependencies, too -->
-    <exam.version>4.4.0</exam.version> <!-- Needs to remain exported, as its used for dependencies, too -->
+    <!-- Used in affinity, controller, nemo, opendove, snmp4sdn -->
+    <enunciate.version>1.31</enunciate.version>
+    <!-- Used in affinity, coretutorials, netide -->
+    <exam.version>4.4.0</exam.version>
+    <!-- Used in affinity, controller, neutron, of-config; see also snmp4sdn -->
+    <!-- Later versions break tests in downstream projects -->
     <failsafe.version>2.18.1</failsafe.version>
-    <gmaven.plugin.version>1.0</gmaven.plugin.version>
     <!--
         Regression in jacoco-plugin 0.7.5 prevents us from upgrading to it
         http://jira.xwiki.org/browse/XCOMMONS-821
         that use PowerMock.
         https://github.com/jayway/powermock/issues/564
     -->
+    <!-- Used in controller, netvirt, neutron, of-config, ovsdb, persistence, snmp4sdn, vtn; see also usc -->
     <jacoco.version>0.7.2.201409121644</jacoco.version>
-    <jar.plugin.version>${maven.jar.version}</jar.plugin.version>
     <!-- Used in aaa, controller, coretutorials, integration/distribution, l2switch, lacp, lispflowmapping, netide,
          nic, openflowplugin, ovsdb, persistence, sfc, snbi, snmp4sdn?, sxp, topoprocessing, unimgr, vtn -->
     <karaf.version>3.0.6</karaf.version>
+    <!-- Used in lispflowmapping, snmp4sdn, vtn -->
     <projectinfo>2.8.1</projectinfo>
-    <propertymavenplugin.version>1.0-alpha-2</propertymavenplugin.version>
-    <releaseplugin.version>${maven.release.version}</releaseplugin.version>
+    <!-- Used in of-config; see also snmp4sdn -->
+    <propertymavenplugin.version>1.0.0</propertymavenplugin.version>
+    <!-- Used in topoprocessing; see also defense4all, snmp4sdn, toolkit -->
+    <releaseplugin.version>2.5.3</releaseplugin.version>
 
     <!-- Supporting Libraries -->
     <!-- Used by controller -->
     <!-- Used by controller, snbi; see also centinel, dlux, toolkit -->
     <osgi.core.version>5.0.0</osgi.core.version>
 
-    <akka.version>2.4.4</akka.version>
+    <akka.version>2.4.7</akka.version>
     <scala.version>2.11</scala.version>
     <scala.micro.version>8</scala.micro.version>
     <leveldb.version>0.7</leveldb.version>
       <dependency>
         <groupId>com.puppycrawl.tools</groupId>
         <artifactId>checkstyle</artifactId>
-        <version>${checkstyle.runtime.version}</version>
+        <!-- This should match the plugin management on maven-checkstyle-plugin below -->
+        <version>6.16</version>
       </dependency>
 
       <!-- Testing Dependencies -->
         <version>1.3</version>
         <scope>test</scope>
       </dependency>
+      <dependency>
+        <groupId>org.hamcrest</groupId>
+        <artifactId>hamcrest-library</artifactId>
+        <version>1.3</version>
+        <scope>test</scope>
+      </dependency>
       <dependency>
         <groupId>org.powermock</groupId>
         <artifactId>powermock-api-mockito</artifactId>
       <dependency>
         <groupId>xml-apis</groupId>
         <artifactId>xml-apis</artifactId>
-        <version>2.0.2</version>
+        <version>1.4.01</version>
+      </dependency>
+      <dependency>
+        <groupId>xerces</groupId>
+        <artifactId>xercesImpl</artifactId>
+        <version>2.11.0</version>
       </dependency>
       <dependency>
         <groupId>ch.qos.logback</groupId>
         <artifactId>guava</artifactId>
         <version>18.0</version>
       </dependency>
+      <dependency>
+        <groupId>com.google.guava</groupId>
+        <artifactId>guava-testlib</artifactId>
+        <version>18.0</version>
+        <scope>test</scope>
+      </dependency>
       <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-lang3</artifactId>
       <dependency>
         <groupId>org.apache.shiro</groupId>
         <artifactId>shiro-core</artifactId>
-        <version>1.2.4</version>
+        <version>1.2.5</version>
       </dependency>
       <dependency>
         <groupId>org.apache.shiro</groupId>
         <artifactId>shiro-web</artifactId>
-        <version>1.2.4</version>
+        <version>1.2.5</version>
       </dependency>
 
       <!-- Plugin integration -->
       <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-annotations</artifactId>
-        <version>2.7.4</version>
+        <version>2.3.2</version>
       </dependency>
       <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-core</artifactId>
-        <version>2.7.4</version>
+        <version>2.3.2</version>
       </dependency>
       <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-databind</artifactId>
-        <version>2.7.4</version>
+        <version>2.3.2</version>
       </dependency>
       <dependency>
         <groupId>com.fasterxml.jackson.datatype</groupId>
         <artifactId>jackson-datatype-json-org</artifactId>
-        <version>2.7.4</version>
+        <version>2.3.2</version>
       </dependency>
       <!-- TODO do we really need resteasy ? -->
       <dependency>
       <dependency>
         <groupId>com.fasterxml.jackson.jaxrs</groupId>
         <artifactId>jackson-jaxrs-base</artifactId>
-        <version>2.7.4</version>
+        <version>2.3.2</version>
       </dependency>
       <dependency>
         <groupId>com.fasterxml.jackson.jaxrs</groupId>
         <artifactId>jackson-jaxrs-json-provider</artifactId>
-        <version>2.7.4</version>
+        <version>2.3.2</version>
       </dependency>
       <dependency>
         <groupId>com.fasterxml.jackson.module</groupId>
         <artifactId>jackson-module-jaxb-annotations</artifactId>
-        <version>2.7.4</version>
+        <version>2.3.2</version>
       </dependency>
       <dependency>
         <groupId>com.sun.xml.txw2</groupId>
         <groupId>io.netty</groupId>
         <artifactId>netty-all</artifactId>
         <!-- If these are updated, the version in features.xml needs to be changed too -->
-        <version>4.0.36.Final</version>
+        <version>4.0.37.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-buffer</artifactId>
-        <version>4.0.36.Final</version>
+        <version>4.0.37.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-codec</artifactId>
-        <version>4.0.36.Final</version>
+        <version>4.0.37.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-codec-http</artifactId>
-        <version>4.0.36.Final</version>
+        <version>4.0.37.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-common</artifactId>
-        <version>4.0.36.Final</version>
+        <version>4.0.37.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-handler</artifactId>
-        <version>4.0.36.Final</version>
+        <version>4.0.37.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-transport</artifactId>
-        <version>4.0.36.Final</version>
+        <version>4.0.37.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.0.36.Final</version>
+        <version>4.0.37.Final</version>
       </dependency>
       <dependency>
         <groupId>javax.ws.rs</groupId>
       <dependency>
         <groupId>org.eclipse.persistence</groupId>
         <artifactId>org.eclipse.persistence.antlr</artifactId>
-        <version>2.5.2</version>
+        <version>2.6.2</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.persistence</groupId>
         <artifactId>org.eclipse.persistence.core</artifactId>
-        <version>2.5.2</version>
+        <version>2.6.2</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.persistence</groupId>
         <artifactId>org.eclipse.persistence.moxy</artifactId>
-        <version>2.5.2</version>
+        <version>2.6.2</version>
       </dependency>
       <dependency>
         <groupId>javax.validation</groupId>
         <groupId>com.typesafe.akka</groupId>
         <artifactId>akka-testkit_${scala.version}</artifactId>
         <version>${akka.version}</version>
+        <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>com.typesafe.akka</groupId>
         <artifactId>org.apache.aries.blueprint.core</artifactId>
         <version>1.4.2</version>
       </dependency>
+
+      <!-- Xtend http://xtend-lang.org
+           NOTE: When you increase the version here,
+           then remember to also increase it for the
+           xtend-maven-plugin below! (We don't want to
+           use a Maven property, in order not to "leak" that.)
+       -->
+      <dependency>
+          <groupId>org.eclipse.xtend</groupId>
+          <artifactId>org.eclipse.xtend.lib</artifactId>
+          <version>2.9.2</version>
+      </dependency>
+      <dependency>
+          <groupId>org.eclipse.xtend</groupId>
+          <artifactId>org.eclipse.xtend.lib.macro</artifactId>
+          <version>2.9.2</version>
+      </dependency>
+      <dependency>
+          <groupId>org.eclipse.xtext</groupId>
+          <artifactId>org.eclipse.xtext.xbase.lib</artifactId>
+          <version>2.9.2</version>
+      </dependency>
+
     </dependencies>
   </dependencyManagement>
 
             <dependency>
               <groupId>com.puppycrawl.tools</groupId>
               <artifactId>checkstyle</artifactId>
-              <version>${checkstyle.runtime.version}</version>
+              <!-- This should match the dependency management on com.puppycrawl.tools:checkstyle above -->
+              <version>6.16</version>
             </dependency>
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
           <artifactId>maven-jar-plugin</artifactId>
           <version>${maven.jar.version}</version>
         </plugin>
-        <plugin>
-          <artifactId>maven-release-plugin</artifactId>
-          <version>${maven.release.version}</version>
-        </plugin>
         <plugin>
           <artifactId>maven-dependency-plugin</artifactId>
           <version>2.10</version>
 
         <plugin>
           <artifactId>maven-resources-plugin</artifactId>
-          <version>2.7</version>
+          <version>3.0.1</version>
         </plugin>
         <plugin>
           <artifactId>maven-shade-plugin</artifactId>
-          <version>2.4.1</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-site-plugin</artifactId>
-          <version>3.4</version>
+          <version>2.4.3</version>
         </plugin>
         <plugin>
           <artifactId>maven-source-plugin</artifactId>
-          <version>2.4</version>
+          <version>3.0.0</version>
           <executions>
             <execution>
               <id>attach-sources</id>
+              <phase>verify</phase>
               <goals>
                 <goal>jar-no-fork</goal>
               </goals>
         <plugin>
           <groupId>org.codehaus.groovy.maven</groupId>
           <artifactId>gmaven-plugin</artifactId>
-          <version>${gmaven.plugin.version}</version>
+          <version>1.0</version>
         </plugin>
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>build-helper-maven-plugin</artifactId>
-          <version>1.9.1</version>
+          <version>1.10</version>
         </plugin>
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>properties-maven-plugin</artifactId>
           <version>${propertymavenplugin.version}</version>
         </plugin>
-
+        <plugin>
+          <groupId>org.eclipse.xtend</groupId>
+          <artifactId>xtend-maven-plugin</artifactId>
+          <!-- NOTE: This version MUST be kept in sync with the Xtend version in <dependencyManagement> -->
+          <version>2.9.2</version>
+          <executions>
+            <execution>
+              <goals>
+                <goal>compile</goal>
+                <goal>testCompile</goal>
+              </goals>
+              <configuration>
+                <outputDirectory>${project.build.directory}/generated-sources/xtend/main</outputDirectory>
+                <testOutputDirectory>${project.build.directory}/generated-sources/xtend/test</testOutputDirectory>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
         <plugin>
           <groupId>org.eclipse.m2e</groupId>
           <artifactId>lifecycle-mapping</artifactId>
             <id>enforce-maven</id>
             <configuration>
               <rules>
+                <requireJavaVersion>
+                  <version>1.8.0</version>
+                </requireJavaVersion>
                 <requireMavenVersion>
                   <version>3.1.1</version>
                 </requireMavenVersion>