Bug 5787 Upgrade for Jersey from 2.8 to 2.22.2, the latest version
[odlparent.git] / odlparent / pom.xml
index c5a13b5f49a43f4fe3fa94158459491fdf5f14fa..6c0c2cfbe2f602a0e29d056d9ebfea943132c565 100644 (file)
@@ -17,9 +17,9 @@
     <relativePath>../odlparent-lite</relativePath>
   </parent>
 
-  <groupId>org.opendaylight.odlparent</groupId>
   <artifactId>odlparent</artifactId>
   <packaging>pom</packaging>
+  <name>ODL :: odlparent :: ${project.artifactId}</name>
 
   <scm>
     <connection>scm:git:ssh://git.opendaylight.org:29418/odlparent.git</connection>
     <!-- Supporting Libraries -->
     <!-- Used by controller -->
     <bouncycastle.version>1.54</bouncycastle.version>
-    <!-- Used by aaa, vtn -->
-    <commons.codec.version>1.10</commons.codec.version>
-    <!-- Used by netconf, ovsdb -->
-    <commons.lang3.version>3.4</commons.lang3.version>
-    <!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
-    <commons.lang.version>2.6</commons.lang.version>
-    <!-- Used by neutron; see also controller, vtn -->
-    <commons.net.version>3.3</commons.net.version>
-    <!-- To upgrade to 2.6.0, we need to ensure all downstreams pull in javax.validation first
-         http://stackoverflow.com/questions/28568154/how-to-get-eclipselink-2-6-0-m3-working-with-jersey-1-18-3 -->
-    <!-- Used by neutron -->
-    <eclipse.persistence.version>2.5.2</eclipse.persistence.version>
-    <!-- Used by aaa -->
-    <felix.dependencymanager.version>3.1.0</felix.dependencymanager.version>
-    <!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
-    <gson.version>2.3.1</gson.version>
-    <!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
+    <!-- Used by persistence, snmp4sdn; see also didm -->
     <guava.version>18.0</guava.version>
-    <!-- Used by lispflowmapping, sxp, vtn/manager -->
-    <hamcrest.version>1.3</hamcrest.version>
-    <!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all, integration/distribution, snmp4sdn, toolkit, ttp -->
+    <!-- Used by alto; see also affinity, defense4all, integration/distribution, snmp4sdn, toolkit, ttp -->
     <jackson.version>2.3.2</jackson.version>
-    <!-- Used by snmp4sdn, yangtools -->
+    <!-- Used by snmp4sdn -->
     <javassist.version>3.20.0-GA</javassist.version>
 
     <!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
-    <!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
+    <!-- Used by alto, centinel, tsdr; see also affinity, defense4all, nemo, snmp4sdn, toolkit -->
     <jersey.version>1.17</jersey.version>
-    <!-- Used by sfc -->
-    <jersey.client.version>1.17</jersey.client.version>
 
-    <!-- New packages for jersey migration 1.17 to 2.8 -->
-    <!-- appache.geronimo.bundle for DocGen -->
-    <!-- Used by aaa, iotdm, netconf, ovsdb, sfc -->
+    <!-- Used by centinel -->
     <org.json.version>20131018</org.json.version>
 
-    <!-- Used by sfc -->
+    <!-- Used by centinel -->
     <jettison.version>1.3.7</jettison.version>
     <!-- Used by persistence -->
     <jsr305.api.version>3.0.0</jsr305.api.version>
     <!-- Need to stick to JUnit 4.11 until
          https://github.com/jayway/powermock/issues/560 is fixed (either in
          PowerMock or with a new JUnit release) -->
-    <!-- Used everywhere -->
+    <!-- Used by nic, persistence, tsdr; see also nemo -->
     <junit.version>4.11</junit.version>
-    <!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
-    <logback.version>1.1.5</logback.version>
-    <!-- Used by nic, sfc, sxp, tsdr -->
+    <!-- Used by snmp4sdn; see also affinity, toolkit -->
+    <logback.version>1.1.3</logback.version>
+    <!-- Used by nic, tsdr -->
     <mockito.version>1.10.19</mockito.version>
