Bump akka to 2.4.20
[odlparent.git] / odlparent / pom.xml
index 6c85fba4457c7a21fc895c250e0b2a59c4b31689..5f12309bd51459d29b498a4c80cd4d5d082f684d 100644 (file)
@@ -13,7 +13,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>1.8.0-SNAPSHOT</version>
+    <version>2.0.6-SNAPSHOT</version>
     <relativePath>../odlparent-lite</relativePath>
   </parent>
 
     <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>
     <!-- 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>
     <!-- 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.2</maven.jar.version>
+    <maven.compile.plugin.version>3.6.1</maven.compile.plugin.version>
     <!-- Used in controller, coretutorials, mdsal, snbi, yangtools -->
     <maven.javadoc.version>2.10.4</maven.javadoc.version>
     <!-- Used in snmp -->
@@ -76,7 +72,7 @@
          toolkit -->
     <checkstyle.version>2.17</checkstyle.version>
     <!-- Used in controller, packetcable -->
-    <odl.checkstyle.version>0.3.0-SNAPSHOT</odl.checkstyle.version>
+    <odl.checkstyle.version>2.0.3-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 -->
@@ -84,7 +80,7 @@
     <!-- Used in affinity, controller, nemo, opendove, snmp4sdn -->
     <enunciate.version>1.31</enunciate.version>
     <!-- Used in affinity, coretutorials, netide -->
-    <exam.version>4.9.2</exam.version>
+    <exam.version>4.11.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>
@@ -92,9 +88,8 @@
     <jacoco.version>0.7.7.201606060606</jacoco.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.8</karaf.version>
-    <karaf4.version>4.0.7</karaf4.version>
-    <karaf4.plugin.version>4.0.8-odl</karaf4.plugin.version>
+    <karaf.version>4.0.10</karaf.version>
+    <karaf.plugin.version>4.0.10</karaf.plugin.version>
     <!-- Used in lispflowmapping, snmp4sdn, vtn -->
     <projectinfo>2.8.1</projectinfo>
     <!-- Used in of-config; see also snmp4sdn -->
 
     <!-- Supporting Libraries -->
     <!-- Used by controller -->
-    <bouncycastle.version>1.55</bouncycastle.version>
+    <bouncycastle.version>1.57</bouncycastle.version>
 
     <!-- Used by controller, snbi; see also centinel, dlux, toolkit -->
     <osgi.core.version>5.0.0</osgi.core.version>
 
-    <akka.version>2.4.16</akka.version>
+    <akka.version>2.4.20</akka.version>
     <scala.version>2.11</scala.version>
-    <scala.micro.version>8</scala.micro.version>
+    <scala.micro.version>12</scala.micro.version>
     <leveldb.version>0.7</leveldb.version>
 
     <!-- Default Sonar configuration -->
       <dependency>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-artifacts</artifactId>
-        <version>1.8.0-SNAPSHOT</version>
+        <version>2.0.6-SNAPSHOT</version>
         <scope>import</scope>
         <type>pom</type>
       </dependency>
         <groupId>com.puppycrawl.tools</groupId>
         <artifactId>checkstyle</artifactId>
         <!-- This should match the plugin management on maven-checkstyle-plugin below -->
-        <version>6.16</version>
+        <version>7.6.1</version>
       </dependency>
 
       <!-- Testing Dependencies -->
          <version>1.3.0</version>
          <scope>test</scope>
       </dependency>
+      <!-- Bug 7662: TODO eventually remove mockito-all, because its use is now forbidden via a new rule of maven-enforcer-plugin below
+                     It wasn't immediately removed together with the introduction of the maven-enforcer-plugin, because while we transition
+                     to replace all uses of mockito-all by mockito-core in all of ODL downstream projects, its much clearer to get a
+                     maven-enforcer-plugin violation message than suddenly a confusing 'dependencies.dependency.version' for org.mockito:mockito-all:jar is missing  -->
       <dependency>
         <groupId>org.mockito</groupId>
         <!-- Bug 7662: @deprecated Do *NOT* use mockito-all, but *ALWAYS* only mockito-core; this should be removed, and non-usage enforced! -->
       <dependency>
         <groupId>ch.qos.logback</groupId>
         <artifactId>logback-core</artifactId>
