Browse Source

Fixed regression on javac version selection in case build.compiler property is set.

master
jkf 5 years ago
parent
commit
aac25de91c
1 changed files with 15 additions and 7 deletions
  1. +15
    -7
      src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java

+ 15
- 7
src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java View File

@@ -796,8 +796,7 @@ public abstract class DefaultCompilerAdapter
*/ */
@Deprecated @Deprecated
protected boolean assumeJava9() { protected boolean assumeJava9() {
return assumeJavaXY("javac1.9", JavaEnvUtils.JAVA_9)
|| assumeJavaXY("javac9", JavaEnvUtils.JAVA_9);
return assumeJava9Plus() && !assumeJava10Plus();
} }


/** /**
@@ -806,9 +805,9 @@ public abstract class DefaultCompilerAdapter
* @since Ant 1.10.2 * @since Ant 1.10.2
*/ */
protected boolean assumeJava9Plus() { protected boolean assumeJava9Plus() {
return "javac1.9".equals(attributes.getCompilerVersion())
|| "javac9".equals(attributes.getCompilerVersion())
|| assumeJava10Plus();
return assumeJavaXY("javac1.9", JavaEnvUtils.JAVA_9)
|| assumeJavaXY("javac9", JavaEnvUtils.JAVA_9)
|| assumeJava10Plus();
} }


/** /**
@@ -817,7 +816,11 @@ public abstract class DefaultCompilerAdapter
* @since Ant 1.10.7 * @since Ant 1.10.7
*/ */
protected boolean assumeJava10Plus() { protected boolean assumeJava10Plus() {
return "javac10+".equals(attributes.getCompilerVersion());
return "javac10+".equals(attributes.getCompilerVersion())
|| (JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_10)
&& ("classic".equals(attributes.getCompilerVersion())
|| "modern".equals(attributes.getCompilerVersion())
|| "extJavac".equals(attributes.getCompilerVersion())));
} }
/** /**
@@ -825,7 +828,12 @@ public abstract class DefaultCompilerAdapter
* @since Ant 1.8.3 * @since Ant 1.8.3
*/ */
private boolean assumeJavaXY(final String javacXY, final String javaEnvVersionXY) { private boolean assumeJavaXY(final String javacXY, final String javaEnvVersionXY) {
return javacXY.equals(attributes.getCompilerVersion());
String compilerVersion = attributes.getCompilerVersion();
return javacXY.equals(compilerVersion) ||
(JavaEnvUtils.isJavaVersion(javaEnvVersionXY)
&& ("classic".equals(compilerVersion)
|| "modern".equals(compilerVersion)
|| "extJavac".equals(compilerVersion)));
} }


/** /**


Loading…
Cancel
Save