HONEYCOMB-448: JAVA 11 support 57/16557/7
authorMichal Cmarada <mcmarada@cisco.com>
Wed, 10 Apr 2019 15:43:54 +0000 (17:43 +0200)
committerMichal Cmarada <mcmarada@cisco.com>
Wed, 10 Apr 2019 15:43:54 +0000 (17:43 +0200)
- updated dependencies
- compilation error fixes

Change-Id: Iad9d353d06c113a0da892ff11a442e4b41edae0d
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
39 files changed:
common/api-parent/pom.xml
common/asciidoc-scripts/pom.xml
common/asciidoc-scripts/src/main/groovy/io/fd/honeycomb/common/scripts/AsciiDocImgForwarder.groovy
common/common-scripts/pom.xml
common/common-scripts/src/main/groovy/io/fd/honeycomb/common/scripts/ModulesListGenerator.groovy
common/common-scripts/src/main/groovy/io/fd/honeycomb/common/scripts/StartupScriptGenerator.groovy
common/common-scripts/src/main/resources/modules/modulesListDefaultContent
common/honeycomb-parent/pom.xml
common/impl-parent/pom.xml
common/minimal-distribution-parent/pom.xml
common/scripts-parent/pom.xml
common/yang-whitelist/yang-whitelist-api/pom.xml
common/yang-whitelist/yang-whitelist-api/src/main/java/io/fd/honeycomb/yang/YangModuleWhitelist.java
common/yang-whitelist/yang-whitelist-impl/pom.xml
common/yang-whitelist/yang-whitelist-impl/src/test/java/io/fd/honeycomb/yang/YangModuleWhitelistReaderTest.java
infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/PersistingDataTreeAdapterTest.java
infra/it/it-test/pom.xml
infra/it/memory-benchmark-scripts/pom.xml
infra/it/memory-benchmark/pom.xml
infra/minimal-distribution-core/pom.xml
infra/minimal-distribution-test/pom.xml
infra/minimal-distribution-test/src/test/java/io/fd/honeycomb/infra/distro/activation/ActiveModuleProviderTest.java
infra/notification/impl/src/main/java/io/fd/honeycomb/notification/impl/NotificationProducerTracker.java
infra/test-utils/test-tools/pom.xml
infra/translate-api/src/main/java/io/fd/honeycomb/translate/read/Initializer.java
infra/translate-impl/pom.xml
infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/GenericListReader.java
infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/registry/CompositeReaderRegistry.java
infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/registry/CompositeReaderRegistryBuilder.java
infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/write/registry/SubtreeWriter.java
infra/translate-spi/src/main/java/io/fd/honeycomb/translate/spi/read/InitializingCustomizer.java
infra/translate-utils/pom.xml
infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/RWUtils.java
infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/read/cache/DumpCacheManager.java
samples/minimal-distribution/pom.xml
tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/CrudService.java
tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/ElementCrudService.java
tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/ModuleConfiguration.java
tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/read/ElementStateCustomizer.java

index b657c37..5fcd421 100644 (file)
@@ -29,7 +29,7 @@
   <packaging>pom</packaging>
 
   <properties>
-    <annotations.version>3.0.0</annotations.version>
+    <annotations.version>3.0.1</annotations.version>
   </properties>
 
   <build>
index 6d5e44b..f6cacb6 100644 (file)
         <dependency>
             <groupId>org.codehaus.groovy</groupId>
             <artifactId>groovy-all</artifactId>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy-templates</artifactId>
         </dependency>
     </dependencies>
 </project>
