makes it possible to actually override the container options - requires latest TomEE changes
diff --git a/ec2jdk10 b/ec2jdk10
index f6bbc1e..aa464eb 100644
--- a/ec2jdk10
+++ b/ec2jdk10
@@ -4,4 +4,4 @@
source "$(dirname $(readlink -f $0))/ec2jdk7"
# for the standalone tomee
-export MAVEN_OPTS="-Dtck.java.home=$HOME/jdk10 -Dtck.java.version=10.0 $MAVEN_OPTS"
+export MAVEN_OPTS="-Dcontainer.java.home=$HOME/jdk10 -Dcontainer.java.version=10.0 $MAVEN_OPTS"
diff --git a/ec2jdk11 b/ec2jdk11
index bcece60..f2a6f2e 100644
--- a/ec2jdk11
+++ b/ec2jdk11
@@ -4,4 +4,4 @@
source "$(dirname $(readlink -f $0))/ec2jdk8"
# for the standalone tomee
-export MAVEN_OPTS="-Dtck.java.home=$HOME/jdk11 -Dtck.java.version=11.0 $MAVEN_OPTS"
+export MAVEN_OPTS="-Dcontainer.java.home=$HOME/jdk11 -Dcontainer.java.version=11.0 $MAVEN_OPTS"
diff --git a/ec2jdk9 b/ec2jdk9
index a8437b3..ce3fee1 100644
--- a/ec2jdk9
+++ b/ec2jdk9
@@ -4,4 +4,4 @@
source "$(dirname $(readlink -f $0))/ec2jdk7"
# for the standalone tomee
-export MAVEN_OPTS="-Dtck.java.home=$HOME/jdk9 -Dtck.java.version=1.9 $MAVEN_OPTS"
+export MAVEN_OPTS="-Dcontainer.java.home=$HOME/jdk9 -Dcontainer.java.version=1.9 $MAVEN_OPTS"
diff --git a/java11.source b/java11.source
index 3caba86..7f607ee 100644
--- a/java11.source
+++ b/java11.source
@@ -11,7 +11,7 @@
tomee_version=8.0.0-SNAPSHOT
# we run tck with java 7 for the runner (javatest jvm) but java 9 for the server
-export MAVEN_OPTS="-Dtck.java.home=$JAVA_11_HOME -Dtck.java.version=11 -Dopenejb.groupId=org.apache.tomee -Dopenejb.version=$tomee_version -Dtomee.version=$tomee_version"
+export MAVEN_OPTS="-Dcontainer.java.home=$JAVA_11_HOME -Dcontainer.java.version=11 -Dopenejb.groupId=org.apache.tomee -Dopenejb.version=$tomee_version -Dtomee.version=$tomee_version"
echo "MAVEN_OPTS set for java 11"
function tomeeTckCheckJavaRunVersion() {
diff --git a/java9.source b/java9.source
index 86cc7b9..3bb5704 100644
--- a/java9.source
+++ b/java9.source
@@ -11,7 +11,7 @@
tomee_version=7.0.4-SNAPSHOT
# we run tck with java 7 for the runner (javatest jvm) but java 9 for the server
-export MAVEN_OPTS="-Dtck.java.home=$JAVA9_HOME -Dtck.java.version=1.9 -Dopenejb.groupId=org.apache.tomee -Dopenejb.version=$tomee_version -Dtomee.version=$tomee_version"
+export MAVEN_OPTS="-Dcontainer.java.home=$JAVA9_HOME -Dcontainer.java.version=1.9 -Dopenejb.groupId=org.apache.tomee -Dopenejb.version=$tomee_version -Dtomee.version=$tomee_version"
echo "MAVEN_OPTS set for java 9"
function tomeeTckCheckJavaRunVersion() {
diff --git a/src/main/java/org/apache/openejb/cts/DeploymentImpl.java b/src/main/java/org/apache/openejb/cts/DeploymentImpl.java
index 5cef355..3a572b3 100644
--- a/src/main/java/org/apache/openejb/cts/DeploymentImpl.java
+++ b/src/main/java/org/apache/openejb/cts/DeploymentImpl.java
@@ -26,6 +26,7 @@
import com.sun.ts.lib.porting.TSDeploymentException;
import com.sun.ts.lib.porting.TSDeploymentInterface2;
import org.apache.openejb.config.RemoteServer;
+import org.apache.openejb.testng.PropertiesBuilder;
import javax.enterprise.deploy.spi.DeploymentManager;
import javax.enterprise.deploy.spi.Target;
@@ -54,13 +55,24 @@
private static final String CLIENT_MAIN = "org.apache.openejb.client.Main";
static {
-// System.setProperty("java.opts", "-Xmx128m -XX:MaxPermSize=128m");
-// System.setProperty("java.opts", "-XX:MaxPermSize=64m");
-// System.setProperty("openejb.server.profile", "true");
- System.setProperty("java.opts", "-Dopenejb.deployer.jndiname=openejb/DeployerBusinessRemote");
- final RemoteServer remoteServer = new RemoteServer(250, true);
- // remoteServer.start(Arrays.asList("-Xmx128m", "-XX:MaxPermSize=128m"), "start", true);
- // remoteServer.start(Arrays.asList("-Djava.util.logging.config.file=/logging.properties"), "start", true);
+
+ Properties overrides = new Properties();
+ String containerJavaHome = System.getProperty("container.java.home");
+ String containerJavaVersion = System.getProperty("container.java.version");
+ String containerJavaOpts = System.getProperty("container.java.opts", "-Dopenejb.deployer.jndiname=openejb/DeployerBusinessRemote");
+ if (containerJavaVersion != null) {
+ overrides.put("java.version", containerJavaVersion);
+ }
+
+ if (containerJavaHome != null) {
+ overrides.put("java.home", containerJavaHome);
+ }
+
+ if (containerJavaOpts != null) {
+ overrides.put("java.opts", containerJavaOpts);
+ }
+
+ final RemoteServer remoteServer = new RemoteServer(overrides, 250, true);
remoteServer.start();
Runtime.getRuntime().addShutdownHook(new Thread() {
diff --git a/src/test/script/openejb/tck/commands/JavaTestCommand.groovy b/src/test/script/openejb/tck/commands/JavaTestCommand.groovy
index 098d353..5a5907a 100644
--- a/src/test/script/openejb/tck/commands/JavaTestCommand.groovy
+++ b/src/test/script/openejb/tck/commands/JavaTestCommand.groovy
@@ -202,23 +202,52 @@
def tckJavaHome = get('tck.java.home')
if (tckJavaHome != null) {
- log.info("Using java home ${tckJavaHome}")
+ log.info("Using java home (javatest) ${tckJavaHome}")
jvmarg(value: "-Dtck.java.home=${tckJavaHome}")
}
def tckJavaVersion = get('tck.java.version')
if (tckJavaVersion != null) {
- log.info("Using java version ${tckJavaVersion}")
+ log.info("Using java version (javatest) ${tckJavaVersion}")
jvmarg(value: "-Dtck.java.version=${tckJavaVersion}")
}
- def opts = get('tck.java.opts')
- if (tckJavaVersion != null && (tckJavaVersion.startsWith("9") || tckJavaVersion.startsWith("1.9") || tckJavaVersion.startsWith("10") || tckJavaVersion.startsWith("11") )) {
- jvmarg(value: "-Dtck.java.opts=" +
- "-Dopenejb.deployer.jndiname=openejb/WebappDeployerRemote " +
+ def tckJavaOpts = get('tck.java.opts')
+ if (tckJavaOpts != null) {
+ log.info("Using java home (javatest) ${tckJavaOpts}")
+ jvmarg(value: "-Dtck.java.opts=${tckJavaOpts}")
+ }
+
+ def containerJavaHome = get('container.java.home')
+ if (containerJavaHome != null) {
+ log.info("Using java home (container) ${containerJavaHome}")
+ jvmarg(value: "-Dcontainer.java.home=${containerJavaHome}")
+ }
+
+ def containerJavaVersion = get('container.java.version')
+ if (containerJavaVersion != null) {
+ log.info("Using java version (container) ${containerJavaVersion}")
+ jvmarg(value: "-Dcontainer.java.version=${containerJavaVersion}")
+ }
+
+ def containerJavaOpts = get('container.java.opts')
+ if (containerJavaOpts != null) {
+ log.info("Using java opts (container) ${containerJavaOpts}")
+ jvmarg(value: "-Dcontainer.java.opts=${containerJavaOpts}")
+ }
+
+ if (containerJavaOpts != null &&
+ (containerJavaOpts.startsWith("9") || containerJavaOpts.startsWith("1.9")
+ || containerJavaOpts.startsWith("10") || containerJavaOpts.startsWith("11") )) {
+
+ def modulesOptions = "-Dcontainer.java.opts=" +
+ "-Dopenejb.deployer.jndiname=openejb/DeployerBusinessRemote " +
"--add-opens java.base/java.net=ALL-UNNAMED " +
"--add-opens java.base/java.lang=ALL-UNNAMED " +
- "--add-modules java.xml.bind,java.corba")
+ "--add-modules java.xml.bind,java.corba"
+
+ log.info("Java modules detected - overridding java options for container with ${modulesOptions}.")
+ jvmarg(value: modulesOptions)
}
sysproperty(key: "user.language", value: 'en')
@@ -327,8 +356,10 @@
// HACK: Some pre-running feedback (have to include this in the java closure)
//
log.info("Running tests...")
- log.info("> Container Java Version: ${tckJavaVersion}")
- log.info("> Container Java Home: ${tckJavaHome}")
+ log.info("> JavaTest Java Version: ${tckJavaVersion}")
+ log.info("> JavaTest Java Home: ${tckJavaHome}")
+ log.info("> Container Java Version: ${containerJavaVersion}")
+ log.info("> Container Java Home: ${containerJavaHome}")
line()
}