From f993e95b3201e777c399c932ba6398b1fc4e2b9f Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Fri, 29 Oct 2004 07:35:17 +0000 Subject: [PATCH] Make handling of javac -source easier. Simply make JDK 1.4.1's interface upwards compatible. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@276977 13f79535-47bb-0310-9956-ffa450edef68 --- build.xml | 34 ++++--------------- .../compilers/DefaultCompilerAdapter.java | 24 ++++++++++++- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/build.xml b/build.xml index c6cd889a3..7d19b7e75 100644 --- a/build.xml +++ b/build.xml @@ -374,28 +374,6 @@ - - - - - - - - - - - - - - - - @@ -701,7 +680,7 @@ - + @@ -1406,15 +1385,16 @@ - - + diff --git a/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java b/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java index 1a4edbf76..8fbfb3bac 100644 --- a/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java +++ b/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java @@ -297,7 +297,15 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { setupJavacCommandlineSwitches(cmd, true); if (attributes.getSource() != null && !assumeJava13()) { cmd.createArgument().setValue("-source"); - cmd.createArgument().setValue(attributes.getSource()); + String source = attributes.getSource(); + if (assumeJava14() && + (source.equals("1.1") || source.equals("1.2"))) { + // support for -source 1.1 and -source 1.2 has been + // added with JDK 1.4.2 + cmd.createArgument().setValue("1.3"); + } else { + cmd.createArgument().setValue(source); + } } return cmd; } @@ -501,5 +509,19 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3)); } + /** + * Shall we assume JDK 1.4 command line switches? + * @since Ant 1.6.3 + */ + protected boolean assumeJava14() { + return "javac1.4".equals(attributes.getCompilerVersion()) + || ("classic".equals(attributes.getCompilerVersion()) + && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_4)) + || ("modern".equals(attributes.getCompilerVersion()) + && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_4)) + || ("extJavac".equals(attributes.getCompilerVersion()) + && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_4)); + } + }