-        <version>1.1.9</version>
+        <version>1.2.2</version>
       </dependency>
       <dependency>
         <groupId>ch.qos.logback</groupId>
         <artifactId>logback-classic</artifactId>
-        <version>1.1.9</version>
+        <version>1.2.2</version>
       </dependency>
       <dependency>
         <groupId>com.google.guava</groupId>
         <artifactId>guava</artifactId>
-        <version>18.0</version>
+        <version>22.0</version>
       </dependency>
       <dependency>
         <groupId>com.google.guava</groupId>
         <artifactId>guava-testlib</artifactId>
-        <version>18.0</version>
+        <version>22.0</version>
         <scope>test</scope>
       </dependency>
       <dependency>
       <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-lang3</artifactId>
-        <version>3.5</version>
+        <version>3.6</version>
       </dependency>
       <dependency>
         <groupId>commons-lang</groupId>
         <artifactId>plexus-slf4j-logging</artifactId>
         <version>1.1</version>
       </dependency>
+
+      <dependency>
+        <groupId>org.codehaus.woodstox</groupId>
+        <artifactId>stax2-api</artifactId>
+        <!-- Needs to match jackson's idea of import -->
+        <version>3.1.4</version>
+      </dependency>
       <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-annotations</artifactId>
         <version>2.3.2</version>
       </dependency>
       <dependency>
-        <groupId>com.fasterxml.jackson.datatype</groupId>
-        <artifactId>jackson-datatype-json-org</artifactId>
+        <groupId>com.fasterxml.jackson.dataformat</groupId>
+        <artifactId>jackson-dataformat-xml</artifactId>
         <version>2.3.2</version>
       </dependency>
-      <!-- TODO do we really need resteasy ? -->
       <dependency>
-          <groupId>org.jboss.resteasy</groupId>
-          <artifactId>jaxrs-api</artifactId>
-          <version>3.0.12.Final</version>
+        <groupId>com.fasterxml.jackson.datatype</groupId>
+        <artifactId>jackson-datatype-json-org</artifactId>
+        <version>2.3.2</version>
       </dependency>
-
       <dependency>
         <groupId>com.fasterxml.jackson.jaxrs</groupId>
         <artifactId>jackson-jaxrs-base</artifactId>
         <artifactId>jackson-module-jaxb-annotations</artifactId>
         <version>2.3.2</version>
       </dependency>
+
+      <!-- TODO do we really need resteasy ? -->
+      <dependency>
+        <groupId>org.jboss.resteasy</groupId>
+        <artifactId>jaxrs-api</artifactId>
+        <version>3.0.12.Final</version>
+      </dependency>
+
       <dependency>
         <groupId>com.sun.xml.txw2</groupId>
         <artifactId>txw2</artifactId>
       <dependency>
         <groupId>commons-net</groupId>
         <artifactId>commons-net</artifactId>
-        <version>3.5</version>
+        <version>3.6</version>
       </dependency>
       <dependency>
         <groupId>eclipselink</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.1.7.Final</version>
+        <version>4.1.8.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-buffer</artifactId>
-        <version>4.1.7.Final</version>
+        <version>4.1.8.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-codec</artifactId>
-        <version>4.1.7.Final</version>
+        <version>4.1.8.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-codec-http</artifactId>
-        <version>4.1.7.Final</version>
+        <version>4.1.8.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-common</artifactId>
-        <version>4.1.7.Final</version>
+        <version>4.1.8.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-handler</artifactId>
-        <version>4.1.7.Final</version>
+        <version>4.1.8.Final</version>
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-transport</artifactId>
-        <version>4.1.7.Final</version>
+        <version>4.1.8.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.7.Final</version>
+        <version>4.1.8.Final</version>
       </dependency>
       <dependency>
         <groupId>javax.ws.rs</groupId>
       <dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>javax.servlet-api</artifactId>
-        <version>3.0.1</version>
+        <version>3.1.0</version>
       </dependency>
       <dependency>
         <groupId>orbit</groupId>
         <artifactId>bcprov-jdk15on</artifactId>
         <version>${bouncycastle.version}</version>
       </dependency>
