This is an automated email from the ASF dual-hosted git repository.

shuber pushed a commit to branch UNOMI-259-jdk11-support
in repository https://gitbox.apache.org/repos/asf/unomi.git


The following commit(s) were added to refs/heads/UNOMI-259-jdk11-support by 
this push:
     new 3093a2b  UNOMI-259 - Fix integration tests & performance tests that 
were not executing with JDK 11
3093a2b is described below

commit 3093a2b9f1104052dd9fa7f55a47f226774c1375
Author: Serge Huber <[email protected]>
AuthorDate: Mon Dec 23 16:40:04 2019 +0100

    UNOMI-259
    - Fix integration tests & performance tests that were not executing with 
JDK 11
    
    Signed-off-by: Serge Huber <[email protected]>
---
 .../test/java/org/apache/unomi/itests/BaseIT.java  | 47 +++++++++++++++++++++-
 .../apache/unomi/performancetests/BasicTest.java   | 40 +++++++++++++++++-
 pom.xml                                            |  4 +-
 3 files changed, 86 insertions(+), 5 deletions(-)

diff --git a/itests/src/test/java/org/apache/unomi/itests/BaseIT.java 
b/itests/src/test/java/org/apache/unomi/itests/BaseIT.java
index 11e93aa..d1bdd33 100644
--- a/itests/src/test/java/org/apache/unomi/itests/BaseIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/BaseIT.java
@@ -21,11 +21,16 @@ import org.junit.Assert;
 import org.ops4j.pax.exam.Configuration;
 import org.ops4j.pax.exam.CoreOptions;
 import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.karaf.container.internal.JavaVersionUtil;
 import org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel;
 import org.ops4j.pax.exam.options.MavenArtifactUrlReference;
 import org.ops4j.pax.exam.options.MavenUrlReference;
+import org.ops4j.pax.exam.options.extra.VMOption;
 
 import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 import java.util.function.Predicate;
 import java.util.function.Supplier;
 
