Add jacoco definition to lifecycle plugin
[odlparent.git] / odlparent / pom.xml
index 80565e3dd10f10b35614c3fa732a647c0a1853ab..ee37a401a57ff7326c43c95d5c9532575cb47c34 100644 (file)
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.6.0-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <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>
     <url>https://wiki.opendaylight.org/view/ODL_Root_Parent:Main</url>
   </scm>
 
-  <prerequisites>
-    <!-- This is only used to prevent building with Maven < 3 and to appease
-         maven-dependency-plugin; our real Maven requirement is enforced by
-         the enforcer plugin. -->
-    <maven>3.0.5</maven>
-  </prerequisites>
-
   <!-- Variables should only be used where genuinely useful (to avoid
        repetition); in general versions should be specified in the
        corresponding dependencyManagement or pluginManagement element, not as
-       a variable. -->
+       a variable. Duplication within odlparent doesn't count if it can be
+       managed using maven-versions-plugin. -->
   <properties>
     <nexus.repository.release>opendaylight.release</nexus.repository.release>
     <nexus.repository.snapshot>opendaylight.snapshot</nexus.repository.snapshot>
@@ -48,8 +43,8 @@
 
     <!-- Java Versions -->
     <!-- FIXME: confirm these two are picked by maven-compiler-plugin -->
-    <maven.compiler.source>1.7</maven.compiler.source>
-    <maven.compiler.target>1.7</maven.compiler.target>
+    <maven.compiler.source>1.8</maven.compiler.source>
+    <maven.compiler.target>1.8</maven.compiler.target>
     <java.version.source>${maven.compiler.source}</java.version.source>
     <java.version.target>${maven.compiler.target}</java.version.target>
 
@@ -68,8 +63,8 @@
     <bundle.plugin.version>${maven.bundle.version}</bundle.plugin.version>
     <checkstyle.version>2.16</checkstyle.version>
     <compiler.version>${maven.compile.plugin.version}</compiler.version>
-    <enforcer.version>1.4</enforcer.version>
-    <enunciate.version>1.30.1</enunciate.version> <!-- Needs to remain exported, as its used for dependencies, too -->
+    <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 -->
     <failsafe.version>2.18.1</failsafe.version>
     <gmaven.plugin.version>1.0</gmaven.plugin.version>
     <jacoco.version>0.7.2.201409121644</jacoco.version>
     <jar.plugin.version>${maven.jar.version}</jar.plugin.version>
     <karaf.version>3.0.3</karaf.version> <!-- Needs to remain exported, as its used for dependencies, too -->
-    <projectinfo>2.6</projectinfo>
+    <projectinfo>2.8.1</projectinfo>
     <propertymavenplugin.version>1.0-alpha-2</propertymavenplugin.version>
     <releaseplugin.version>${maven.release.version}</releaseplugin.version>
-    <odl.checkstyle.version>0.1.0-SNAPSHOT</odl.checkstyle.version>
+    <odl.checkstyle.version>0.2.0-SNAPSHOT</odl.checkstyle.version>
 
     <!-- Supporting Libraries -->
-    <aopalliance.version>1.0.0</aopalliance.version>
-    <aries.util.version>1.1.0</aries.util.version>
-    <asm.version>4.1</asm.version>
-    <bouncycastle.version>1.52</bouncycastle.version>
-    <commons.codec.version>1.10</commons.codec.version>
-    <commons.fileupload.version>1.3.1</commons.fileupload.version>
-    <commons.io.version>2.4</commons.io.version>
-    <commons.lang3.version>3.4</commons.lang3.version>
-    <commons.lang.version>2.6</commons.lang.version>
-    <commons.net.version>3.3</commons.net.version>
-    <corsfilter.version>7.0.42</corsfilter.version>
-    <ctrie.version>0.2.23</ctrie.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 -->
-    <eclipse.persistence.version>2.5.2</eclipse.persistence.version>
-    <feature.transaction.version>1.0.1</feature.transaction.version>
-    <felix.dependencymanager.shell.version>3.0.1</felix.dependencymanager.shell.version>
-    <felix.dependencymanager.version>3.1.0</felix.dependencymanager.version>
-    <felix.fileinstall.version>3.1.6</felix.fileinstall.version>
-    <felix.webconsole.version>4.2.0</felix.webconsole.version>
-    <geminiweb.version>2.2.0.RELEASE</geminiweb.version>
-    <groovy.version>2.1.6</groovy.version>
-    <gson.version>2.3.1</gson.version>
+    <!-- Used by controller -->
+    <bouncycastle.version>1.54</bouncycastle.version>
+    <!-- Used by persistence, snmp4sdn; see also didm -->
     <guava.version>18.0</guava.version>