-    <!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
-    <netty.version>4.0.33.Final</netty.version>
-    <!-- Used by alto, controller, neutron, sfc, snbi; see also dlux, toolkit, tsdr -->
+    <!-- Used by alto, controller, didm, snbi; see also centinel, dlux, toolkit, tsdr -->
     <osgi.core.version>5.0.0</osgi.core.version>
-    <!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
+    <!-- Used by persistence, snmp4sdn; see also affinity, toolkit -->
     <slf4j.version>1.7.12</slf4j.version>
-    <!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
-    <spring.version>3.2.14.RELEASE</spring.version>
-    <!-- Used in odlparent only; see also affinity, snmp4sdn -->
-    <url.version>1.5.0</url.version>
+
+    <akka.version>2.4.4</akka.version>
+    <scala.version>2.11</scala.version>
+    <scala.micro.version>8</scala.micro.version>
+    <leveldb.version>0.7</leveldb.version>
 
     <!-- Default Sonar configuration -->
     <sonar-jacoco-listeners.version>2.4</sonar-jacoco-listeners.version>
       </dependency>
 
       <!-- Testing Dependencies -->
+      <!-- JUnit, Hamcrest, Mockito and PowerMock need to be kept in sync -->
       <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
       <dependency>
         <groupId>org.hamcrest</groupId>
         <artifactId>hamcrest-core</artifactId>
-        <version>${hamcrest.version}</version>
+        <version>1.3</version>
         <scope>test</scope>
       </dependency>
       <dependency>
       <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-lang3</artifactId>
-        <version>${commons.lang3.version}</version>
+        <version>3.4</version>
       </dependency>
       <dependency>
         <groupId>commons-lang</groupId>
         <artifactId>commons-lang</artifactId>
-        <version>${commons.lang.version}</version>
+        <version>2.6</version>
       </dependency>
       <dependency>
         <groupId>commons-codec</groupId>
         <artifactId>commons-codec</artifactId>
-        <version>${commons.codec.version}</version>
+        <version>1.10</version>
       </dependency>
       <!-- Jersey for JAXRS -->
       <dependency>
       <dependency>
         <groupId>org.glassfish.jersey.bundles.repackaged</groupId>
         <artifactId>jersey-guava</artifactId>
-        <version>2.8</version>
+        <version>2.22.2</version>
       </dependency>
       <dependency>
         <groupId>com.eclipsesource.jaxrs</groupId>
         <artifactId>jersey-all</artifactId>
-        <version>2.8</version>
+        <version>2.22.2</version>
       </dependency>
 
       <!-- servlet 3.x support -->
       <dependency>
         <groupId>com.sun.jersey</groupId>
         <artifactId>jersey-client</artifactId>
-        <version>${jersey.client.version}</version>
+        <version>${jersey.version}</version>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.controller.thirdparty</groupId>
       </dependency>
 
       <!-- Plugin integration -->
+      <dependency>
+        <groupId>net.java.dev.stax-utils</groupId>
+        <artifactId>stax-utils</artifactId>
+        <version>20070216</version>
+      </dependency>
       <dependency>
         <groupId>org.sonatype.plexus</groupId>
         <artifactId>plexus-build-api</artifactId>
       <dependency>
         <groupId>com.google.code.gson</groupId>
         <artifactId>gson</artifactId>
-        <version>${gson.version}</version>
+        <version>2.3.1</version>
       </dependency>
       <dependency>
         <groupId>commons-fileupload</groupId>
       <dependency>
         <groupId>commons-net</groupId>
         <artifactId>commons-net</artifactId>
-        <version>${commons.net.version}</version>
+        <version>3.4</version>
       </dependency>
       <dependency>
         <groupId>eclipselink</groupId>
         <artifactId>org.eclipse.virgo.util.parser.manifest</artifactId>
         <version>3.6.0.RELEASE</version>
       </dependency>