@@ -61,7 +66,9 @@ public abstract class BaseIT {
                 .type("xml")
                 .versionAsInProject();
 
-        return new Option[]{
+        List<Option> options = new ArrayList<>();
+
+        Option[] commonOptions = new Option[]{
                 debugConfiguration("5006", false),
                 karafDistributionConfiguration()
                         .frameworkUrl(karafUrl)
@@ -86,7 +93,7 @@ public abstract class BaseIT {
                 
replaceConfigurationFile("data/tmp/testLoginEventCondition.json", new File(
                         "src/test/resources/testLoginEventCondition.json")),
                 keepRuntimeFolder(),
-                configureConsole().ignoreLocalConsole(),
+                // configureConsole().ignoreLocalConsole(),
                 logLevel(LogLevel.INFO),
                 editConfigurationFilePut("etc/org.ops4j.pax.logging.cfg", 
"log4j2.rootLogger.level", "INFO"),
                 editConfigurationFilePut("etc/org.apache.karaf.features.cfg", 
"serviceRequirements", "disable"),
@@ -107,6 +114,42 @@ public abstract class BaseIT {
                 CoreOptions.bundleStartLevel(100),
                 CoreOptions.frameworkStartLevel(100)
         };
+
+        options.addAll(Arrays.asList(commonOptions));
+
+        if (JavaVersionUtil.getMajorVersion() >= 9) {
+            Option[] jdk9PlusOptions = new Option[]{
+                    new VMOption("--add-reads=java.xml=java.logging"),
+                    new 
VMOption("--add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED"),
+                    new VMOption("--patch-module"),
+                    new 
VMOption("java.base=lib/endorsed/org.apache.karaf.specs.locator-"
+                            + System.getProperty("karaf.version") + ".jar"),
+                    new VMOption("--patch-module"), new 
VMOption("java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-"
+                    + System.getProperty("karaf.version") + ".jar"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.base/java.security=ALL-UNNAMED"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.base/java.net=ALL-UNNAMED"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.base/java.lang=ALL-UNNAMED"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.base/java.util=ALL-UNNAMED"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.naming/javax.naming.spi=ALL-UNNAMED"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED"),
+                    new 
VMOption("--add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED"),
+                    new 
VMOption("--add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED"),
+                    new 
VMOption("--add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED"),
+                    new 
VMOption("--add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED"),
+                    new VMOption("-classpath"),
+                    new VMOption("lib/jdk9plus/*" + File.pathSeparator + 
"lib/boot/*")
+
+            };
+            options.addAll(Arrays.asList(jdk9PlusOptions));
+        }
+
+        return options.toArray(new Option[0]);
     }
 
     protected <T> T keepTrying(String failMessage, Supplier<T> call, 
Predicate<T> predicate, int timeout, int retries) throws InterruptedException {
diff --git 
a/performance-tests/src/test/java/org/apache/unomi/performancetests/BasicTest.java
 
b/performance-tests/src/test/java/org/apache/unomi/performancetests/BasicTest.java
index be3d7fe..ceda53b 100644
--- 
a/performance-tests/src/test/java/org/apache/unomi/performancetests/BasicTest.java
+++ 
b/performance-tests/src/test/java/org/apache/unomi/performancetests/BasicTest.java
@@ -90,7 +90,9 @@ public class BasicTest {
             localRepository = "";
         }
 
-        return new Option[]{
+        List<Option> options = new ArrayList<>();
+
+        Option[] commonOptions = new Option[]{
                 KarafDistributionOption.debugConfiguration("5005", false),
                 KarafDistributionOption.logLevel(LogLevel.INFO),
                 
KarafDistributionOption.editConfigurationFilePut("etc/org.ops4j.pax.url.mvn.cfg",
 "org.ops4j.pax.url.mvn.localRepository", localRepository),
@@ -111,6 +113,42 @@ public class BasicTest {
 //                wrappedBundle(mavenBundle("com.h2database",
 //                        "h2", "1.4.181"))
         };
+
+        options.addAll(Arrays.asList(commonOptions));
+
+        if (JavaVersionUtil.getMajorVersion() >= 9) {
+            Option[] jdk9PlusOptions = new Option[]{
+                    new VMOption("--add-reads=java.xml=java.logging"),
+                    new 
VMOption("--add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED"),
+                    new VMOption("--patch-module"),
+                    new 
VMOption("java.base=lib/endorsed/org.apache.karaf.specs.locator-"
+                            + System.getProperty("karaf.version") + ".jar"),
+                    new VMOption("--patch-module"), new 
VMOption("java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-"
+                    + System.getProperty("karaf.version") + ".jar"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.base/java.security=ALL-UNNAMED"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.base/java.net=ALL-UNNAMED"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.base/java.lang=ALL-UNNAMED"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.base/java.util=ALL-UNNAMED"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.naming/javax.naming.spi=ALL-UNNAMED"),
+                    new VMOption("--add-opens"),
+                    new VMOption("java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED"),
+                    new 
VMOption("--add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED"),
+                    new 
VMOption("--add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED"),
+                    new 
VMOption("--add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED"),
+                    new 
VMOption("--add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED"),
+                    new VMOption("-classpath"),
+                    new VMOption("lib/jdk9plus/*" + File.pathSeparator + 
"lib/boot/*")
+
+            };
+            options.addAll(Arrays.asList(jdk9PlusOptions));
+        }
+
+        return options.toArray(new Option[0]);
     }
 
     @BenchmarkOptions(benchmarkRounds = 100, warmupRounds = 0, concurrency = 
10)
diff --git a/pom.xml b/pom.xml
index 33bc991..3e30b82 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,11 +77,11 @@
 
         <maven.compiler.source>${java.version}</maven.compiler.source>
         <maven.compiler.target>${java.version}</maven.compiler.target>
-        <scala.version>2.11.4</scala.version>
+        <scala.version>2.12.6</scala.version>
         <encoding>UTF-8</encoding>
 
         <gatling.version>2.1.2</gatling.version>
-        <scala-maven-plugin.version>3.2.0</scala-maven-plugin.version>
+        <scala-maven-plugin.version>4.3.0</scala-maven-plugin.version>
 
         <!-- Librairies for Karaf packaging -->
         <xerces.version>2.11.0_1</xerces.version>

Reply via email to