+      <dependency>
+        <groupId>org.bouncycastle</groupId>
+        <artifactId>bcprov-ext-jdk15on</artifactId>
+        <version>${bouncycastle.version}</version>
+      </dependency>
       <dependency>
         <groupId>org.codehaus.enunciate</groupId>
         <artifactId>enunciate-core-annotations</artifactId>
       <dependency>
         <groupId>org.jolokia</groupId>
         <artifactId>jolokia-osgi</artifactId>
-        <version>1.3.3</version>
+        <version>1.3.6</version>
       </dependency>
       <dependency>
         <groupId>org.json</groupId>
       <dependency>
         <groupId>org.osgi</groupId>
         <artifactId>org.osgi.compendium</artifactId>
-        <version>5.0.0</version>
+        <version>${osgi.core.version}</version>
         <scope>provided</scope>
       </dependency>
       <dependency>
         <version>${osgi.core.version}</version>
         <scope>provided</scope>
       </dependency>
+      <dependency>
+        <groupId>org.osgi</groupId>
+        <!-- for https://bugs.opendaylight.org/show_bug.cgi?id=4290 -->
+        <artifactId>org.osgi.service.event</artifactId>
+        <version>1.3.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.aries.quiesce</groupId>
+        <artifactId>org.apache.aries.quiesce.api</artifactId>
+        <version>1.0.0</version>
+      </dependency>
       <dependency>
         <groupId>org.ow2.asm</groupId>
         <artifactId>asm-all</artifactId>
       </dependency>
       <dependency>
         <groupId>com.typesafe.akka</groupId>
-        <artifactId>akka-distributed-data-experimental_${scala.version}</artifactId>
+        <artifactId>akka-osgi_${scala.version}</artifactId>
         <version>${akka.version}</version>
       </dependency>
       <dependency>
         <groupId>com.typesafe.akka</groupId>
-        <artifactId>akka-osgi_${scala.version}</artifactId>
+        <artifactId>akka-persistence_${scala.version}</artifactId>
         <version>${akka.version}</version>
       </dependency>
       <dependency>
         <groupId>com.typesafe.akka</groupId>
-        <artifactId>akka-persistence_${scala.version}</artifactId>
+        <artifactId>akka-persistence-tck_${scala.version}</artifactId>
         <version>${akka.version}</version>
+        <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>com.typesafe.akka</groupId>
       <!-- Aeron, required by Akka -->
       <dependency>
         <groupId>org.agrona</groupId>
-        <artifactId>Agrona</artifactId>
-        <version>0.9.1</version>
+        <artifactId>agrona</artifactId>
+        <version>0.9.5</version>
       </dependency>
       <dependency>
         <groupId>io.aeron</groupId>
         <artifactId>aeron-client</artifactId>
-        <version>1.0.5</version>
+        <version>1.2.5</version>
       </dependency>
       <dependency>
         <groupId>io.aeron</groupId>
         <artifactId>aeron-driver</artifactId>
-        <version>1.0.5</version>
+        <version>1.2.5</version>
       </dependency>
 
       <!-- Scala -->
         <version>${exam.version}</version>
         <scope>test</scope>
       </dependency>
+      <dependency>
+        <groupId>org.ops4j.pax.exam</groupId>
+        <artifactId>pax-exam-container-forked</artifactId>
+        <version>${exam.version}</version>
+        <scope>test</scope>
+      </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-container-karaf</artifactId>
         <version>${exam.version}</version>
         <scope>test</scope>
       </dependency>
+      <dependency>
+        <groupId>org.ops4j.pax.exam</groupId>
+        <artifactId>pax-exam-extender-service</artifactId>
+        <version>${exam.version}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.ops4j.pax.exam</groupId>
+        <artifactId>pax-exam-inject</artifactId>
+        <version>${exam.version}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.ops4j.pax.exam</groupId>
+        <artifactId>pax-exam-invoker-junit</artifactId>
+        <version>${exam.version}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.ops4j.pax.exam</groupId>
+        <artifactId>pax-exam-features</artifactId>
+        <version>${exam.version}</version>
+        <type>xml</type>
+        <scope>test</scope>
+      </dependency>
       <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-junit4</artifactId>
         <version>${exam.version}</version>
         <scope>test</scope>
       </dependency>
