I can't comment on non-Oracle JDKs, but It's in libjli so anything based on OpenJDK should support it.
-DrD- > I was not aware of the existence of the -fullversion option. It is not listed > at the Oracle site, afaik. Can it be assumed to be present in non-OpenJDK, > non-Oracle JDKs? > > David DeHaven schreef op 2015-08-26 15:38: >>> The gradle build tries to find the version of the used Java JDK by running >>> 'java -version', skipping the first line and expects to find the version in >>> the second line. >>> However, on Linux (Ubuntu) the first line of *any* Java invocation is >>> "Picked up JAVA_TOOL_OPTIONS: >>> -javaagent:/usr/share/java/jayatanaag.jar"[1], thus failing at detection of >>> the version, aborting the build. >>> The 'Pickup up...' line is a standard feature of the JDK and a legacy that >>> doesn't seem to be removed soon[2]. >>> I guess the build script needs to accommodate for this. >>> Proposed fix: >>> // Determine the verion of Java in JDK_HOME. It looks like this: >>> // >>> // $ java -version >>> // Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar >>> // java version "1.7.0_45" >>> // Java(TM) SE Runtime Environment (build 1.7.0_45-b18) >>> // Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode) >>> // >>> // The first line is optional, we need to parse the third line >>> def inStream = new java.io.BufferedReader(new java.io.InputStreamReader(new >>> java.lang.ProcessBuilder(JAVA, "-version").start().getErrorStream())); >>> try { >>> String v = inStream.readLine(); >>> if (v != null) { >>> if (v.startsWith("Picked up")) { >>> inStream.readLine(); >>> } >>> v = inStream.readLine(); >> Why not just use "java -fullversion" instead? >> $ java -fullversion >> java full version "1.8.0_60-ea-b14" >> $ JAVA_TOOL_OPTIONS="-Xmx512M" java -fullversion >> java full version "1.8.0_60-ea-b14" >> $ java -version >> java version "1.8.0_60-ea" >> Java(TM) SE Runtime Environment (build 1.8.0_60-ea-b14) >> Java HotSpot(TM) 64-Bit Server VM (build 25.60-b14, mixed mode) >> $ JAVA_TOOL_OPTIONS="-Xmx512M" java -version >> Picked up JAVA_TOOL_OPTIONS: -Xmx512M >> java version "1.8.0_60-ea" >> Java(TM) SE Runtime Environment (build 1.8.0_60-ea-b14) >> Java HotSpot(TM) 64-Bit Server VM (build 25.60-b14, mixed mode) >> It's a lot less stuff to parse. Also, "java -fullversion" does not >> start the VM, so should be faster. >> -DrD- >