+      <!-- Netty -->
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-all</artifactId>
-        <version>${netty.version}</version>
+        <!-- If these are updated, the version in features.xml needs to be changed too -->
+        <version>4.0.36.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-buffer</artifactId>
-        <version>${netty.version}</version>
+        <version>4.0.36.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-codec</artifactId>
-        <version>${netty.version}</version>
+        <version>4.0.36.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-codec-http</artifactId>
-        <version>${netty.version}</version>
+        <version>4.0.36.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-common</artifactId>
-        <version>${netty.version}</version>
+        <version>4.0.36.Final</version>
       </dependency>
-      <!-- Netty -->
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-handler</artifactId>
-        <version>${netty.version}</version>
+        <version>4.0.36.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-transport</artifactId>
-        <version>${netty.version}</version>
+        <version>4.0.36.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) -->
+      <dependency>
+        <groupId>io.netty</groupId>
+        <artifactId>netty-transport-native-epoll</artifactId>
+        <classifier>linux-x86_64</classifier>
+        <version>4.0.36.Final</version>
       </dependency>
       <dependency>
         <groupId>javax.ws.rs</groupId>
       <dependency>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.dependencymanager</artifactId>
-        <version>${felix.dependencymanager.version}</version>
+        <version>3.1.0</version>
       </dependency>
       <dependency>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.fileinstall</artifactId>
         <version>3.1.6</version>
       </dependency>
+      <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.metatype</artifactId>
+        <version>1.1.2</version>
+      </dependency>
       <!-- felix webconsole -->
       <dependency>
         <groupId>org.apache.felix</groupId>
         <artifactId>servlet</artifactId>
         <version>1.0.0-v20070606</version>
       </dependency>
+      <!-- To upgrade org.eclipse.persistence dependencies to 2.6.0+, we need to ensure all downstreams consumers
+         pull in javax.validation first:
+         http://stackoverflow.com/questions/28568154/how-to-get-eclipselink-2-6-0-m3-working-with-jersey-1-18-3 -->
       <dependency>
         <groupId>org.eclipse.persistence</groupId>
         <artifactId>org.eclipse.persistence.antlr</artifactId>
-        <version>${eclipse.persistence.version}</version>
+        <version>2.5.2</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.persistence</groupId>
         <artifactId>org.eclipse.persistence.core</artifactId>
-        <version>${eclipse.persistence.version}</version>
+        <version>2.5.2</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.persistence</groupId>
         <artifactId>org.eclipse.persistence.moxy</artifactId>
-        <version>${eclipse.persistence.version}</version>
+        <version>2.5.2</version>
       </dependency>
       <dependency>
         <groupId>javax.validation</groupId>
       <dependency>
         <groupId>org.jolokia</groupId>
         <artifactId>jolokia-osgi</artifactId>
-        <version>1.3.2</version>
+        <version>1.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.json</groupId>
       <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-aop</artifactId>
-        <version>${spring.version}</version>
+        <version>3.2.14.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-beans</artifactId>
-        <version>${spring.version}</version>
+        <version>3.2.14.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-context</artifactId>
-        <version>${spring.version}</version>
+        <version>3.2.14.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-core</artifactId>
-        <version>${spring.version}</version>
+        <version>3.2.14.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-expression</artifactId>
-        <version>${spring.version}</version>
+        <version>3.2.14.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-tx</artifactId>
-        <version>${spring.version}</version>
+        <version>3.2.14.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-web</artifactId>
-        <version>${spring.version}</version>
+        <version>3.2.14.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-webmvc</artifactId>
-        <version>${spring.version}</version>
+        <version>3.2.14.RELEASE</version>
       </dependency>
       <!-- Spring security -->
       <dependency>
       </dependency>
 
       <!-- Configuration library -->
+      <!-- This needs to be kept in sync with the version used by akka -->
       <dependency>
         <groupId>com.typesafe</groupId>
         <artifactId>config</artifactId>