+      <dependency>
+        <groupId>org.ops4j.pax.exam</groupId>
+        <artifactId>pax-exam-link-assembly</artifactId>
+        <version>${exam.version}</version>
+        <scope>test</scope>
+      </dependency>
 
+      <dependency>
+        <groupId>org.ops4j.pax.url</groupId>
+        <artifactId>pax-url-link</artifactId>
+        <version>2.5.3</version>
+        <scope>test</scope>
+      </dependency>
       <dependency>
         <groupId>org.ops4j.pax.url</groupId>
         <artifactId>pax-url-aether</artifactId>
-        <version>2.5.1</version>
+        <version>2.5.3</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.ops4j.pax.url</groupId>
         <artifactId>pax-url-wrap</artifactId>
-        <version>2.5.1</version>
+        <version>2.5.3</version>
       </dependency>
+
       <dependency>
         <groupId>org.springframework.osgi</groupId>
         <artifactId>spring-osgi-mock</artifactId>
         <version>1.6</version>
         <scope>test</scope>
       </dependency>
+
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-client</artifactId>
-        <version>8.1.19.v20160209</version>
+        <version>9.2.19.v20160908</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-server</artifactId>
-        <version>8.1.19.v20160209</version>
+        <version>9.2.19.v20160908</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-servlet-tester</artifactId>
-        <version>8.1.19.v20160209</version>
+        <version>9.2.19.v20160908</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-servlets</artifactId>
-        <version>8.1.19.v20160209</version>
+        <version>9.2.19.v20160908</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-webapp</artifactId>
-        <version>8.1.19.v20160209</version>
+        <version>9.2.19.v20160908</version>
       </dependency>
+
       <dependency>
-        <groupId>org.apache.aries.blueprint</groupId>
-        <artifactId>org.apache.aries.blueprint.core</artifactId>
-        <version>1.4.2</version>
+        <groupId>com.h2database</groupId>
+        <artifactId>h2</artifactId>
+        <version>1.4.191</version>
       </dependency>
 
       <!-- Xtend http://xtend-lang.org
       <dependency>
           <groupId>org.eclipse.xtend</groupId>
           <artifactId>org.eclipse.xtend.lib</artifactId>
-          <version>2.11.0.RC2</version>
+          <version>2.12.0</version>
       </dependency>
       <dependency>
           <groupId>org.eclipse.xtend</groupId>
           <artifactId>org.eclipse.xtend.lib.macro</artifactId>
-          <version>2.11.0.RC2</version>
+          <version>2.12.0</version>
       </dependency>
       <dependency>
           <groupId>org.eclipse.xtext</groupId>
           <artifactId>org.eclipse.xtext.xbase.lib</artifactId>
-          <version>2.11.0.RC2</version>
+          <version>2.12.0</version>
       </dependency>
 
       <!-- Annotations -->
         <groupId>javax.inject</groupId>
         <artifactId>javax.inject</artifactId>
         <version>1</version>
+        <optional>true</optional>
+      </dependency>
+      <dependency>
+        <groupId>org.ops4j.pax.cdi</groupId>
+        <artifactId>pax-cdi-api</artifactId>
+        <version>1.0.0.RC2</version>
+        <optional>true</optional>
       </dependency>
 
       <!-- Cassandra -->
       </dependency>
 
       <!-- Karaf console support -->
+      <dependency>
+        <groupId>org.apache.karaf.shell</groupId>
+        <artifactId>org.apache.karaf.shell.core</artifactId>
+        <version>${karaf.version}</version>
+      </dependency>
       <dependency>
         <groupId>org.apache.karaf.shell</groupId>
         <artifactId>org.apache.karaf.shell.console</artifactId>
         <version>${karaf.version}</version>
       </dependency>
 
+      <!-- When updating this version, consider antl4-maven-plugin below -->
+      <dependency>
+        <groupId>org.antlr</groupId>
+        <artifactId>antlr4-runtime</artifactId>
+        <version>4.7</version>
+      </dependency>
+      <!-- Aries' Blueprint version should be kept in sync to the version actually
+           used by our ${karaf[4].version} ... please bump this when increasing that.
+           TODO Find a smarter way to inherit this from a (TBD..) Karaf artifacts BOM! -->
+      <dependency>
+        <groupId>org.apache.aries.blueprint</groupId>
+        <artifactId>org.apache.aries.blueprint.core</artifactId>
+        <version>1.7.1</version>
+      </dependency>
+
     </dependencies>
   </dependencyManagement>
 
              We do not need to specify the groupId. -->
         <plugin>
           <artifactId>maven-antrun-plugin</artifactId>