-    <hamcrest.version>1.3</hamcrest.version>
+    <!-- Used by alto; see also affinity, defense4all, integration/distribution, snmp4sdn, toolkit, ttp -->
     <jackson.version>2.3.2</jackson.version>
+    <!-- Used by snmp4sdn -->
     <javassist.version>3.20.0-GA</javassist.version>
-    <javax.annotation.version>1.2</javax.annotation.version>
-    <jaxrs-api.version>3.0.4.Final</jaxrs-api.version>
 
     <!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
-    <jersey-servlet.version>1.17</jersey-servlet.version>
+    <!-- Used by alto, centinel, tsdr; see also affinity, defense4all, nemo, snmp4sdn, toolkit -->
     <jersey.version>1.17</jersey.version>
-    <jersey.client.version>1.17</jersey.client.version>
-    <jersey.server.version>1.17</jersey.server.version>
-    <jersey-servlet.version>1.17</jersey-servlet.version>
 
-    <!-- New packages for jersey migration 1.17 to 2.8 -->
-    <javax.annotation.version>1.2</javax.annotation.version>
-    <javax.ws.rs-api.version>2.0.1</javax.ws.rs-api.version>
-    <jersey2.version>2.8</jersey2.version>
-    <javax.servlet.api.version>3.0.1</javax.servlet.api.version>
-    <!-- appache.geronimo.bundle for DocGen -->
+    <!-- Used by centinel -->
     <org.json.version>20131018</org.json.version>
-    <apache.geronimo.version>20090211_1</apache.geronimo.version>
 
-    <jersey2.publisher.version>4.0</jersey2.publisher.version>
+    <!-- Used by centinel -->
     <jettison.version>1.3.7</jettison.version>
-    <jolokia.version>1.3.1</jolokia.version>
-    <jsonassert.version>1.2.3</jsonassert.version>
+    <!-- Used by persistence -->
     <jsr305.api.version>3.0.0</jsr305.api.version>
-    <jsr311.api.version>1.1.1</jsr311.api.version>
-    <jsr311.v2.api.version>2.0</jsr311.v2.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 by nic, persistence, tsdr; see also nemo -->
     <junit.version>4.11</junit.version>
+    <!-- Used by snmp4sdn; see also affinity, toolkit -->
     <logback.version>1.1.3</logback.version>
-    <mockito.version>1.9.5</mockito.version>
-    <netty.version>4.0.30.Final</netty.version>
-    <osgi.compendium.version>5.0.0</osgi.compendium.version>
+    <!-- Used by nic, tsdr -->
+    <mockito.version>1.10.19</mockito.version>
+    <!-- Used by alto, controller, didm, snbi; see also centinel, dlux, toolkit, tsdr -->
     <osgi.core.version>5.0.0</osgi.core.version>
+    <!-- Used by persistence, snmp4sdn; see also affinity, toolkit -->
     <slf4j.version>1.7.12</slf4j.version>
-    <spifly.version>1.0.0</spifly.version>
-    <spring-osgi.version>1.2.1</spring-osgi.version>
-    <spring-security-karaf.version>3.2.8.RELEASE</spring-security-karaf.version>
-    <spring-security.version>3.2.8.RELEASE</spring-security.version>
-    <spring.version>3.2.14.RELEASE</spring.version>
-    <txw2.version>20110809</txw2.version>
-    <url.version>1.5.0</url.version>
-    <virgo.version>3.6.0.RELEASE</virgo.version>
+
+    <akka.version>2.4.3</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>
 
   <dependencyManagement>
     <dependencies>
+
+      <dependency>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>odlparent-artifacts</artifactId>
+        <version>1.7.0-SNAPSHOT</version>
+        <scope>import</scope>
+        <type>pom</type>
+      </dependency>
+
       <!-- Testing Dependencies -->