\ No newline at end of file
index 5bdf0cd..6dbfef8 100644 (file)
@@ -23,7 +23,7 @@ class AsciiDocImgForwarder {
 
     static final def ADOC_FOLDER = "asciidoc"
     static final def SITE_FOLDER = "site"
-    static final def PNG_EXTENSION = "png";
+    static final def PNG_EXTENSION = "png"
 
     /**
      * Copies generated images to site folder
index 2562e16..dfc8c35 100644 (file)
@@ -40,6 +40,7 @@
         <dependency>
             <groupId>org.codehaus.groovy</groupId>
             <artifactId>groovy-all</artifactId>
+            <type>pom</type>
         </dependency>
         <dependency>
             <groupId>org.opendaylight.mdsal</groupId>
index 525a77e..e7a9bfb 100644 (file)
@@ -33,7 +33,7 @@ class ModulesListGenerator {
     static final def MODULE_LIST_FILE_SUFFIX = "-module-config"
     static final def SEPARATOR = ","
 
-    public static void generate(project, properties, log) {
+    public static void generate(project, log) {
         // module configuration file extraction
         // builds project name from group,artifact and version to prevent overwriting
         // while building multiple distribution project
@@ -42,7 +42,7 @@ class ModulesListGenerator {
 
         log.info "Generating list of modules started by distribution ${projectName}"
 
-        def activeModules = properties.getProperty(MODULES_LIST_CONTENT_PROPERTY, DEFAULT_MODULES_LIST)
+        def activeModules = project.properties.get(MODULES_LIST_CONTENT_PROPERTY, DEFAULT_MODULES_LIST)
                 .tokenize(SEPARATOR)
                 .collect { module -> module.trim() }
 
@@ -54,7 +54,7 @@ class ModulesListGenerator {
         outputPath.toFile().mkdirs()
 
         def outputFile = Paths.get(outputPath.toString(), "${projectName}${MODULE_LIST_FILE_SUFFIX}").toFile()
-        outputFile.createNewFile();
+        outputFile.createNewFile()
         log.info("Writing module configuration for distribution ${projectName} to ${outputPath}")
 
         if (activeModules.isEmpty()) {
index 566a90d..a8ab4bc 100644 (file)
@@ -57,7 +57,7 @@ class StartupScriptGenerator {
 
         def jarName = "${project.artifactId}-${project.version}.jar"
         def jvmParameters = "${additionalJvmParameters} -jar \$(dirname \$0)/${jarName}"
-        def scriptParent = Paths.get(project.build.outputDirectory, MINIMAL_RESOURCES_FOLDER)
+        def scriptParent = Paths.get(project.build.outputDirectory as String, MINIMAL_RESOURCES_FOLDER)
         scriptParent.toFile().mkdirs()
 
         def startScriptPath = generateStartupScript(jvmParameters, log, scriptParent, scriptTemplate)
index 32c2bf8..3e5ae86 100644 (file)
@@ -2,6 +2,6 @@
 //
 // This distribution does not define any own modules.
 // In order to do so either distribution.modules property must be defined in distribution pom.xml,
-// containing list of desired modules to start, or this file can be directly edited with same effect.
+// containing list of desired modules to start or this file can be directly edited with same effect.
 //
-// Note : Modules should be referenced by full class name, e.g: io.fd.test.SampleModule, and separated with comma.
\ No newline at end of file
+// Note : Modules should be referenced by full class name. e.g: io.fd.test.SampleModule and separated with comma.
\ No newline at end of file
index 1a13b07..7da8d2c 100644 (file)
         <salGeneratorPath>target/generated-sources/mdsal-binding</salGeneratorPath>
 
         <!-- common dependencies -->
-        <junit.version>4.11</junit.version>
-        <mockito.version>2.2.9</mockito.version>
-        <hamcrest.version>1.3</hamcrest.version>
+        <junit.version>4.12</junit.version>
+        <mockito.version>2.23.4</mockito.version>
+        <hamcrest.version>2.1</hamcrest.version>
         <guava.version>23.6-jre</guava.version>
-        <jsr305.version>3.0.0</jsr305.version>
-        <slf4j.version>1.7.21</slf4j.version>
-        <jdt.version>2.1.150</jdt.version>
+        <jsr305.version>3.0.2</jsr305.version>
+        <slf4j.version>1.7.25</slf4j.version>
+        <jdt.version>2.2.200</jdt.version>
 
         <!-- plugins -->
         <checkstyle.plugin.version>3.0.0</checkstyle.plugin.version>
         <checkstyle.version>8.18</checkstyle.version>
-        <maven.javadoc.version>2.10.3</maven.javadoc.version>
-        <jacoco.version>0.7.9</jacoco.version>
-        <enforcer.version>1.4</enforcer.version>
-        <maven.compile.plugin.version>3.5.1</maven.compile.plugin.version>
-        <maven.bundle.version>3.0.1</maven.bundle.version>
+        <maven.javadoc.version>3.0.1</maven.javadoc.version>
+        <jacoco.version>0.8.2</jacoco.version>
+        <enforcer.version>3.0.0-M2</enforcer.version>
+        <maven.compile.plugin.version>3.8.0</maven.compile.plugin.version>
+        <maven.bundle.version>4.1.0</maven.bundle.version>
 
         <!-- checkstyle -->
         <checkstyle.header.file>APACHE_HEADER.txt</checkstyle.header.file>
         <asciidoctorj.diagram.version>1.3.1</asciidoctorj.diagram.version>
 
         <!-- groovy -->
-        <maven.groovy.version>2.0</maven.groovy.version>
-        <groovy.version>2.4.7</groovy.version>
-        <groovy.eclipse.compiler.version>2.9.2-01</groovy.eclipse.compiler.version>
-        <groovy.eclipse.batch.version>2.4.3-01</groovy.eclipse.batch.version>
+        <maven.groovy.version>1.6.2</maven.groovy.version>
+        <groovy.version>2.5.5</groovy.version>
+        <groovy.eclipse.compiler.version>3.3.0-01</groovy.eclipse.compiler.version>
+        <groovy.eclipse.batch.version>2.5.6-02</groovy.eclipse.batch.version>
 
         <docs.base.url>https://nexus.fd.io/content/sites/site</docs.base.url>
         <docs.hc.folder>io/fd/honeycomb</docs.hc.folder>
             </dependency>
             <dependency>
                 <groupId>org.hamcrest</groupId>
-                <artifactId>hamcrest-all</artifactId>
+                <artifactId>hamcrest</artifactId>
                 <version>${hamcrest.version}</version>
                 <scope>test</scope>
             </dependency>
                     <artifactId>maven-javadoc-plugin</artifactId>
                     <version>${maven.javadoc.version}</version>
                     <configuration>
+                        <source>8</source>
                         <additionalparam>-Xdoclint:none</additionalparam>
                     </configuration>
                     <executions>
                     <version>${maven.compile.plugin.version}</version>
                     <configuration>
                         <!-- Use google's error-prone static analysis-->
-                        <compilerId>javac-with-errorprone</compilerId>
+                        <!-- TODO reenable errorprone once it is able to be built using java 11 -->
+                        <!--<compilerId>javac-with-errorprone</compilerId>-->
                         <forceJavacCompilerUse>true</forceJavacCompilerUse>
                         <showWarnings>true</showWarnings>
                         <source>1.8</source>
                         <target>1.8</target>
                     </configuration>
-                    <dependencies>
-                        <dependency>
-                            <groupId>org.codehaus.plexus</groupId>
-                            <artifactId>plexus-compiler-javac-errorprone</artifactId>
-                            <version>2.5</version>
-                        </dependency>
-                        <!-- override plexus-compiler-javac-errorprone's dependency on
-                             Error Prone with the latest version -->
-                        <dependency>
-                            <groupId>com.google.errorprone</groupId>
-                            <artifactId>error_prone_core</artifactId>
-                            <version>2.0.9</version>
-                        </dependency>
-                    </dependencies>
+                    <!--<dependencies>-->
+                        <!--<dependency>-->
+                            <!--<groupId>org.codehaus.plexus</groupId>-->
+                            <!--<artifactId>plexus-compiler-javac-errorprone</artifactId>-->
+                            <!--<version>2.8.5</version>-->
+                        <!--</dependency>-->
+                        <!--&lt;!&ndash; override plexus-compiler-javac-errorprone's dependency on-->
+                             <!--Error Prone with the latest version &ndash;&gt;-->
+                        <!--<dependency>-->
+                            <!--<groupId>com.google.errorprone</groupId>-->
+                            <!--<artifactId>error_prone_core</artifactId>-->
+                            <!--<version>2.3.2</version>-->
+                        <!--</dependency>-->
+                    <!--</dependencies>-->
                 </plugin>
                 <plugin>
                     <groupId>org.apache.felix</groupId>
                     </dependencies>
                 </plugin>
                 <plugin>
-                    <groupId>org.codehaus.gmaven</groupId>
-                    <artifactId>groovy-maven-plugin</artifactId>
+                    <groupId>org.codehaus.gmavenplus</groupId>
+                    <artifactId>gmavenplus-plugin</artifactId>
                     <version>${maven.groovy.version}</version>
                     <executions>
                         <!-- Generate Readme.adoc if not present -->
                             </goals>
                             <configuration>
                                 <!-- Generate module adoc documentation -->
-                                <source>
-                                    io.fd.honeycomb.common.scripts.ReadmeGenerator.checkReadme(project, properties, log)
-                                </source>
+                                <scripts>
+                                    <script>
+                                        <![CDATA[
+                                            import io.fd.honeycomb.common.scripts.ReadmeGenerator
+                                            ReadmeGenerator.checkReadme(project, properties, log)
+                                        ]]>
+                                    </script>
+                                </scripts>
                             </configuration>
                         </execution>
                         <!-- Fix generated html -->
                             </goals>
                             <configuration>
                                 <!-- Site generates wrong link to Readme.html, trying to point to Readme.html at root -->
-                                <source>
-                                    io.fd.honeycomb.common.scripts.ReadmeGenerator.fixSite(project, properties, log)
-                                </source>
+                                <scripts>
+                                    <script>
+                                        <![CDATA[
+                                            import io.fd.honeycomb.common.scripts.ReadmeGenerator
+                                            ReadmeGenerator.fixSite(project, properties, log)
+                                        ]]>
+                                    </script>
+                                </scripts>
                             </configuration>
                         </execution>
                         <!-- copy generated schema pictures -->
                             </goals>
                             <configuration>
                                 <!-- Copies generated schema pictures from ascii-doctor folders to site folder-->
-                                <source>
-                                    io.fd.honeycomb.common.scripts.AsciiDocImgForwarder.copyGeneratedImages(project, properties, log)
-                                </source>
+                                <scripts>
+                                    <script>
+                                        <![CDATA[
+                                            import io.fd.honeycomb.common.scripts.AsciiDocImgForwarder
+                                            AsciiDocImgForwarder.copyGeneratedImages(project, properties, log)
+                                        ]]>
+                                    </script>
+                                </scripts>
                             </configuration>
                         </execution>
                     </executions>
                     <dependencies>
+                        <dependency>
+                            <groupId>org.codehaus.groovy</groupId>
+                            <artifactId>groovy-all</artifactId>
+                            <type>pom</type>
+                            <version>${groovy.version}</version>
+                        </dependency>
                         <dependency>
                             <groupId>io.fd.honeycomb.doc</groupId>
                             <artifactId>asciidoc-scripts</artifactId>
                 <artifactId>maven-bundle-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.codehaus.gmaven</groupId>
-                <artifactId>groovy-maven-plugin</artifactId>
+                <groupId>org.codehaus.gmavenplus</groupId>
+                <artifactId>gmavenplus-plugin</artifactId>
             </plugin>
         </plugins>
 
index a1c8ecb..dd4e010 100644 (file)
         <version>${guice.version}</version>
         <scope>test</scope>
       </dependency>
+      <dependency>
+        <groupId>org.javassist</groupId>
+        <artifactId>javassist</artifactId>
+        <version>3.24.1-GA</version>
+      </dependency>
     </dependencies>
   </dependencyManagement>
 
         </plugin>
         <!-- Generate module to yang provider index -->
         <plugin>
-          <groupId>org.codehaus.gmaven</groupId>
-          <artifactId>groovy-maven-plugin</artifactId>
+          <groupId>org.codehaus.gmavenplus</groupId>
+          <artifactId>gmavenplus-plugin</artifactId>
+          <version>${maven.groovy.version}</version>
           <executions>
             <execution>
               <id>generate-yang-index</id>
                 <goal>execute</goal>
               </goals>
               <configuration>
-                <source>
-                  io.fd.honeycomb.common.scripts.ModuleYangIndexGenerator.generateIndexForPresentModules(project, log)
-                </source>
+                <scripts>
+                  <script>
+                    <![CDATA[
+                      import io.fd.honeycomb.common.scripts.ModuleYangIndexGenerator
+                      ModuleYangIndexGenerator.generateIndexForPresentModules(project, log)
+                    ]]>
+                  </script>
+                </scripts>
               </configuration>
             </execution>
           </executions>
 
     <plugins>
       <plugin>
-        <groupId>org.codehaus.gmaven</groupId>
-        <artifactId>groovy-maven-plugin</artifactId>
+        <groupId>org.codehaus.gmavenplus</groupId>
+        <artifactId>gmavenplus-plugin</artifactId>
       </plugin>
     </plugins>
 
index 0f22434..d0edeff 100644 (file)
@@ -87,8 +87,8 @@
                 <!-- Generate shell script -->
                 <!-- Extract modules started by distribution -->
                 <plugin>
-                    <groupId>org.codehaus.gmaven</groupId>
-                    <artifactId>groovy-maven-plugin</artifactId>
+                    <groupId>org.codehaus.gmavenplus</groupId>
+                    <artifactId>gmavenplus-plugin</artifactId>
                     <executions>
                         <execution>
                             <id>start-scripts-generation</id>
                                 <goal>execute</goal>
                             </goals>
                             <configuration>
-                                <source>
-                                    io.fd.honeycomb.common.scripts.StartupScriptGenerator.generate(project, properties, log)
-                                </source>
+                                <scripts>
+                                    <script>
+                                        <![CDATA[
+                                            import io.fd.honeycomb.common.scripts.StartupScriptGenerator
+                                            StartupScriptGenerator.generate(project, properties, log)
+                                        ]]>
+                                    </script>
+                                </scripts>
                             </configuration>
                         </execution>
                         <execution>
                                 <goal>execute</goal>
                             </goals>
                             <configuration>
-                                <source>
-                                    io.fd.honeycomb.common.scripts.ModulesListGenerator.generate(project, properties, log)
-                                </source>
+                                <scripts>
+                                    <script>
+                                        <![CDATA[
+                                            import io.fd.honeycomb.common.scripts.ModulesListGenerator
+                                            ModulesListGenerator.generate(project, log)
+                                        ]]>
+                                    </script>
+                                </scripts>
                             </configuration>
                         </execution>
                         <execution>
                                 <goal>execute</goal>
                             </goals>
                             <configuration>
-                                <source>
-                                    io.fd.honeycomb.common.scripts.ModuleYangIndexGenerator.pairDistributionModulesWithYangModules(project, log)
-                                </source>
+                                <scripts>
+                                    <script>
+                                        <![CDATA[
+                                            import io.fd.honeycomb.common.scripts.ModuleYangIndexGenerator
+                                            ModuleYangIndexGenerator.pairDistributionModulesWithYangModules(project, log)
+                                        ]]>
+                                    </script>
+                                </scripts>
                             </configuration>
                         </execution>
                     </executions>
 
                 <plugin>
                     <artifactId>maven-surefire-plugin</artifactId>
+                    <version>2.22.0</version>
                     <configuration>
                         <!--http://stackoverflow.com/questions/18107375/getting-skipping-jacoco-execution-due-to-missing-execution-data-file-upon-exec-->
-                        <argLine>${argLine} -Djava.security.egd=file:${random.seed.file}</argLine>
+                        <argLine>${argLine} -Djava.security.egd=file:${random.seed.file} --illegal-access=permit</argLine>
                     </configuration>
                 </plugin>
             </plugins>
         </pluginManagement>
         <plugins>
             <plugin>
-                <groupId>org.codehaus.gmaven</groupId>
-                <artifactId>groovy-maven-plugin</artifactId>
+                <groupId>org.codehaus.gmavenplus</groupId>
+                <artifactId>gmavenplus-plugin</artifactId>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
index 82bbf4f..374bee3 100644 (file)
 
     <properties>
         <!-- groovy -->
-        <maven.groovy.version>2.0</maven.groovy.version>
-        <groovy.version>2.4.7</groovy.version>
-        <groovy.eclipse.compiler.version>2.9.2-01</groovy.eclipse.compiler.version>
-        <groovy.eclipse.batch.version>2.4.3-01</groovy.eclipse.batch.version>
+        <maven.groovy.version>1.6.2</maven.groovy.version>
+        <groovy.version>2.5.5</groovy.version>
+        <groovy.eclipse.compiler.version>3.3.0-01</groovy.eclipse.compiler.version>
+        <groovy.eclipse.batch.version>2.5.6-02</groovy.eclipse.batch.version>
         <odl.yang-binding.version>0.13.2</odl.yang-binding.version>
     </properties>
 
                 <groupId>org.codehaus.groovy</groupId>
                 <artifactId>groovy-all</artifactId>
                 <version>${groovy.version}</version>
+                <type>pom</type>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.groovy</groupId>
+                <artifactId>groovy-templates</artifactId>
+                <version>${groovy.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
             </plugin>
             <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.0</version>
                 <!-- 2.8.0-01 and later require maven-compiler-plugin 3.1 or higher -->
                 <configuration>
                     <compilerId>groovy-eclipse-compiler</compilerId>
+                    <source>1.8</source>
+                    <target>1.8</target>
                 </configuration>
                 <dependencies>
                     <dependency>
                         <version>${groovy.eclipse.compiler.version}</version>
                     </dependency>
                     <!-- for 2.8.0-01 and later you must have an explicit dependency on groovy-eclipse-batch -->
+                    <!-- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-eclipse-batch -->
                     <dependency>
                         <groupId>org.codehaus.groovy</groupId>
                         <artifactId>groovy-eclipse-batch</artifactId>
                         <version>${groovy.eclipse.batch.version}</version>
                     </dependency>
+                    <dependency>
+                        <groupId>org.codehaus.groovy</groupId>
+                        <artifactId>groovy-all</artifactId>
+                        <version>${groovy.version}</version>
+                        <type>pom</type>
+                    </dependency>
                 </dependencies>
             </plugin>
         </plugins>
index cddb17e..a4a7556 100644 (file)
@@ -34,7 +34,7 @@
     <name>${project.artifactId}</name>
 
     <properties>
-        <jaxb-api.version>2.2.12</jaxb-api.version>
+        <jaxb-api.version>2.4.0-b180725.0427</jaxb-api.version>
     </properties>
 
     <dependencies>
index fee6c39..d8e932b 100644 (file)
@@ -22,8 +22,8 @@ import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
 
 /**
- * <yang-modules-whitelist> <modules> <module> <package>io.fd.aaa.bbb.ccc</package> <description>XYZ</description>
- * </module> </modules> </yang-modules-whitelist>
+ * &lt;yang-modules-whitelist&gt; &lt;modules&gt; &lt;module&gt; &lt;package&gt;io.fd.aaa.bbb.ccc&lt;/package&gt; &lt;description&gt;XYZ&lt;/description&gt;
+ * &lt;/module&gt; &lt;/modules&gt; &lt;/yang-modules-whitelist&gt;
  */
 @XmlRootElement
 public class YangModuleWhitelist {
index e0af117..da00dda 100644 (file)
@@ -34,7 +34,7 @@
     <name>${project.artifactId}</name>
 
     <properties>
-        <jaxb-runtime.version>2.2.11</jaxb-runtime.version>
+        <jaxb-runtime.version>2.3.2</jaxb-runtime.version>
         <slf4j-simple.version>1.7.25</slf4j-simple.version>
     </properties>
 
             <artifactId>jaxb-runtime</artifactId>
             <version>${jaxb-runtime.version}</version>
         </dependency>
+        <dependency>
+            <groupId>javax.annotation</groupId>
+            <artifactId>javax.annotation-api</artifactId>
+            <version>1.3.2</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.xml.bind</groupId>
+            <artifactId>jaxb-api</artifactId>
+            <version>2.4.0-b180725.0427</version>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+            <version>2.4.0-b180830.0438</version>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-core</artifactId>
+            <version>2.3.0.1</version>
+        </dependency>
         <dependency>
             <groupId>com.google.code.findbugs</groupId>
             <artifactId>jsr305</artifactId>
             <artifactId>guava</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest-core</artifactId>
-            <version>1.3</version>
-            <scope>test</scope>
-        </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
index 6ab917a..5ca47f2 100644 (file)
@@ -18,11 +18,11 @@ package io.fd.honeycomb.yang;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
 
+import com.google.common.collect.ImmutableSet;
 import java.nio.file.Paths;
 import java.util.List;
-import org.hamcrest.CoreMatchers;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -50,7 +50,6 @@ public class YangModuleWhitelistReaderTest {
         moduleA.setDescription("desc");
 
         moduleB.setPckg("module.b.package");
-
-        assertThat(modules, CoreMatchers.hasItems(moduleA, moduleB));
+        assertTrue(modules.containsAll(ImmutableSet.of(moduleA, moduleB)));
     }
 }
\ No newline at end of file
index 487b84d..44baed1 100644 (file)
@@ -122,7 +122,7 @@ public class PersistingDataTreeAdapterTest {
 
     @Test(expected = IllegalStateException.class)
     public void testPersistFailure() throws Exception {
-        doThrow(IOException.class).when(schemaService).getGlobalContext();
+        doThrow(IllegalStateException.class).when(schemaService).getGlobalContext();
         final PersistingDataTreeAdapter.JsonPersister jsonPersister =
                 new PersistingDataTreeAdapter.JsonPersister(tmpPersistFile, schemaService);
         // Nothing
index f8ebf56..427eaa7 100644 (file)
             <artifactId>mdsal-netconf-connector</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.javassist</groupId>
+            <artifactId>javassist</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>
index 8585c91..0502e49 100644 (file)
@@ -7,10 +7,10 @@
 
     <properties>
         <!-- groovy -->
-        <maven.groovy.version>2.0</maven.groovy.version>
-        <groovy.version>2.4.7</groovy.version>
-        <groovy.eclipse.compiler.version>2.9.2-01</groovy.eclipse.compiler.version>
-        <groovy.eclipse.batch.version>2.4.3-01</groovy.eclipse.batch.version>
+        <maven.groovy.version>1.6.2</maven.groovy.version>
+        <groovy.version>2.5.5</groovy.version>
+        <groovy.eclipse.compiler.version>3.3.0-01</groovy.eclipse.compiler.version>
+        <groovy.eclipse.batch.version>2.5.6-02</groovy.eclipse.batch.version>
     </properties>
 
     <modelVersion>4.0.0</modelVersion>
             </plugin>
             <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.0</version>
                 <!-- 2.8.0-01 and later require maven-compiler-plugin 3.1 or higher -->
                 <configuration>
                     <compilerId>groovy-eclipse-compiler</compilerId>
+                    <source>1.8</source>
+                    <target>1.8</target>
                 </configuration>
                 <dependencies>
                     <dependency>
@@ -53,6 +56,7 @@
                         <version>${groovy.eclipse.compiler.version}</version>
                     </dependency>
                     <!-- for 2.8.0-01 and later you must have an explicit dependency on groovy-eclipse-batch -->
+                    <!-- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-eclipse-batch -->
                     <dependency>
                         <groupId>org.codehaus.groovy</groupId>
                         <artifactId>groovy-eclipse-batch</artifactId>
@@ -68,6 +72,7 @@
             <groupId>org.codehaus.groovy</groupId>
             <artifactId>groovy-all</artifactId>
             <version>${groovy.version}</version>
+            <type>pom</type>
         </dependency>
     </dependencies>
 </project>
\ No newline at end of file
index 34f8668..2139bc2 100644 (file)
     <!-- Static version, we don't want it to be deployed anyway-->
     <version>1.0.0</version>
     <properties>
-        <commons-csv.version>1.4</commons-csv.version>
+        <commons-csv.version>1.6</commons-csv.version>
         <honeycomb.version>1.19.04-SNAPSHOT</honeycomb.version>
-        <maven.groovy.version>2.0</maven.groovy.version>
-        <groovy.version>2.4.7</groovy.version>
-        <groovy.eclipse.compiler.version>2.9.2-01</groovy.eclipse.compiler.version>
-        <groovy.eclipse.batch.version>2.4.3-01</groovy.eclipse.batch.version>
+        <maven.groovy.version>1.6.2</maven.groovy.version>
+        <groovy.version>2.5.5</groovy.version>
+        <groovy.eclipse.compiler.version>3.3.0-01</groovy.eclipse.compiler.version>
+        <groovy.eclipse.batch.version>2.5.6-02</groovy.eclipse.batch.version>
     </properties>
     <!-- to be runnable from command line -->
     <packaging>jar</packaging>
@@ -72,6 +72,7 @@
             <groupId>org.codehaus.groovy</groupId>
             <artifactId>groovy-all</artifactId>
             <version>${groovy.version}</version>
+            <type>pom</type>
         </dependency>
 
         <dependency>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.19.1</version>
+                <version>2.22.0</version>
                 <configuration>
                     <skipTests>true</skipTests>
+                    <!-- allow reflection for documentation -->
+                    <argLine>--illegal-access=permit</argLine>
                 </configuration>
             </plugin>
 
 
             <!-- generate scripts for benchmarks -->
             <plugin>
-                <groupId>org.codehaus.gmaven</groupId>
-                <artifactId>groovy-maven-plugin</artifactId>
+                <groupId>org.codehaus.gmavenplus</groupId>
+                <artifactId>gmavenplus-plugin</artifactId>
                 <executions>
                     <!-- script for on-rest memory benchmark -->
                     <execution>
                         </goals>
                         <!-- 0 data samples == empty config file, therefore same as honeycomb on rest -->
                         <configuration>
-                            <source>
-                            io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-on-rest-out", 0)
-                            </source>
+                            <scripts>
+                                <script>
+                                    <![CDATA[
+                                        import io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator
+                                        MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-on-rest-out", 0)
+                                    ]]>
+                                </script>
+                            </scripts>
                         </configuration>
                     </execution>
                     <!-- script for memory benchmark with 1000 nodes in config data-->
                             <goal>execute</goal>
                         </goals>
                         <configuration>
-                            <source>
-                            io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-with-data-out", 1000)
-                            </source>
+                            <scripts>
+                                <script>
+                                    <![CDATA[
+                                        import io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator
+                                        MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-with-data-out", 1000)
+                                    ]]>
+                                </script>
+                            </scripts>
                         </configuration>
                     </execution>
                     <!-- script for memory benchmark with 10000 nodes in config data-->
                             <goal>execute</goal>
                         </goals>
                         <configuration>
-                            <source>
-                            io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-with-data-out", 10000)
-                            </source>
+                            <scripts>
+                                <script>
+                                    <![CDATA[
+                                        import io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator
+                                        MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-with-data-out", 10000)
+                                    ]]>
+                                </script>
+                            </scripts>
                         </configuration>
                     </execution>
                 </executions>
index ce41ada..463f5f0 100644 (file)
             <artifactId>commons-io</artifactId>
             <version>${commons-io.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.javassist</groupId>
+            <artifactId>javassist</artifactId>
+        </dependency>
         <dependency>
             <groupId>javax.activation</groupId>
             <artifactId>activation</artifactId>
index c8f207b..fe3eea2 100644 (file)
@@ -88,7 +88,7 @@
         </dependency>
         <dependency>
             <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest-all</artifactId>
+            <artifactId>hamcrest</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
index 0a9bd9c..9706871 100644 (file)
@@ -55,13 +55,13 @@ public class ActiveModuleProviderTest {
         assertThat(activeModules, hasItem(isA(Modules.ChildModule3.class)));
     }
 
-    @Test(expected = IllegalStateException.class)
+    @Test
     public void testLoadActiveModulesFailed() {
         final ImmutableList rawResources = of(
                 "// this should be skipped",
                 "// io.fd.honeycomb.infra.distro.Modules$ChildModule1",
                 "               io.fd.honeycomb.infra.distro.Modules$ChildModule2",
-                "### io.fd.honeycomb.infra.distro.Modules$ChildModule3     ",// it should fail because of this
+                "io.fd.honeycomb.infra.distro.Modules$ChildModule3     ",// it should fail because of this
                 "io.fd.honeycomb.infra.distro.Modules$ChildModule3",
                 "io.fd.honeycomb.infra.distro.Modules$NonModule"
         );
index 01c9750..a8f592b 100644 (file)
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Starts & stops notification producer dependencies on demand.
+ * Starts &amp; stops notification producer dependencies on demand.
  * Uses {@link DOMNotificationSubscriptionListenerRegistry} to receive subscription change notifications.
  */
 @ThreadSafe
index 2e4a5a7..5a32c1e 100644 (file)
             <artifactId>commons-lang3</artifactId>
             <version>3.8.1</version>
         </dependency>
-
+        <dependency>
+            <groupId>org.javassist</groupId>
+            <artifactId>javassist</artifactId>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 </project>
\ No newline at end of file
index ae5164b..035e599 100644 (file)
@@ -24,7 +24,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 /**
  * Generic initializer.
- * <p/>
+ *
  * Capable of invoking 0..n edits as a result of existing operational data.
  */
 @Beta
index f62bcaf..4ac8b5b 100644 (file)
@@ -72,7 +72,7 @@
         </dependency>
         <dependency>
             <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest-all</artifactId>
+            <artifactId>hamcrest</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
index d715dde..8cb0ecf 100644 (file)
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Composite implementation of {@link ListReader} able to place the read result into parent builder object intended
  * for list node type.
- * <p/>
+ *
  * This reader checks if the IDs are wildcarded in which case it performs read of all list entries. In case the ID has a
  * key, it reads only the specified value.
  */
index 4783c9c..2570e23 100644 (file)
@@ -46,8 +46,8 @@ import org.slf4j.LoggerFactory;
 /**
  * Simple reader registry able to perform and aggregated read (ROOT read) on top of all provided readers. Also able to
  * delegate a specific read to one of the delegate readers.
- * <p/>
- * This could serve as a utility to hold & hide all available readers in upper layers.
+ *
+ * This could serve as a utility to hold &amp; hide all available readers in upper layers.
  */
 public final class CompositeReaderRegistry implements ReaderRegistry {
 
index 64585c1..a53cbda 100644 (file)
@@ -86,7 +86,7 @@ public final class CompositeReaderRegistryBuilder
 
     /**
      * Create {@link CompositeReaderRegistry} with Readers ordered according to submitted relationships.
-     * <p/>
+     *
      * Note: The ordering only applies between nodes on the same level, inter-level and inter-subtree relationships are
      * ignored.
      */
index bdda216..0250337 100644 (file)
@@ -90,7 +90,7 @@ final class SubtreeWriter<D extends DataObject> implements Writer<D> {
     }
 
     @Override
-    public boolean canProcess(@Nonnull InstanceIdentifier<?> instanceIdentifier) {
+    public boolean canProcess(@Nonnull final InstanceIdentifier<? extends DataObject> instanceIdentifier) {
         if (isWildcarded) {
             final Class<D> parent = delegate.getManagedDataObjectType().getTargetType();
             for (InstanceIdentifier.PathArgument pathArgument : instanceIdentifier.getPathArguments()) {
index ce4b2a6..5d90166 100644 (file)
@@ -23,7 +23,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 /**
  * ReadCustomizers which want to participate in the initializing process need to implement this interface.
- * <p/>
+ *
  * It is triggered after Honeycomb initializes the plugins to give them a change
  * reconcile(put data in HC in sync with underlying layer) with the underlying layer.
  */
index 8653f22..5de5020 100644 (file)
@@ -74,7 +74,7 @@
         </dependency>
         <dependency>
             <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest-all</artifactId>
+            <artifactId>hamcrest</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
index 2bd2de1..87e9864 100644 (file)
@@ -142,7 +142,7 @@ public final class RWUtils {
 
     /**
      * Transform a keyed instance identifier into a wildcarded one.
-     * <p/>
+     *
      * ! This has to be called also for wildcarded List instance identifiers
      * due to weird behavior of equals in InstanceIdentifier !
      */
index a9e9582..a201b75 100644 (file)
@@ -53,12 +53,12 @@ public final class DumpCacheManager<T, U> {
     }
 
     /**
-     * Returns {@link Optional<T>} of dump
+     * Returns {@link Optional} of dump
      *
      * @param identifier identifier for origin of dumping context
      * @param cache      modification cache of current transaction
      * @throws ReadFailedException if execution of dumping request failed
-     * @returns If present in cache ,returns cached instance, if not, tries to dump data using provided executor,
+     * @return If present in cache ,returns cached instance, if not, tries to dump data using provided executor,
      * otherwise Optional.empty()
      */
     public Optional<T> getDump(@Nonnull final InstanceIdentifier<?> identifier,
@@ -68,13 +68,13 @@ public final class DumpCacheManager<T, U> {
     }
 
     /**
-     * Returns {@link Optional<T>} of dump
+     * Returns {@link Optional} of dump
      *
      * @param identifier identifier for origin of dumping context
      * @param cache      modification cache of current transaction
      * @param dumpParams parameters to configure dump request
      * @throws ReadFailedException if execution of dumping request failed
-     * @returns If present in cache ,returns cached instance, if not, tries to dump data using provided executor,
+     * @return If present in cache ,returns cached instance, if not, tries to dump data using provided executor,
      * otherwise Optional.empty()
      */
     public Optional<T> getDump(@Nonnull final InstanceIdentifier<?> identifier,
index f2be170..19c2591 100644 (file)
     <plugins>
       <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.8.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
       </plugin>
       <plugin>
-        <groupId>org.codehaus.gmaven</groupId>
-        <artifactId>groovy-maven-plugin</artifactId>
+        <groupId>org.codehaus.gmavenplus</groupId>
+        <artifactId>gmavenplus-plugin</artifactId>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
index f5b6614..80421e9 100644 (file)
@@ -25,7 +25,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 /**
  * Example of an aggregated access interface.
- * <p/>
+ *
  * Shared by all the customizers hiding the ugly details of our data management.
  *
  * TODO update javadoc
index 52a317b..6ee2828 100644 (file)
@@ -23,7 +23,7 @@ import net.jmob.guice.conf.core.Syntax;
 /**
  * Class containing static configuration for ${rootArtifactId} module,<br>
  * either loaded from property file ${rootArtifactId}.json from classpath.
- * <p/>
+ *
  * Further documentation for the configuration injection can be found at:
  * https://github.com/yyvess/gconf
  */
index 22e8032..5cfd3da 100644 (file)
@@ -94,7 +94,7 @@ public final class ElementStateCustomizer implements
     /**
      *
      * Initialize configuration data based on operational data.
-     * <p/>
+     *
      * Very useful when a plugin is initiated but the underlying layer already contains some operation state.
      * Deriving the configuration from existing operational state enables reconciliation in case when
      * Honeycomb's persistence is not available to do the work for us.