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