+      <!-- JUnit, Hamcrest, Mockito and PowerMock need to be kept in sync -->
       <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>${junit.version}</version>
         <scope>test</scope>
       </dependency>
+      <dependency>
+        <groupId>junit</groupId>
+        <artifactId>junit-dep</artifactId>
+        <version>${junit.version}</version>
+        <scope>test</scope>
+      </dependency>
       <dependency>
          <groupId>org.skyscreamer</groupId>
          <artifactId>jsonassert</artifactId>
-         <version>${jsonassert.version}</version>
+         <version>1.2.3</version>
          <scope>test</scope>
       </dependency>
       <dependency>
       <dependency>
         <groupId>org.hamcrest</groupId>
         <artifactId>hamcrest-core</artifactId>
-        <version>${hamcrest.version}</version>
+        <version>1.3</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <version>${slf4j.version}</version>
         <scope>test</scope>
       </dependency>
+      <dependency>
+        <groupId>org.powermock</groupId>
+        <artifactId>powermock-api-mockito</artifactId>
+        <version>1.6.4</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.powermock</groupId>
+        <artifactId>powermock-api-support</artifactId>
+        <version>1.6.4</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.powermock</groupId>
+        <artifactId>powermock-core</artifactId>
+        <version>1.6.4</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.powermock</groupId>
+        <artifactId>powermock-module-junit4</artifactId>
+        <version>1.6.4</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.powermock</groupId>
+        <artifactId>powermock-reflect</artifactId>
+        <version>1.6.4</version>
+        <scope>test</scope>
+      </dependency>
       <!-- Supporting Libraries -->
       <dependency>
         <groupId>org.slf4j</groupId>
       <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>
         <groupId>javax.ws.rs</groupId>
         <artifactId>javax.ws.rs-api</artifactId>
-        <version>${javax.ws.rs-api.version}</version>
+        <version>2.0.1</version>
       </dependency>
       <dependency>
         <groupId>org.glassfish.jersey.bundles.repackaged</groupId>
         <artifactId>jersey-guava</artifactId>
-        <version>${jersey2.version}</version>
+        <version>2.8</version>
       </dependency>
       <dependency>
         <groupId>com.eclipsesource.jaxrs</groupId>
         <artifactId>jersey-all</artifactId>
-        <version>${jersey2.version}</version>
+        <version>2.8</version>
       </dependency>
 
       <!-- servlet 3.x support -->
       <dependency>
         <groupId>org.glassfish.jersey.containers</groupId>
         <artifactId>jersey-container-servlet</artifactId>
-        <version>${jersey2.version}</version>
+        <version>2.8</version>
       </dependency>
       <dependency>
         <groupId>org.apache.geronimo.bundles</groupId>
         <artifactId>json</artifactId>
-        <version>${apache.geronimo.version}</version>
+        <version>20090211_1</version>
       </dependency>
       <!-- FIXME : remove all dependencies for jersey 1.7 -->
       <dependency>
         <artifactId>jersey-core</artifactId>
         <version>${jersey.version}</version>
       </dependency>
+      <dependency>
+        <groupId>com.sun.jersey</groupId>
+        <artifactId>jersey-json</artifactId>
+        <version>${jersey.version}</version>
+      </dependency>
       <dependency>
         <groupId>com.sun.jersey</groupId>
         <artifactId>jersey-server</artifactId>
         <version>${jersey.version}</version>
       </dependency>