-          <version>${maven.antrun.plugin.version}</version>
+          <version>1.8</version>
         </plugin>
         <plugin>
           <artifactId>maven-checkstyle-plugin</artifactId>
               <groupId>com.puppycrawl.tools</groupId>
               <artifactId>checkstyle</artifactId>
               <!-- This should match the dependency management on com.puppycrawl.tools:checkstyle above -->
-              <version>6.16</version>
+              <version>7.6.1</version>
             </dependency>
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
               <artifactId>checkstyle</artifactId>
-              <version>${odl.checkstyle.version}</version>
+              <version>2.0.6-SNAPSHOT</version>
             </dependency>
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
               <artifactId>odl-license</artifactId>
-              <version>0.2.0-SNAPSHOT</version>
+              <version>2.0.6-SNAPSHOT</version>
             </dependency>
             <dependency>
               <groupId>com.github.sevntu.checkstyle</groupId>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-pmd-plugin</artifactId>
-          <version>3.6</version>
+          <version>3.8</version>
           <executions>
             <execution>
               <id>cpd</id>
         </plugin>
         <plugin>
           <artifactId>maven-jar-plugin</artifactId>
-          <version>${maven.jar.version}</version>
+          <version>3.0.2</version>
         </plugin>
         <plugin>
           <artifactId>maven-dependency-plugin</artifactId>
-          <version>2.10</version>
           <executions>
             <execution>
               <id>unpack-license</id>
                   <artifactItem>
                     <groupId>org.opendaylight.odlparent</groupId>
                     <artifactId>odl-license</artifactId>
-                    <version>0.2.0-SNAPSHOT</version>
+                    <version>2.0.6-SNAPSHOT</version>
                   </artifactItem>
                 </artifactItems>
                 <outputDirectory>${project.build.outputDirectory}</outputDirectory>
           <version>${maven.plugin.version}</version>
         </plugin>
 
+        <plugin>
+          <artifactId>maven-remote-resources-plugin</artifactId>
+          <version>1.5</version>
+        </plugin>
         <plugin>
           <artifactId>maven-resources-plugin</artifactId>
           <version>3.0.1</version>
               <!-- Note the '-' for git.properties.. this is required because git-commit-id-plugin has <failOnNoGitDirectory>false,
                    so that the build doesn't fail if there is no .../.git/ - so git.properties is effectively optional;
                    and so the '-' there is needed to make the maven-bundle-plugin if that resource is not present.  -->
-              <Include-Resource>{maven-resources},target/classes/LICENSE,META-INF/git.properties=-target/classes/META-INF/git.properties</Include-Resource>
+              <Include-Resource>{maven-resources},${project.build.directory}/classes/LICENSE,META-INF/git.properties=-${project.build.directory}/classes/META-INF/git.properties</Include-Resource>
             </instructions>
           </configuration>
         </plugin>
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
               <artifactId>findbugs</artifactId>
-              <version>1.8.0-SNAPSHOT</version>
+              <version>2.0.6-SNAPSHOT</version>
             </dependency>
           </dependencies>
           <configuration>
           <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.11.0.RC2</version>
+          <version>2.12.0</version>
           <executions>
             <execution>
               <goals>
             </execution>
           </executions>
         </plugin>
+
+        <!-- When updating this version, consider antl4-runtime above -->
+        <plugin>
+          <groupId>org.antlr</groupId>
+          <artifactId>antlr4-maven-plugin</artifactId>
+          <version>4.7</version>
+        </plugin>
       </plugins>
     </pluginManagement>
 
     <plugins>