-        <version>1.2.1</version>
+        <version>1.3.0</version>
+      </dependency>
+
+      <!-- Akka -->
+      <dependency>
+        <groupId>com.typesafe.akka</groupId>
+        <artifactId>akka-actor_${scala.version}</artifactId>
+        <version>${akka.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.typesafe.akka</groupId>
+        <artifactId>akka-cluster_${scala.version}</artifactId>
+        <version>${akka.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.typesafe.akka</groupId>
+        <artifactId>akka-persistence_${scala.version}</artifactId>
+        <version>${akka.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.typesafe.akka</groupId>
+        <artifactId>akka-protobuf_${scala.version}</artifactId>
+        <version>${akka.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.typesafe.akka</groupId>
+        <artifactId>akka-remote_${scala.version}</artifactId>
+        <version>${akka.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.typesafe.akka</groupId>
+        <artifactId>akka-testkit_${scala.version}</artifactId>
+        <version>${akka.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.typesafe.akka</groupId>
+        <artifactId>akka-osgi_${scala.version}</artifactId>
+        <version>${akka.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.typesafe.akka</groupId>
+        <artifactId>akka-slf4j_${scala.version}</artifactId>
+        <version>${akka.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.scala-lang.modules</groupId>
+        <artifactId>scala-java8-compat_${scala.version}</artifactId>
+        <version>0.7.0</version>
+      </dependency>
+      <dependency>
+        <groupId>org.iq80.leveldb</groupId>
+        <artifactId>leveldb</artifactId>
+        <version>${leveldb.version}</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>
+        <version>1.2.2a</version>
+      </dependency>
+      <dependency>
+        <groupId>com.google.protobuf</groupId>
+        <artifactId>protobuf-java</artifactId>
+        <version>2.5.0</version>
+      </dependency>
+
+      <!-- Scala -->
+      <dependency>
+        <groupId>org.scala-lang</groupId>
+        <artifactId>scala-library</artifactId>
+        <version>${scala.version}.${scala.micro.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.scala-lang</groupId>
+        <artifactId>scala-reflect</artifactId>
+        <version>${scala.version}.${scala.micro.version}</version>
       </dependency>
 
       <!-- LMAX Disruptor -->
       <dependency>
         <groupId>org.ops4j.pax.url</groupId>
         <artifactId>pax-url-aether</artifactId>
-        <version>${url.version}</version>
+        <version>1.5.0</version>
         <scope>test</scope>
       </dependency>
+      <dependency>
+        <groupId>org.ops4j.pax.url</groupId>
+        <artifactId>pax-url-wrap</artifactId>
+        <version>1.5.0</version>
+      </dependency>
       <dependency>
         <groupId>org.springframework.osgi</groupId>
         <artifactId>spring-osgi-mock</artifactId>
         <artifactId>jetty-servlets</artifactId>
         <version>8.1.14.v20131031</version>
       </dependency>
+      <dependency>
+        <groupId>org.apache.aries.blueprint</groupId>
+        <artifactId>org.apache.aries.blueprint.core</artifactId>
+        <version>1.4.2</version>
+      </dependency>
     </dependencies>
   </dependencyManagement>
 
                     <execute/>
                   </action>
                 </pluginExecution>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.jacoco</groupId>
+                    <artifactId>jacoco-maven-plugin</artifactId>
+                    <versionRange>[0.7.0,)</versionRange>
+                    <goals>
+                      <goal>prepare-agent</goal>
+                      <goal>report</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore/>
+                  </action>
+                </pluginExecution>
               </pluginExecutions>
             </lifecycleMappingMetadata>
           </configuration>
           </reportSet>
         </reportSets>
       </plugin>
+      <plugin>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <configuration>
+          <links>
+            <link>http://doc.akka.io/japi/akka/${akka.version}/</link>
+            <link>https://google.github.io/guava/releases/${guava.version}/api/docs/</link>
+            <link>http://netty.io/4.0/api/</link>
+          </links>
+        </configuration>
+      </plugin>
     </plugins>
   </reporting>