+      <dependency>
+        <groupId>com.sun.jersey</groupId>
+        <artifactId>jersey-servlet</artifactId>
+        <version>${jersey.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.sun.jersey.jersey-test-framework</groupId>
+        <artifactId>jersey-test-framework-grizzly2</artifactId>
+        <version>${jersey.version}</version>
+        <scope>test</scope>
+      </dependency>
       <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>
         <artifactId>com.sun.jersey.jersey-servlet</artifactId>
-        <version>${jersey-servlet.version}</version>
+        <version>1.17</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.shiro</groupId>
+        <artifactId>shiro-core</artifactId>
+        <version>1.2.4</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.shiro</groupId>
+        <artifactId>shiro-web</artifactId>
+        <version>1.2.4</version>
       </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>org.jboss.resteasy</groupId>
           <artifactId>jaxrs-api</artifactId>
-          <version>${jaxrs-api.version}</version>
+          <version>3.0.4.Final</version>
       </dependency>
 
       <dependency>
       <dependency>
         <groupId>com.sun.xml.txw2</groupId>
         <artifactId>txw2</artifactId>
-        <version>${txw2.version}</version>
+        <version>20110809</version>
       </dependency>
       <dependency>
         <groupId>com.github.romix</groupId>
         <artifactId>java-concurrent-hash-trie-map</artifactId>
-        <version>${ctrie.version}</version>
+        <version>0.2.23</version>
       </dependency>
       <dependency>
         <groupId>com.google.code.findbugs</groupId>
       <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>
         <artifactId>commons-fileupload</artifactId>
-        <version>${commons.fileupload.version}</version>
+        <version>1.3.1</version>
       </dependency>
       <dependency>
         <groupId>commons-io</groupId>
         <artifactId>commons-io</artifactId>
-        <version>${commons.io.version}</version>
+        <version>2.4</version>
       </dependency>
       <dependency>
         <groupId>commons-net</groupId>
         <artifactId>commons-net</artifactId>
-        <version>${commons.net.version}</version>
+        <version>3.4</version>
       </dependency>
       <dependency>
         <groupId>eclipselink</groupId>
       </dependency>
       <dependency>
         <groupId>equinoxSDK381</groupId>
+        <artifactId>org.eclipse.osgi.services</artifactId>
+        <version>3.3.100.v20120522-1822</version>
+      </dependency>
+
+      <dependency>
+        <groupId>org.eclipse.tycho</groupId>
         <artifactId>org.eclipse.osgi</artifactId>
-        <version>3.8.1.v20120830-144521</version>
+        <version>3.9.1.v20130814-1242</version>
       </dependency>
+      <!-- FIXME: remove once all users migrate to org.eclipse.tycho -->
       <dependency>
         <groupId>equinoxSDK381</groupId>
-        <artifactId>org.eclipse.osgi.services</artifactId>
-        <version>3.3.100.v20120522-1822</version>
+        <artifactId>org.eclipse.osgi</artifactId>
+        <version>3.8.1.v20120830-144521</version>
       </dependency>
+
       <!-- Gemini Web -->
       <dependency>
         <groupId>geminiweb</groupId>
         <artifactId>org.eclipse.gemini.web.core</artifactId>
-        <version>${geminiweb.version}</version>
+        <version>2.2.0.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>geminiweb</groupId>
         <artifactId>org.eclipse.gemini.web.extender</artifactId>
-        <version>${geminiweb.version}</version>
+        <version>2.2.0.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>geminiweb</groupId>
         <artifactId>org.eclipse.gemini.web.tomcat</artifactId>
-        <version>${geminiweb.version}</version>
+        <version>2.2.0.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>geminiweb</groupId>
         <artifactId>org.eclipse.virgo.kernel.equinox.extensions</artifactId>
-        <version>${virgo.version}</version>
+        <version>3.6.0.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>geminiweb</groupId>
         <artifactId>org.eclipse.virgo.util.common</artifactId>
-        <version>${virgo.version}</version>
+        <version>3.6.0.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>geminiweb</groupId>
         <artifactId>org.eclipse.virgo.util.io</artifactId>
-        <version>${virgo.version}</version>
+        <version>3.6.0.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>geminiweb</groupId>
         <artifactId>org.eclipse.virgo.util.math</artifactId>
-        <version>${virgo.version}</version>
+        <version>3.6.0.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>geminiweb</groupId>
         <artifactId>org.eclipse.virgo.util.osgi</artifactId>
-        <version>${virgo.version}</version>
+        <version>3.6.0.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>geminiweb</groupId>
         <artifactId>org.eclipse.virgo.util.osgi.manifest</artifactId>
-        <version>${virgo.version}</version>
+        <version>3.6.0.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>geminiweb</groupId>
         <artifactId>org.eclipse.virgo.util.parser.manifest</artifactId>
-        <version>${virgo.version}</version>
+        <version>3.6.0.RELEASE</version>
+      </dependency>
+      <!-- Netty -->
+      <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.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>
         <artifactId>jsr311-api</artifactId>
-        <version>${jsr311.api.version}</version>
+        <version>1.1.1</version>
       </dependency>
       <dependency>
         <groupId>orbit</groupId>
       <dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>javax.servlet-api</artifactId>
-        <version>${javax.servlet.api.version}</version>
+        <version>3.0.1</version>
       </dependency>
       <dependency>
         <groupId>orbit</groupId>
       <dependency>
         <groupId>org.aopalliance</groupId>
         <artifactId>com.springsource.org.aopalliance</artifactId>
-        <version>${aopalliance.version}</version>
+        <version>1.0.0</version>
       </dependency>
       <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.dependencymanager.shell</artifactId>
-        <version>${felix.dependencymanager.shell.version}</version>
+        <version>3.0.1</version>
       </dependency>
       <dependency>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.fileinstall</artifactId>
-        <version>${felix.fileinstall.version}</version>
+        <version>3.1.6</version>
       </dependency>
       <!-- felix webconsole -->
       <dependency>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.webconsole</artifactId>
-        <version>${felix.webconsole.version}</version>
+        <version>4.2.0</version>
         <!-- the all bundle includes all the necessary plugins -->
         <classifier>all</classifier>
       </dependency>
         <artifactId>enunciate-core-annotations</artifactId>
         <version>${enunciate.version}</version>
       </dependency>
+      <dependency>
+        <groupId>com.webcohesion.enunciate</groupId>
+        <artifactId>enunciate-core-annotations</artifactId>
+        <version>2.1.1</version>
+      </dependency>
       <dependency>
         <groupId>org.codehaus.jettison</groupId>
         <artifactId>jettison</artifactId>
         <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>${jolokia.version}</version>
+        <version>1.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.json</groupId>
       <dependency>
         <groupId>org.osgi</groupId>
         <artifactId>org.osgi.compendium</artifactId>
-        <version>${osgi.compendium.version}</version>
+        <version>5.0.0</version>
         <scope>provided</scope>
       </dependency>
       <dependency>
       <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>3.2.14.RELEASE</version>
       </dependency>
       <!-- Spring security -->
       <dependency>
         <groupId>org.springframework.security</groupId>
         <artifactId>spring-security-config</artifactId>
-        <version>${spring-security.version}</version>
+        <version>3.2.8.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>org.springframework.security</groupId>
         <artifactId>spring-security-core</artifactId>
-        <version>${spring-security.version}</version>
+        <version>3.2.8.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>org.springframework.security</groupId>
         <artifactId>spring-security-taglibs</artifactId>
-        <version>${spring-security.version}</version>
+        <version>3.2.8.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>org.springframework.security</groupId>
         <artifactId>spring-security-web</artifactId>
-        <version>${spring-security.version}</version>
+        <version>3.2.8.RELEASE</version>
       </dependency>
       <dependency>
         <groupId>virgomirror</groupId>
         <version>3.8.0.I20120518-2145</version>
       </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.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>com.lmax</groupId>
+        <artifactId>disruptor</artifactId>
+        <!-- If this is updated, the version in features.xml needs to be changed too -->
+        <version>3.3.2</version>
+      </dependency>
+
       <!-- Add Pax Exam -->
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
       <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>
-        <version>${spring-osgi.version}</version>
+        <version>1.2.1</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <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>
 
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
               <artifactId>odl-license</artifactId>
-              <version>0.0.1-SNAPSHOT</version>
+              <version>0.1.0-SNAPSHOT</version>
             </dependency>
           </dependencies>
           <configuration>
             <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
             <excludes>
               org/opendaylight/yang/gen/**,
-              **/config/yang/**,
               **/protobuff/messages/**,
               **/thrift/gen/*.java
             </excludes>
                 <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                 <excludes>
                   org/opendaylight/yang/gen/**,
-                  **/config/yang/**,
                   **/protobuff/messages/**,
                   **/thrift/gen/*.java
                 </excludes>
             </execution>
           </executions>
         </plugin>
-        <plugin>
-          <artifactId>maven-clean-plugin</artifactId>
-          <version>${maven.clean.plugin.version}</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-install-plugin</artifactId>
-          <version>2.5.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-deploy-plugin</artifactId>
-          <version>2.8.2</version>
-        </plugin>
         <plugin>
           <artifactId>maven-compiler-plugin</artifactId>
           <version>${maven.compile.plugin.version}</version>
+          <configuration>
+            <source>1.8</source>
+            <target>1.8</target>
+          </configuration>
         </plugin>
         <plugin>
           <artifactId>maven-enforcer-plugin</artifactId>
           <version>${failsafe.version}</version>
         </plugin>
         <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-invoker-plugin</artifactId>
           <version>2.0.0</version>
         </plugin>
         <plugin>
           <artifactId>maven-jar-plugin</artifactId>
-          <version>${jar.plugin.version}</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-javadoc-plugin</artifactId>
-          <version>${maven.javadoc.version}</version>
-          <configuration>
-            <!-- Keep things quiet except for warnings/errors -->
-            <quiet>true</quiet>
-          </configuration>
-          <executions>
-            <execution>
-              <id>attach-javadocs</id>
-              <goals>
-                <goal>jar</goal>
-              </goals>
-            </execution>
-          </executions>
+          <version>${maven.jar.version}</version>
         </plugin>
         <plugin>
           <artifactId>maven-release-plugin</artifactId>
           <version>${maven.release.version}</version>
         </plugin>
         <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-dependency-plugin</artifactId>
           <version>2.10</version>
           <executions>
                   <artifactItem>
                     <groupId>org.opendaylight.odlparent</groupId>
                     <artifactId>odl-license</artifactId>
-                    <version>0.0.1-SNAPSHOT</version>
+                    <version>0.1.0-SNAPSHOT</version>
                   </artifactItem>
                 </artifactItems>
                 <outputDirectory>${project.build.outputDirectory}</outputDirectory>
         </plugin>
 
         <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-plugin-plugin</artifactId>
           <version>${maven.plugin.version}</version>
         </plugin>
         <plugin>
           <artifactId>maven-surefire-plugin</artifactId>
           <version>${maven.surefire.version}</version>
+          <configuration>
+            <redirectTestOutputToFile>true</redirectTestOutputToFile>
+          </configuration>
         </plugin>
 
         <!-- Third-party plugins, grouped by groupId, alpha-sorted by artifactId -->
         <plugin>
           <groupId>org.apache.servicemix.tooling</groupId>
           <artifactId>depends-maven-plugin</artifactId>
-          <version>1.2</version>
+          <version>1.3.1</version>
           <executions>
             <execution>
               <id>generate-depends-file</id>
           <artifactId>maven-enunciate-plugin</artifactId>
           <version>${enunciate.version}</version>
         </plugin>
+        <plugin>
+          <groupId>com.webcohesion.enunciate</groupId>
+          <artifactId>enunciate-maven-plugin</artifactId>
+          <version>2.1.1</version>
+        </plugin>
         <plugin>
           <groupId>org.codehaus.groovy.maven</groupId>
           <artifactId>gmaven-plugin</artifactId>
           <artifactId>build-helper-maven-plugin</artifactId>
           <version>1.9.1</version>
         </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>findbugs-maven-plugin</artifactId>
+          <version>3.0.3</version>
+        </plugin>
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>properties-maven-plugin</artifactId>
                     <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>
           <artifactId>maven-paxexam-plugin</artifactId>
           <version>1.2.4</version>
         </plugin>
+
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>jdepend-maven-plugin</artifactId>
+          <version>2.0</version>
+          <executions>
+            <execution>
+              <phase>site</phase>
+              <goals>
+                <goal>generate-no-fork</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
       </plugins>
     </pluginManagement>
 
     <plugins>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-enforcer-plugin</artifactId>
         <executions>
           <execution>
         </executions>
       </plugin>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-dependency-plugin</artifactId>
       </plugin>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
       </plugin>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-source-plugin</artifactId>
       </plugin>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
       </plugin>
 
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>findbugs-maven-plugin</artifactId>
-        <version>3.0.1</version>
         <configuration>
           <effort>Max</effort>
           <threshold>Low</threshold>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>jdepend-maven-plugin</artifactId>
-        <version>2.0</version>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>generate-no-fork</report>
+            </reports>
+          </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>