<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>9.0.3-SNAPSHOT</version>
+ <version>10.0.0-SNAPSHOT</version>
<relativePath>../odlparent-lite</relativePath>
</parent>
<connection>scm:git:ssh://git.opendaylight.org:29418/odlparent.git</connection>
<developerConnection>scm:git:ssh://git.opendaylight.org:29418/odlparent.git</developerConnection>
<tag>HEAD</tag>
- <url>https://wiki.opendaylight.org/view/ODL_Root_Parent:Main</url>
+ <url>https://wiki.opendaylight.org/display/ODL/ODL+Root+Parent</url>
</scm>
<!-- Variables should only be used where genuinely useful (to avoid
<nexus.repository.release>opendaylight.release</nexus.repository.release>
<nexus.repository.snapshot>opendaylight.snapshot</nexus.repository.snapshot>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-
- <!-- Java Versions -->
- <maven.compiler.release>11</maven.compiler.release>
-
<!-- Used in controller, genius, infrautils, netconf, netvirt, ovsdb, serviceutils -->
- <karaf.version>4.3.2</karaf.version>
+ <karaf.version>4.3.4</karaf.version>
<!-- Supporting Libraries -->
<!-- Only used internally -->
- <bouncycastle.version>1.68</bouncycastle.version>
+ <bouncycastle.version>1.70</bouncycastle.version>
<!-- JaCoCo configuration, by default tied to Sonar configuration, but can be overridden separately
to allow projects to report Sonar values from the entire project. -->
<sonar.exclusions>**/gen/**,**/generated-sources/**,**/generated-test-sources/**,**/yang-gen/**,**/yang-gen-config/**,**/yang-gen-sal/**,**/yang-gen-code/**,**/pax/**</sonar.exclusions>
<!-- Opt-in code quality checks -->
- <pmd.cpd.fail>false</pmd.cpd.fail> <!-- Copy/paste detection -->
<duplicate-finder.skip>true</duplicate-finder.skip> <!-- Classpath duplicates -->
<!-- Redirect test output to files (overridable) -->
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-artifacts</artifactId>
- <version>9.0.3-SNAPSHOT</version>
+ <version>10.0.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>8.42</version>
+ <version>8.45.1</version>
</dependency>
<!-- Testing Dependencies -->
<!-- JUnit, Hamcrest, Mockito and PowerMock need to be kept in sync -->
+ <dependency>
+ <groupId>org.junit</groupId>
+ <artifactId>junit-bom</artifactId>
+ <version>5.8.1</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
- <version>3.9.0</version>
+ <version>4.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
- <version>3.9.0</version>
+ <version>4.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.truth</groupId>
<artifactId>truth</artifactId>
<!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
- <version>1.1.2</version>
+ <version>1.1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.truth.extensions</groupId>
<artifactId>truth-java8-extension</artifactId>
- <version>1.1.2</version>
+ <version>1.1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
- <version>4.0.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-api-mockito2</artifactId>
- <version>2.0.9</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-api-support</artifactId>
- <version>2.0.9</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-core</artifactId>
- <version>2.0.9</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-module-junit4</artifactId>
- <version>2.0.9</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-reflect</artifactId>
- <version>2.0.9</version>
+ <version>4.1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
- <version>1.2.3</version>
+ <version>1.2.9</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
- <version>1.2.3</version>
+ <version>1.2.9</version>
</dependency>
<!-- log4j2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
- <version>2.14.1</version>
+ <version>2.16.0</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
- <version>1.3.1</version>
+ <version>1.3.2</version>
<optional>true</optional>
</dependency>
<dependency>
</dependency>
<!-- These three need to be consistent:
- jackson-2.11.4 needs woodstox-6.2.3+
+ jackson-2.12.5 needs woodstox-6.2.4+
woodstox-5.3+ needs stax2-api-4.2.x
-->
<dependency>
<dependency>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
- <version>6.2.6</version>
+ <version>6.2.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
- <version>2.11.4</version>
+ <version>2.12.5</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<version>2.2.600</version>
<scope>provided</scope>
</dependency>
- <!-- We're staying on 2.8.5 for now, 2.8.6 has issues:
- https://github.com/google/gson/issues/1601
- https://github.com/google/gson/issues/1602
- https://github.com/google/gson/issues/1608
- https://github.com/google/gson/issues/1630
- -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
- <version>2.8.5</version>
+ <version>2.8.9</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>2.8.0</version>
+ <version>2.11.0</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
- <!-- If these are updated, the version in features.xml needs to be changed too -->
<!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
- <version>4.1.65.Final</version>
+ <version>4.1.72.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<artifactId>bcprov-ext-jdk15on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.bouncycastle</groupId>
+ <artifactId>bcutil-jdk15on</artifactId>
+ <version>${bouncycastle.version}</version>
+ </dependency>
<dependency>
<groupId>com.webcohesion.enunciate</groupId>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-osgi</artifactId>
- <version>1.6.2</version>
+ <version>1.7.1</version>
</dependency>
<!--
- These are usually used through osgi.cmpn, except when you also want
- to be a JPMS module. In that case you need to depend on these and
- have a 'require static org.osgi.service.component.annotations;'.
- This incurs a warning about publishing the module to a public place.
- We do not heed that warning, as nothing in this package is seen by
- the runtime - thus the warning can be safely ignored :)
-
- Keep this in sync with rest of OSGi:
- - OSGi R7 (now) = 1.4.0
+ OSGi Release 7 artifacts. These come in two forms:
+ - osgi.core, osgi.cmpn and osgi.annotation, which are legacy uber-bundles
+ - fine-grained artifacts, which are the preferred way going forward, especially
+ once we get to Release 8.
+ The definitions here are sourced from https://github.com/osgi/osgi/blob/r7-cmpn-spec-final/cnf/central.mvn
+ and the corresponding layout.bnd files.
-->
+ <!-- osgi.core content, defined in https://github.com/osgi/osgi/blob/r7-cmpn-spec-final/osgi.core/layout.bnd -->
<dependency>
<groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.component.annotations</artifactId>
+ <artifactId>org.osgi.dto</artifactId>
+ <version>1.1.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.resource</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.framework</artifactId>
+ <version>1.9.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.permissionadmin</artifactId>
+ <version>1.2.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.condpermadmin</artifactId>
+ <version>1.1.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.packageadmin</artifactId>
+ <version>1.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.startlevel</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.resolver</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.url</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.tracker</artifactId>
+ <version>1.5.2</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- osgi.annotation content, defined in https://github.com/osgi/osgi/blob/r7-cmpn-spec-final/osgi.annotation/layout.bnd -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.annotation.versioning</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.annotation.bundle</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- osg.cmpn content, defined in https://github.com/osgi/osgi/blob/r7-cmpn-spec-final/osgi.cmpn/layout.bnd -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.application</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.namespace.contract</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.namespace.extender</artifactId>
+ <version>1.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.namespace.implementation</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.namespace.service</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.namespace.unresolvable</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.async</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.application</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.blueprint</artifactId>
+ <version>1.0.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- This is not published until R8>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.cdi</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.clusterinfo</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.cm</artifactId>
+ <version>1.6.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.component</artifactId>
<version>1.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.metatype.annotations</artifactId>
+ <artifactId>org.osgi.service.component.annotations</artifactId>
<version>1.4.0</version>
+ <scope>provided</scope>
</dependency>
-
<dependency>
<groupId>org.osgi</groupId>
- <artifactId>osgi.annotation</artifactId>
- <version>7.0.0</version>
+ <artifactId>org.osgi.service.configurator</artifactId>
+ <version>1.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
- <artifactId>osgi.cmpn</artifactId>
- <version>7.0.0</version>
+ <artifactId>org.osgi.service.coordinator</artifactId>
+ <version>1.0.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
- <artifactId>osgi.core</artifactId>
- <version>7.0.0</version>
+ <artifactId>org.osgi.service.deploymentadmin</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.device</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.dmt</artifactId>
+ <version>2.0.2</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.4.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.http</artifactId>
+ <version>1.2.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.http.whiteboard</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.io</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.jaxrs</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.jdbc</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.jndi</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.jpa</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.log</artifactId>
+ <version>1.4.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.metatype</artifactId>
+ <version>1.4.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.metatype.annotations</artifactId>
+ <version>1.4.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.monitor</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.prefs</artifactId>
+ <version>1.1.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.provisioning</artifactId>
+ <version>1.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.remoteserviceadmin</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.repository</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.rest</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.serviceloader</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.subsystem</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.transaction.control</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.upnp</artifactId>
+ <version>1.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.useradmin</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.wireadmin</artifactId>
+ <version>1.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.converter</artifactId>
+ <version>1.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.function</artifactId>
+ <version>1.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.measurement</artifactId>
+ <version>1.0.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.position</artifactId>
+ <version>1.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.promise</artifactId>
+ <version>1.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.pushstream</artifactId>
+ <version>1.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.xml</artifactId>
+ <version>1.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- for https://jira.opendaylight.org/browse/ODLPARENT-24 -->
<dependency>
<groupId>org.apache.aries.quiesce</groupId>
<artifactId>org.apache.aries.quiesce.api</artifactId>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam</artifactId>
- <version>4.13.4</version>
+ <version>4.13.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-container-forked</artifactId>
- <version>4.13.4</version>
+ <version>4.13.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-container-karaf</artifactId>
- <version>4.13.4</version>
+ <version>4.13.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-container-native</artifactId>
- <version>4.13.4</version>
+ <version>4.13.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-extender-service</artifactId>
- <version>4.13.4</version>
+ <version>4.13.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-inject</artifactId>
- <version>4.13.4</version>
+ <version>4.13.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-invoker-junit</artifactId>
- <version>4.13.4</version>
+ <version>4.13.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-features</artifactId>
- <version>4.13.4</version>
+ <version>4.13.5</version>
<type>xml</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-junit4</artifactId>
- <version>4.13.4</version>
+ <version>4.13.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-link-mvn</artifactId>
- <version>4.13.4</version>
+ <version>4.13.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-link-assembly</artifactId>
- <version>4.13.4</version>
+ <version>4.13.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-link</artifactId>
- <version>2.5.4</version>
+ <version>2.6.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-aether</artifactId>
- <version>2.5.4</version>
+ <version>2.6.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-wrap</artifactId>
- <version>2.5.4</version>
+ <version>2.6.10</version>
</dependency>
<dependency>
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-core</artifactId>
- <version>2.8.2</version>
+ <version>2.8.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-assertj</artifactId>
- <version>2.8.2</version>
+ <version>2.8.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-assertj3</artifactId>
- <version>2.8.2</version>
+ <version>2.8.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-matchers</artifactId>
- <version>2.8.2</version>
+ <version>2.8.3</version>
<scope>test</scope>
</dependency>
<!-- FIXME: remove this once we have migrated over -->
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-legacy</artifactId>
- <version>2.8.2</version>
+ <version>2.8.3</version>
<scope>test</scope>
</dependency>
<groupId>org.gaul</groupId>
<artifactId>modernizer-maven-annotations</artifactId>
<!-- This should match the plugin version below -->
- <version>2.2.0</version>
+ <version>2.3.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-bom</artifactId>
- <version>9.4.40.v20210413</version>
+ <version>9.4.43.v20210629</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<version>1.4.200</version>
</dependency>
- <!-- Xtend http://xtend-lang.org
- NOTE: When you increase the version here,
- then remember to also increase it for the
- xtend-maven-plugin below! (We don't want to
- use a Maven property, in order not to "leak" that.)
- -->
- <dependency>
- <groupId>org.eclipse.xtend</groupId>
- <artifactId>org.eclipse.xtend.lib</artifactId>
- <version>2.25.0</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.xtend</groupId>
- <artifactId>org.eclipse.xtend.lib.macro</artifactId>
- <version>2.25.0</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.xtext</groupId>
- <artifactId>org.eclipse.xtext.xbase.lib</artifactId>
- <version>2.25.0</version>
- </dependency>
-
<!-- Annotations -->
<!-- A better alternative for javax.inject, from https://guicedee.com/ -->
<dependency>
<dependency>
<groupId>org.threeten</groupId>
<artifactId>threeten-extra</artifactId>
- <version>1.6.0</version>
+ <version>1.7.0</version>
</dependency>
<!-- When updating this version, consider antl4-maven-plugin below -->
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4-runtime</artifactId>
- <version>4.9.2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.aries.blueprint</groupId>
- <artifactId>blueprint-maven-plugin-annotation</artifactId>
- <version>1.3.0</version>
- <optional>true</optional>
+ <version>4.9.3</version>
</dependency>
<!-- TrieMap library -->
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-bom</artifactId>
- <version>4.1.21</version>
+ <version>4.1.25</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<artifactId>hamcrest-library</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<!-- This should match the dependency management on com.puppycrawl.tools:checkstyle above -->
- <version>8.42</version>
+ <version>8.45.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>checkstyle</artifactId>
- <version>9.0.3-SNAPSHOT</version>
+ <version>10.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.github.sevntu-checkstyle</groupId>
<artifactId>sevntu-checks</artifactId>
- <version>1.39.0</version>
+ <version>1.40.0</version>
</dependency>
</dependencies>
<configuration>
<includeResources>true</includeResources>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<includeTestResources>true</includeTestResources>
- <includes>**\/*.java, **\/*.xtend</includes>
+ <includes>**\/*.java</includes>
<excludes>
org/opendaylight/yang/gen/**,
**/protobuff/messages/**,
</execution>
</executions>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- <version>3.14.0</version>
- <executions>
- <execution>
- <id>cpd</id>
- <phase>process-sources</phase>
- <goals>
- <goal>cpd-check</goal>
- </goals>
- <configuration>
- <failOnViolation>${pmd.cpd.fail}</failOnViolation>
- <!-- 100 "tokens" here correspond to approx. 5-10 lines of code -->
- <minimumTokens>101</minimumTokens>
- <printFailingErrors>true</printFailingErrors>
- <excludeRoots>
- <!-- FIXME: this should be a wildcard, but PMD is brain-damaged and does
- not understand path prefixes nor wildcards. Details are available
- at http://stackoverflow.com/questions/15647771/pmd-exclude-not-working
- Hence people introducing new generated sources have to include
- PMD config too.
- -->
- <excludeRoot>${project.build.directory}/generated-sources</excludeRoot>
- <excludeRoot>${project.build.directory}/generated-test-sources</excludeRoot>
- </excludeRoots>
- <linkXRef>false</linkXRef>
- </configuration>
- </execution>
- </executions>
- </plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
<configuration>
<showWarnings>true</showWarnings>
<compilerArgs>
<artifactItem>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odl-license</artifactId>
- <version>9.0.3-SNAPSHOT</version>
+ <version>10.0.0-SNAPSHOT</version>
<type>license</type>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<destFileName>LICENSE</destFileName>
<plugin>
<artifactId>maven-plugin-plugin</artifactId>
- <version>3.6.1</version>
+ <version>3.6.2</version>
</plugin>
<plugin>
</plugin>
<!-- Third-party plugins, grouped by groupId, alpha-sorted by artifactId -->
- <plugin>
- <!-- Support Blueprint XML construction using annotations -->
- <groupId>org.apache.aries.blueprint</groupId>
- <artifactId>blueprint-maven-plugin</artifactId>
- <version>1.10.0</version>
- <!-- TODO remove dependencies when we bump from 1.10.0 to 1.11.0 (or 1.10.1);
- see https://jira.opendaylight.org/browse/ODLPARENT-167 & https://jira.apache.org/jira/browse/ARIES-1826 -->
- <dependencies>
- <dependency>
- <groupId>org.apache.xbean</groupId>
- <artifactId>xbean-finder-shaded</artifactId>
- <version>4.19</version>
- </dependency>
- </dependencies>
- <configuration>
- <scanPaths>
- <scanPath>${project.groupId}</scanPath>
- </scanPaths>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>blueprint-generate</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>duplicate-finder-maven-plugin</artifactId>
<plugin>
<groupId>org.gaul</groupId>
<artifactId>modernizer-maven-plugin</artifactId>
- <version>2.2.0</version>
+ <version>2.3.0</version>
<configuration>
<javaVersion>${odlparent.modernizer.target}</javaVersion>
<failOnViolations>${odlparent.modernizer.enforce}</failOnViolations>
include:
- ImmutableCollection et al. are not just implementation details, they
- form an API contract.
+ form an API contract
- ImmutableMap/ImmutableSet retain iteration order, whereas their
Map.of()/Set.of() counterparts have unstable iteration order (by design)
+ - Iterables, which we are widely use for efficient discovery of when
+ the Iterable is actually a Collection
-->
<exclusionPattern>com/google/common/collect/Immutable.*</exclusionPattern>
+ <exclusionPattern>com/google/common/collect/Iterables.*</exclusionPattern>
</exclusionPatterns>
</configuration>
</plugin>
<plugin>
- <groupId>com.alexecollins.maven.plugin</groupId>
- <artifactId>script-maven-plugin</artifactId>
- <version>1.0.0</version>
+ <groupId>org.apache.karaf.tooling</groupId>
+ <artifactId>karaf-services-maven-plugin</artifactId>
+ <version>${karaf.version}</version>
+ <executions>
+ <execution>
+ <id>service-metadata-generate</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>service-metadata-generate</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
<plugin>
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>spotbugs</artifactId>
- <version>9.0.3-SNAPSHOT</version>
+ <version>10.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<!-- The SpotBugs Maven plugin uses SLF4J 1.8 beta 2 -->
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</version>
</plugin>
- <plugin>
- <groupId>org.eclipse.xtend</groupId>
- <artifactId>xtend-maven-plugin</artifactId>
- <!-- NOTE: This version MUST be kept in sync with the Xtend version in <dependencyManagement> -->
- <version>2.25.0</version>
- <executions>
- <execution>
- <goals>
- <goal>compile</goal>
- <goal>testCompile</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.directory}/generated-sources/xtend</outputDirectory>
- <testOutputDirectory>${project.build.directory}/generated-test-sources/xtend</testOutputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<ignore/>
</action>
</pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- <versionRange>[3.6,)</versionRange>
- <goals>
- <goal>cpd-check</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore/>
- </action>
- </pluginExecution>
<!-- The plugin will eventually be removed, remove this too at that point -->
<pluginExecution>
<pluginExecutionFilter>
<plugin>
<groupId>org.antlr</groupId>
<artifactId>antlr4-maven-plugin</artifactId>
- <version>4.9.2</version>
+ <version>4.9.3</version>
</plugin>
</plugins>
</pluginManagement>
<configuration>
<rules>
<bannedDependencies>
- <message>Please always use mockito-core instead of mockito-all (see https://bugs.opendaylight.org/show_bug.cgi?id=7662), and spotbugs:annotations instead of findbugs:annotations</message>
+ <message>Please always use mockito-core instead of mockito-all (see https://jira.opendaylight.org/browse/ODLPARENT-59), and spotbugs:annotations instead of findbugs:annotations</message>
<excludes>
<exclude>org.mockito:mockito-all</exclude>
<exclude>com.google.code.findbugs:annotations</exclude>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
- <plugin>
- <artifactId>maven-pmd-plugin</artifactId>
- </plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
</plugin>
</plugin>
<plugin>
- <groupId>com.alexecollins.maven.plugin</groupId>
- <artifactId>script-maven-plugin</artifactId>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>copy-files-plugin</artifactId>
+ <version>10.0.0-SNAPSHOT</version>
<executions>
- <execution>
- <phase>prepare-package</phase>
- <goals>
- <goal>execute</goal>
- </goals>
- <configuration>
- <script>
- // BeanShell is 2005-ish and thus doesn't support generics, varargs, try-with-resources or lambdas, so:
- // (If we do this kind of inline code in pom.xml more often, we shold have a new simple module in
- // odl-parent, which has *.java that we compile, and then just depend on it here and call one-line
- // static class methods only - it will be MUCH easier to write!)
- void copy(File root, String glob, File target) {
- java.nio.file.DirectoryStream dirStream = java.nio.file.Files.newDirectoryStream(root.toPath(), glob);
- Iterator dirStreamIterator = dirStream.iterator();
- while (dirStreamIterator.hasNext()) {
- java.nio.file.Path path = dirStreamIterator.next();
- java.nio.file.Files.copy(path, new File(target, path.toFile().getName()).toPath(),
- new java.nio.file.CopyOption[] {
- java.nio.file.StandardCopyOption.REPLACE_EXISTING,
- java.nio.file.StandardCopyOption.COPY_ATTRIBUTES
- }
- );
- }
- dirStream.close();
- }
-
- File gitRepoRootDir = project.basedir;
- while (!new File(gitRepoRootDir, ".git").exists() && gitRepoRootDir.getParentFile() != null) {
- gitRepoRootDir = gitRepoRootDir.getParentFile();
- }
-
- File target = new File(project.build.outputDirectory);
- target.mkdirs();
- copy(gitRepoRootDir, "README*", target);
- copy(gitRepoRootDir, "CONTRIBUTING*", target);
- copy(gitRepoRootDir, "PROJECT_INFO.yaml", target);
- </script>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.apache-extras.beanshell</groupId>
- <artifactId>bsh</artifactId>
- <version>2.0b6</version>
- </dependency>
- </dependencies>
+ <execution>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>copy-files</goal>
+ </goals>
+ <configuration>
+ <globs>
+ <glob>README*</glob>
+ <glob>CONTRIBUTING*</glob>
+ <glob>PROJECT_INFO.yaml</glob>
+ </globs>
+ </configuration>
+ </execution>
+ </executions>
</plugin>
</plugins>
</build>