Bump karaf to 4.3.4
[odlparent.git] / odlparent / pom.xml
index 3d36503abe8c8f210dbd00ae4e92a5e916476f5a..7913e8c8d012a07501b3ec8a9370dadc8fa617c2 100644 (file)
@@ -13,7 +13,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.6-SNAPSHOT</version>
+    <version>10.0.0-SNAPSHOT</version>
     <relativePath>../odlparent-lite</relativePath>
   </parent>
 
@@ -25,7 +25,7 @@
     <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.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. -->
@@ -64,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.opendaylight.odlparent</groupId>
         <artifactId>odlparent-artifacts</artifactId>
-        <version>9.0.6-SNAPSHOT</version>
+        <version>10.0.0-SNAPSHOT</version>
         <scope>import</scope>
         <type>pom</type>
       </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>
       <dependency>
         <groupId>org.awaitility</groupId>
         <artifactId>awaitility</artifactId>
-        <version>4.1.0</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.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>
         <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>
         <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.67.Final</version>
+        <version>4.1.72.Final</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.jolokia</groupId>
         <artifactId>jolokia-osgi</artifactId>
-        <version>1.7.0</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.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>
       <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>
 
         <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.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 -->
       <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>
             <dependency>
               <groupId>org.opendaylight.odlparent</groupId>
               <artifactId>checkstyle</artifactId>
-              <version>9.0.6-SNAPSHOT</version>
+              <version>10.0.0-SNAPSHOT</version>
             </dependency>
             <dependency>
               <groupId>com.github.sevntu-checkstyle</groupId>
             <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>
-          <version>3.8.1</version>
           <configuration>
             <showWarnings>true</showWarnings>
             <compilerArgs>
                   <artifactItem>
                     <groupId>org.opendaylight.odlparent</groupId>
                     <artifactId>odl-license</artifactId>
-                    <version>9.0.6-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.6-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() &amp;&amp; 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>