<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.8.0-SNAPSHOT</version>
+ <version>1.9.0-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.0</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.3</maven.javadoc.version>
+ <maven.javadoc.version>2.10.4</maven.javadoc.version>
<!-- Used in snmp -->
- <maven.plugin.version>3.4</maven.plugin.version>
+ <maven.plugin.version>3.5</maven.plugin.version>
<!-- Used in neutron, of-config, tsdr, yangtools -->
<!-- Later versions break tests in downstream projects -->
<maven.surefire.version>2.18.1</maven.surefire.version>
toolkit -->
<checkstyle.version>2.17</checkstyle.version>
<!-- Used in controller, packetcable -->
- <odl.checkstyle.version>0.3.0-SNAPSHOT</odl.checkstyle.version>
+ <odl.checkstyle.version>0.4.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 -->
<!-- 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>
+ <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>
- <!--
- Regression in jacoco-plugin 0.7.5 prevents us from upgrading to it
- http://jira.xwiki.org/browse/XCOMMONS-821
-
- Additionally we need to stay on jacoco 0.7.2.201409121644. Future
- versions appear to have issues picking up code coverage for projects
- 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>
+ <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.9</karaf4.version>
+ <karaf4.plugin.version>4.0.9</karaf4.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.54</bouncycastle.version>
+ <bouncycastle.version>1.56</bouncycastle.version>
<!-- Used by controller, snbi; see also centinel, dlux, toolkit -->
<osgi.core.version>5.0.0</osgi.core.version>
- <akka.version>2.4.7</akka.version>
+ <akka.version>2.4.18</akka.version>
<scala.version>2.11</scala.version>
- <scala.micro.version>8</scala.micro.version>
+ <scala.micro.version>11</scala.micro.version>
<leveldb.version>0.7</leveldb.version>
<!-- Default Sonar configuration -->
<sonar-jacoco-listeners.version>2.4</sonar-jacoco-listeners.version>
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
- <sonar.jacoco.reportPath>target/code-coverage/jacoco.exec</sonar.jacoco.reportPath>
- <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
+ <sonar.jacoco.reportPath>${project.build.directory}/code-coverage/jacoco.exec</sonar.jacoco.reportPath>
+ <sonar.jacoco.itReportPath>${project.build.directory}/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
<!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
- <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
+ <sonar.exclusions>**/gen/**,**/generated-sources/**,**/generated-test-sources/**,**/yang-gen/**,**/yang-gen-config/**,**/yang-gen-sal/**,**/yang-gen-code/**,**/pax/**</sonar.exclusions>
<pmd.cpd.fail>false</pmd.cpd.fail>
</properties>
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-artifacts</artifactId>
- <version>1.8.0-SNAPSHOT</version>
+ <version>1.9.0-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 -->
<dependency>
<groupId>org.skyscreamer</groupId>
<artifactId>jsonassert</artifactId>
- <version>1.2.3</version>
+ <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! -->
<artifactId>mockito-all</artifactId>
<version>1.10.19</version>
<scope>test</scope>
<version>0.28</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.awaitility</groupId>
+ <artifactId>awaitility</artifactId>
+ <version>2.0.0</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.6.4</version>
<scope>test</scope>
</dependency>
- <!-- Supporting Libraries -->
+
+ <!--
+ Annotation Processors
+ -->
+ <dependency>
+ <!-- Generates immutable implementations, builders, the works -->
+ <groupId>org.immutables</groupId>
+ <artifactId>value</artifactId>
+ <version>2.4.2</version>
+ <!-- Must be provided; <scope>test here breaks APT in Eclipse :( -->
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <!-- Generates META-INF/services entries for ServiceLoader -->
+ <groupId>org.kohsuke.metainf-services</groupId>
+ <artifactId>metainf-services</artifactId>
+ <version>1.7</version>
+ <optional>true</optional>
+ </dependency>
+
+ <!--
+ Supporting Libraries
+ -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
- <version>1.1.7</version>
+ <version>1.1.9</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
- <version>1.1.7</version>
+ <version>1.1.9</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
</dependency>
<dependency>
<groupId>com.mycila.guice.extensions</groupId>
- <!-- This transitively pulls com.google.inject:guice along -->
<artifactId>mycila-guice-jsr250</artifactId>
+ <!-- Make sure this version is in sync with the guice one below -->
<version>4.0.rc1</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <!-- Make sure this version is in sync with the one used by mycila-guice-jsr250 above
+ by checking it here: https://github.com/mycila/guice/blob/master/pom.xml#L103 -->
+ <version>4.1.0</version>
+ </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>3.4</version>
+ <version>3.5</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
- <version>1.3.1</version>
+ <version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
- <version>1.3.1</version>
+ <version>1.3.2</version>
</dependency>
<!-- Plugin integration -->
<dependency>
<groupId>com.github.romix</groupId>
<artifactId>java-concurrent-hash-trie-map</artifactId>
- <version>0.2.23</version>
+ <version>0.2.23-ODL</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.0</version>
</dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>annotations</artifactId>
+ <version>3.0.0</version>
+ <exclusions>
+ <!-- We'd like (have) to eventually exclude :jsr305 here as well, because
+ the types of this artifact are already shaded inside the :annotations artifact.
+ This state is a temporary solution to allow all projects to gradually switch over
+ switch their <dependency><groupId>com.google.code.findbugs from
+ <artifactId>jsr305 to <artifactId>annotations in all pom.xml.
+ The target solution is https://git.opendaylight.org/gerrit/#/c/47337/
+ -->
+ <exclusion>
+ <groupId>net.jcip</groupId>
+ <!-- The types of this artifact are already shaded inside the :annotations artifact -->
+ <artifactId>jcip-annotations</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jdt</groupId>
+ <artifactId>org.eclipse.jdt.annotation</artifactId>
+ <version>2.0.0</version>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
- <version>1.3.1</version>
+ <version>1.3.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>2.4</version>
+ <version>2.5</version>
</dependency>
<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.0.37.Final</version>
+ <version>4.1.8.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-buffer</artifactId>
- <version>4.0.37.Final</version>
+ <version>4.1.8.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec</artifactId>
- <version>4.0.37.Final</version>
+ <version>4.1.8.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
- <version>4.0.37.Final</version>
+ <version>4.1.8.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-common</artifactId>
- <version>4.0.37.Final</version>
+ <version>4.1.8.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
- <version>4.0.37.Final</version>
+ <version>4.1.8.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport</artifactId>
- <version>4.0.37.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.0.37.Final</version>
+ <version>4.1.8.Final</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<dependency>
<groupId>com.webcohesion.enunciate</groupId>
<artifactId>enunciate-core-annotations</artifactId>
- <version>2.1.1</version>
+ <version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.jettison</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>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
- <version>3.2.14.RELEASE</version>
+ <version>3.2.17.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
- <version>3.2.14.RELEASE</version>
+ <version>3.2.17.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
- <version>3.2.14.RELEASE</version>
+ <version>3.2.17.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
- <version>3.2.14.RELEASE</version>
+ <version>3.2.17.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
- <version>3.2.14.RELEASE</version>
+ <version>3.2.17.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
- <version>3.2.14.RELEASE</version>
+ <version>3.2.17.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
- <version>3.2.14.RELEASE</version>
+ <version>3.2.17.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
- <version>3.2.14.RELEASE</version>
+ <version>3.2.17.RELEASE</version>
</dependency>
<!-- Spring security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
- <version>3.2.8.RELEASE</version>
+ <version>3.2.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
- <version>3.2.8.RELEASE</version>
+ <version>3.2.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
- <version>3.2.8.RELEASE</version>
+ <version>3.2.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
- <version>3.2.8.RELEASE</version>
+ <version>3.2.9.RELEASE</version>
</dependency>
<dependency>
<groupId>virgomirror</groupId>
<version>1.3.0</version>
</dependency>
+ <!-- Reactive Streams, used by Akka -->
+ <dependency>
+ <groupId>org.reactivestreams</groupId>
+ <artifactId>reactive-streams</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+
<!-- Akka -->
+ <dependency>
+ <groupId>com.typesafe</groupId>
+ <artifactId>ssl-config-akka_${scala.version}</artifactId>
+ <version>0.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.typesafe</groupId>
+ <artifactId>ssl-config-core_${scala.version}</artifactId>
+ <version>0.2.1</version>
+ </dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_${scala.version}</artifactId>
<artifactId>akka-cluster_${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-persistence_${scala.version}</artifactId>
<version>${akka.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.typesafe.akka</groupId>
+ <artifactId>akka-persistence-tck_${scala.version}</artifactId>
+ <version>${akka.version}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-protobuf_${scala.version}</artifactId>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
- <artifactId>akka-testkit_${scala.version}</artifactId>
+ <artifactId>akka-slf4j_${scala.version}</artifactId>
<version>${akka.version}</version>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
- <artifactId>akka-osgi_${scala.version}</artifactId>
+ <artifactId>akka-stream_${scala.version}</artifactId>
<version>${akka.version}</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
- <artifactId>akka-slf4j_${scala.version}</artifactId>
+ <artifactId>akka-testkit_${scala.version}</artifactId>
<version>${akka.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.scala-lang.modules</groupId>
<artifactId>scala-java8-compat_${scala.version}</artifactId>
- <version>0.7.0</version>
+ <version>0.8.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.scala-lang.modules</groupId>
+ <artifactId>scala-parser-combinators_${scala.version}</artifactId>
+ <version>1.0.4</version>
</dependency>
<dependency>
<groupId>org.iq80.leveldb</groupId>
<version>2.5.0</version>
</dependency>
+ <!-- Aeron, required by Akka -->
+ <dependency>
+ <groupId>org.agrona</groupId>
+ <artifactId>agrona</artifactId>
+ <version>0.9.5</version>
+ </dependency>
+ <dependency>
+ <groupId>io.aeron</groupId>
+ <artifactId>aeron-client</artifactId>
+ <version>1.2.5</version>
+ </dependency>
+ <dependency>
+ <groupId>io.aeron</groupId>
+ <artifactId>aeron-driver</artifactId>
+ <version>1.2.5</version>
+ </dependency>
+
<!-- Scala -->
<dependency>
<groupId>org.scala-lang</groupId>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<!-- If this is updated, the version in features.xml needs to be changed too -->
- <version>3.3.4</version>
+ <version>3.3.6</version>
</dependency>
<!-- Add Pax Exam -->
<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.2</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-aether</artifactId>
- <version>2.4.7</version>
+ <version>2.5.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-wrap</artifactId>
- <version>2.4.7</version>
+ <version>2.5.2</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>
<version>1.4.2</version>
</dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>1.4.191</version>
+ </dependency>
+
<!-- Xtend http://xtend-lang.org
NOTE: When you increase the version here,
then remember to also increase it for the
<dependency>
<groupId>org.eclipse.xtend</groupId>
<artifactId>org.eclipse.xtend.lib</artifactId>
- <version>2.9.2</version>
+ <version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtend</groupId>
<artifactId>org.eclipse.xtend.lib.macro</artifactId>
- <version>2.9.2</version>
+ <version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.xbase.lib</artifactId>
- <version>2.9.2</version>
+ <version>2.11.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 -->
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <scope>test</scope>
+ </dependency>
+
<!-- Enable JSR-305 annotations everywhere -->
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>annotations</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <!-- See note above; having both :jsr305 and :annotations here is an intermediate step -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.eclipse.jdt</groupId>
+ <artifactId>org.eclipse.jdt.annotation</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<build>
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>
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odl-license</artifactId>
- <version>0.2.0-SNAPSHOT</version>
+ <version>0.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.github.sevntu.checkstyle</groupId>
</dependencies>
<configuration>
<configLocation>odl_checks.xml</configLocation>
+ <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
<!-- <sourceDirectory> is needed so that checkstyle ignores the
generated sources directory -->
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
<includeResources>true</includeResources>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<includeTestResources>true</includeTestResources>
+ <includes>**\/*.java, **\/*.xtend</includes>
<excludes>
org/opendaylight/yang/gen/**,
**/protobuff/messages/**,
Hence people introducing new generated sources have to include
PMD config too.
-->
- <excludeRoot>${basedir}/target/generated-sources</excludeRoot>
+ <excludeRoot>${project.build.directory}/generated-sources</excludeRoot>
+ <excludeRoot>${project.build.directory}/generated-test-sources</excludeRoot>
</excludeRoots>
<linkXRef>false</linkXRef>
</configuration>
</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>0.3.0-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>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
- <version>3.0.0</version>
+ <version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<version>${maven.surefire.version}</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
+ <trimStackTrace>false</trimStackTrace>
</configuration>
</plugin>
<artifactId>maven-bundle-plugin</artifactId>
<version>${maven.bundle.version}</version>
<extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <!-- 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>
+ </instructions>
+ </configuration>
</plugin>
<plugin>
<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>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
- <version>1.10</version>
+ <version>1.12</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
- <version>3.0.3</version>
+ <version>3.0.4</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>findbugs</artifactId>
+ <version>1.9.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <!--
+ Enables analysis which takes more memory but finds more bugs.
+ If you run out of memory, changes the value of the effort element
+ to 'Low'.
+ -->
+ <effort>Max</effort>
+ <!-- Reports all bugs (other values are medium and max) -->
+ <threshold>Low</threshold>
+ <!-- Build doesn't fail if problems are found -->
+ <failOnError>false</failOnError>
+ <!-- References the excluded rules -->
+ <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
+ <!-- Produces XML report -->
+ <xmlOutput>true</xmlOutput>
+ <!-- Configures the directory in which the XML report is created -->
+ <findbugsXmlOutputDirectory>${project.build.directory}/findbugs</findbugsXmlOutputDirectory>
+ </configuration>
+ <executions>
+ <!--
+ Ensures that FindBugs inspects source code when project is compiled.
+ -->
+ <execution>
+ <id>analyze-compile</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<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>
+ <version>2.11.0</version>
<executions>
<execution>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
- <outputDirectory>${project.build.directory}/generated-sources/xtend/main</outputDirectory>
- <testOutputDirectory>${project.build.directory}/generated-sources/xtend/test</testOutputDirectory>
+ <outputDirectory>${project.build.directory}/generated-sources/xtend</outputDirectory>
+ <testOutputDirectory>${project.build.directory}/generated-test-sources/xtend</testOutputDirectory>
</configuration>
</execution>
</executions>
<ignore/>
</action>
</pluginExecution>
+ <!-- The plugin will eventually be removed, remove this too at that point -->
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <versionRange>[1.8,)</versionRange>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore/>
+ </action>
+ </pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.servicemix.tooling</groupId>
<ignore/>
</action>
</pluginExecution>
+
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>maven-paxexam-plugin</artifactId>
+ <versionRange>[1.2.4,)</versionRange>
+ <goals>
+ <goal>generate-depends-file</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore/>
+ </action>
+ </pluginExecution>
+
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
<excludes>
<exclude>**/gen/**</exclude>
<exclude>**/generated-sources/**</exclude>
+ <exclude>**/generated-test-sources/**</exclude>
<exclude>**/yang-gen/**</exclude>
+ <exclude>**/yang-gen-config/**</exclude>
+ <exclude>**/yang-gen-sal/**</exclude>
+ <exclude>**/yang-gen-code/**</exclude>
<exclude>**/pax/**</exclude>
</excludes>
</configuration>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
- <id>enforce-maven</id>
+ <id>enforce-banned-dependencies</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
<configuration>
<rules>
- <requireJavaVersion>
- <version>1.8.0</version>
- </requireJavaVersion>
- <requireMavenVersion>
- <version>[3.2.5,)</version>
- </requireMavenVersion>
+ <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>
- <goals>
- <goal>enforce</goal>
- </goals>
</execution>
</executions>
</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>
<goal>run</goal>
</goals>
<configuration>
- <tasks>
- <echo>Moving autowire.xml to org/opendaylight/blueprint</echo>
- <move file="${basedir}/target/generated-resources/OSGI-INF/blueprint/autowire.xml"
- todir="${basedir}/target/generated-resources/org/opendaylight/blueprint"
- failonerror="false" quiet="true" />
- </tasks>
+ <target>
+ <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>
<execution>
<goal>run</goal>
</goals>
<configuration>
- <tasks>
- <echo>Moving autowire.xml to org/opendaylight/blueprint</echo>
- <move file="${basedir}/target/generated-resources/OSGI-INF/blueprint/autowire.xml"
- todir="${basedir}/target/generated-resources/org/opendaylight/blueprint"
- failonerror="false" quiet="true" />
- </tasks>
+ <target>
+ <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>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${projectinfo}</version>
</plugin-->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- <configuration>
- <effort>Max</effort>
- <threshold>Low</threshold>
- <goal>site</goal>
- </configuration>
- </plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jdepend-maven-plugin</artifactId>
<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>http://netty.io/4.1/api/</link>
</links>
</configuration>
</plugin>