<nexus.repository.snapshot>opendaylight.snapshot</nexus.repository.snapshot>
<!-- Used in controller, genius, infrautils, netconf, netvirt, ovsdb, serviceutils -->
- <karaf.version>4.3.3</karaf.version>
+ <karaf.version>4.3.4</karaf.version>
<!-- Supporting Libraries -->
<!-- Only used internally -->
- <bouncycastle.version>1.69</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.mockito</groupId>
<artifactId>mockito-core</artifactId>
- <version>3.12.4</version>
+ <version>4.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
- <version>3.12.4</version>
+ <version>4.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<version>4.1.1</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>
- <scope>test</scope>
- </dependency>
<!--
Annotation Processors
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
- <version>1.2.5</version>
+ <version>1.2.9</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
- <version>1.2.5</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>
<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>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
<!-- When bumping this version, remember to also change the JavaDoc link in odlparent-lite -->
- <version>4.1.70.Final</version>
+ <version>4.1.72.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
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.
-->
-
- <!-- This legacy is defined in https://github.com/osgi/osgi/blob/r7-cmpn-spec-final/osgi.core/layout.bnd -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>osgi.core</artifactId>
- <version>7.0.0</version>
- <scope>provided</scope>
- </dependency>
+ <!-- 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.dto</artifactId>
<scope>provided</scope>
</dependency>
- <!-- This legacy is defined in https://github.com/osgi/osgi/blob/r7-cmpn-spec-final/osgi.annotation/layout.bnd -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>osgi.annotation</artifactId>
- <version>7.0.0</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>
<scope>provided</scope>
</dependency>
- <!-- This legacy is defined in https://github.com/osgi/osgi/blob/r7-cmpn-spec-final/osgi.cmpn/layout.bnd -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>osgi.cmpn</artifactId>
- <version>7.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>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.util.function</artifactId>
- <version>1.1.0</version>
+ <version>1.2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.util.promise</artifactId>
- <version>1.1.1</version>
+ <version>1.2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<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.6.7</version>
+ <version>2.6.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-aether</artifactId>
- <version>2.6.7</version>
+ <version>2.6.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-wrap</artifactId>
- <version>2.6.7</version>
+ <version>2.6.10</version>
</dependency>
<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>
<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>
<artifactId>antlr4-runtime</artifactId>
<version>4.9.3</version>
</dependency>
- <dependency>
- <groupId>org.apache.aries.blueprint</groupId>
- <artifactId>blueprint-maven-plugin-annotation</artifactId>
- <version>1.3.0</version>
- <optional>true</optional>
- </dependency>
<!-- TrieMap library -->
<dependency>
<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>
- <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>
<configuration>
<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>
<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>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
- <plugin>
- <artifactId>maven-pmd-plugin</artifactId>
- </plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
</plugin>