diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5777b74a..48b07f90 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - java: [ '8' ] + java: [ '8', '11', '17', '21' ] os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ] fail-fast: false steps: diff --git a/OpenICF-dbcommon/src/test/java/org/identityconnectors/dbcommon/PropertiesResolverTest.java b/OpenICF-dbcommon/src/test/java/org/identityconnectors/dbcommon/PropertiesResolverTest.java index a44c9368..4c0c26be 100644 --- a/OpenICF-dbcommon/src/test/java/org/identityconnectors/dbcommon/PropertiesResolverTest.java +++ b/OpenICF-dbcommon/src/test/java/org/identityconnectors/dbcommon/PropertiesResolverTest.java @@ -101,7 +101,9 @@ public void testRecursion() { properties.setProperty("key3", "value3 ${key2}"); properties = PropertiesResolver.resolveProperties(properties); System.out.println(properties.get("key3")); - Assert.assertEquals("value3 value2 value1 RECURSION", properties.get("key3")); + String key3val = properties.get("key3").toString(); + Assert.assertTrue(key3val.startsWith("value3 value2 value1")); + Assert.assertTrue(key3val.endsWith("RECURSION")); } } diff --git a/OpenICF-groovy-connector/pom.xml b/OpenICF-groovy-connector/pom.xml index f22da31c..392ab5de 100644 --- a/OpenICF-groovy-connector/pom.xml +++ b/OpenICF-groovy-connector/pom.xml @@ -61,7 +61,6 @@ org.codehaus.groovy groovy-all - 2.4.7 provided @@ -232,11 +231,10 @@ - org.codehaus.gmaven - gmaven-plugin - 1.5 + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 - 2.0 UTF-8 @@ -245,20 +243,15 @@ generateStubs compile generateTestStubs - testCompile + compileTests - - org.codehaus.gmaven.runtime - gmaven-runtime-2.0 - 1.5 - org.codehaus.groovy groovy-all - 2.2.2 + ${groovy.version} diff --git a/OpenICF-java-framework/bundles-parent/pom.xml b/OpenICF-java-framework/bundles-parent/pom.xml index 2ddb2470..7b8a0792 100644 --- a/OpenICF-java-framework/bundles-parent/pom.xml +++ b/OpenICF-java-framework/bundles-parent/pom.xml @@ -188,7 +188,7 @@ http://download.oracle.com/javase/8/docs/api/ http://docs.groovy-lang.org/latest/html/api/ - http://openicf.forgerock.org/apidocs/ + @@ -216,6 +216,7 @@ org.apache.felix maven-bundle-plugin true + 5.1.9 ${openicf.osgi.exclude.dependencies} diff --git a/OpenICF-java-framework/connector-framework-internal/pom.xml b/OpenICF-java-framework/connector-framework-internal/pom.xml index 9d2e4b4d..03f02535 100644 --- a/OpenICF-java-framework/connector-framework-internal/pom.xml +++ b/OpenICF-java-framework/connector-framework-internal/pom.xml @@ -36,6 +36,22 @@ The IdentityConnectors framework provides a container to separate the Connector bundle from the application. The framework provides many common features that developers would otherwise need to implement on their own. + + + jdk17.options + + [17,) + + + + org.openjdk.nashorn + nashorn-core + 15.4 + true + + + + diff --git a/OpenICF-java-framework/connector-framework-internal/src/main/java/org/identityconnectors/common/script/javascript/JavaScriptExecutorFactory.java b/OpenICF-java-framework/connector-framework-internal/src/main/java/org/identityconnectors/common/script/javascript/JavaScriptExecutorFactory.java index 88541b6f..4064ef97 100644 --- a/OpenICF-java-framework/connector-framework-internal/src/main/java/org/identityconnectors/common/script/javascript/JavaScriptExecutorFactory.java +++ b/OpenICF-java-framework/connector-framework-internal/src/main/java/org/identityconnectors/common/script/javascript/JavaScriptExecutorFactory.java @@ -44,9 +44,10 @@ * Creates a new ScriptExecutorFactory for executing JavaScript scripts. */ public class JavaScriptExecutorFactory extends ScriptExecutorFactory { - public static final String JAVA_SCRIPT = "JavaScript"; - private final ScriptEngineManager manager = new ScriptEngineManager(null); + private final ScriptEngineManager manager = + Double.parseDouble(System.getProperty("java.specification.version")) < 15 + ? new ScriptEngineManager(null) : new ScriptEngineManager(); private final boolean compilable; /** diff --git a/OpenICF-java-framework/connector-server-jetty/pom.xml b/OpenICF-java-framework/connector-server-jetty/pom.xml index 287d6324..246b15c7 100644 --- a/OpenICF-java-framework/connector-server-jetty/pom.xml +++ b/OpenICF-java-framework/connector-server-jetty/pom.xml @@ -38,7 +38,6 @@ - 9.4.51.v20230217 UTF-8 diff --git a/OpenICF-java-framework/pom.xml b/OpenICF-java-framework/pom.xml index ecadbef5..819a162c 100644 --- a/OpenICF-java-framework/pom.xml +++ b/OpenICF-java-framework/pom.xml @@ -80,7 +80,7 @@ 1.7.12 1.1.7 - 2.2.2 + 2.4.21 2.3.35 3.0.2 @@ -122,7 +122,26 @@ - + + jdk17.options + + [17,) + + + 15.4 + + + + + org.openjdk.nashorn + nashorn-core + ${nashorn.version} + provided + true + + + + @@ -134,7 +153,6 @@ ${groovy.version} provided - org.openidentityplatform.openicf.framework @@ -202,6 +220,7 @@ org.apache.felix maven-bundle-plugin true + 5.1.9 diff --git a/OpenICF-kerberos-connector/pom.xml b/OpenICF-kerberos-connector/pom.xml index 3c7a52a3..f0b7cd93 100644 --- a/OpenICF-kerberos-connector/pom.xml +++ b/OpenICF-kerberos-connector/pom.xml @@ -76,11 +76,10 @@ maven-compiler-plugin - org.codehaus.gmaven - gmaven-plugin - 1.5 + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 - 2.0 UTF-8 @@ -92,15 +91,10 @@ - - org.codehaus.gmaven.runtime - gmaven-runtime-2.0 - 1.5 - org.codehaus.groovy groovy-all - 2.2.2 + ${groovy.version} diff --git a/OpenICF-ssh-connector/pom.xml b/OpenICF-ssh-connector/pom.xml index ac79bad2..cd2b1010 100644 --- a/OpenICF-ssh-connector/pom.xml +++ b/OpenICF-ssh-connector/pom.xml @@ -39,8 +39,6 @@ OpenICF SSH Connector Generic SSH connector - 1.7 - 1.7 org.forgerock.openicf.connectors.ssh SSHConnector 1.5 @@ -108,11 +106,10 @@ - org.codehaus.gmaven - gmaven-plugin - 1.5 + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 - 2.0 UTF-8 @@ -121,20 +118,15 @@ generateStubs compile generateTestStubs - testCompile + compileTests - - org.codehaus.gmaven.runtime - gmaven-runtime-2.0 - 1.5 - org.codehaus.groovy groovy-all - 2.2.2 + ${groovy.version} diff --git a/pom.xml b/pom.xml index d11ae533..83d910d5 100644 --- a/pom.xml +++ b/pom.xml @@ -16,6 +16,7 @@ 1.8 1.8 UTF-8 + @@ -141,6 +142,21 @@ + + jdk17.options + + [17,) + + + + --add-opens java.base/java.lang=ALL-UNNAMED + --add-opens java.base/java.security=ALL-UNNAMED + --add-opens java.base/java.net=ALL-UNNAMED + --add-opens java.base/java.lang.reflect=ALL-UNNAMED + --add-opens java.base/java.util=ALL-UNNAMED + + + @@ -249,6 +265,9 @@ org.apache.maven.plugins maven-surefire-plugin 3.2.5 + + ${java.surefire.options} + org.apache.maven.plugins