+      <plugin>
+        <artifactId>maven-enforcer-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>enforce-banned-dependencies</id>
+            <goals>
+              <goal>enforce</goal>
+            </goals>
+            <configuration>
+              <rules>
+                <bannedDependencies>
+                  <message>Please always use mockito-core instead of mockito-all (https://bugs.opendaylight.org/show_bug.cgi?id=7662)</message>
+                  <excludes>
+                    <exclude>org.mockito:mockito-all</exclude>
+                  </excludes>
+                </bannedDependencies>
+              </rules>
+              <fail>true</fail>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
       <plugin>
         <artifactId>maven-dependency-plugin</artifactId>
       </plugin>
 
       <!-- Blueprint dependency injection -->
       <!-- Remove when upgrading to plugin 1.5.0, and use
-           <configuration><generatedDir>org/opendaylight/blueprint/</...></...> -->
-      <!-- See https://issues.apache.org/jira/browse/ARIES-1597 -->
+           <configuration><generatedDir>org/opendaylight/blueprint/</...></...>
+           See https://issues.apache.org/jira/browse/ARIES-1597
+           BUT beware that the directory is now conditional... -->
       <plugin>
         <artifactId>maven-antrun-plugin</artifactId>
         <executions>
             </goals>
             <configuration>
               <target>
-                <echo>Moving autowire.xml to org/opendaylight/blueprint</echo>
-                <move file="${project.build.directory}/generated-resources/OSGI-INF/blueprint/autowire.xml"
-                      todir="${project.build.directory}/generated-resources/org/opendaylight/blueprint"
-                      failonerror="false" quiet="true" />
+                <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
+                <if>
+                  <available file="${project.basedir}/src/main/resources/org/opendaylight/blueprint" type="dir"/>
+                  <then>
+                    <echo>Moving autowire.xml to org/opendaylight/blueprint</echo>
+                    <move file="${project.build.directory}/generated-resources/OSGI-INF/blueprint/autowire.xml"
+                          todir="${project.build.directory}/generated-resources/org/opendaylight/blueprint"
+                          failonerror="false" quiet="true" />
+                  </then>
+                  <else>
+                    <echo>NOT moving autowire.xml (to org/opendaylight/blueprint)</echo>
+                  </else>
+                </if>
               </target>
             </configuration>
           </execution>
             </goals>
             <configuration>
               <target>
-                <echo>Moving autowire.xml to org/opendaylight/blueprint</echo>
-                <move file="${project.build.directory}/generated-resources/OSGI-INF/blueprint/autowire.xml"
-                      todir="${project.build.directory}/generated-resources/org/opendaylight/blueprint"
-                      failonerror="false" quiet="true" />
+                <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
+                <if>
+                  <available file="${project.basedir}/src/main/resources/org/opendaylight/blueprint" type="dir"/>
+                  <then>
+                    <echo>Moving autowire.xml to org/opendaylight/blueprint</echo>
+                    <move file="${project.build.directory}/generated-resources/OSGI-INF/blueprint/autowire.xml"
+                          todir="${project.build.directory}/generated-resources/org/opendaylight/blueprint"
+                          failonerror="false" quiet="true" />
+                  </then>
+                  <else>
+                    <echo>NOT moving autowire.xml (to org/opendaylight/blueprint)</echo>
+                  </else>
+                </if>
               </target>
             </configuration>
           </execution>
         </executions>
+        <dependencies>
+          <dependency>
+            <groupId>ant-contrib</groupId>
+            <artifactId>ant-contrib</artifactId>
+            <version>1.0b3</version>
+            <exclusions>
+              <exclusion>
+                <groupId>ant</groupId>
+                <artifactId>ant</artifactId>
+              </exclusion>
+            </exclusions>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.ant</groupId>
+            <artifactId>ant-nodeps</artifactId>
+            <version>1.8.1</version>
+          </dependency>
+        </dependencies>
       </plugin>
     </plugins>
   </build>
         <configuration>
           <links>
             <link>http://doc.akka.io/japi/akka/${akka.version}/</link>
-            <link>https://google.github.io/guava/releases/18.0/api/docs/</link>
-            <link>https://google.github.io/guava/releases/19.0/api/docs/</link>
-            <link>http://netty.io/4.0/api/</link>
+            <link>https://google.github.io/guava/releases/22.0/api/docs/</link>
+            <link>http://netty.io/4.1/api/</link>
           </links>
         </configuration>
       </plugin>