Bump karaf to 4.3.4
[odlparent.git] / odlparent / pom.xml
index 0eec0faf16fced51bf00627f84e768f75aaf41f5..7913e8c8d012a07501b3ec8a9370dadc8fa617c2 100644 (file)
     <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. -->
@@ -58,7 +58,6 @@
     <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>