bodewig 2005/02/24 12:25:57
Modified: . Tag: ANT_16_BRANCH WHATSNEW
src/main/org/apache/tools/ant/taskdefs/compilers Tag:
ANT_16_BRANCH DefaultCompilerAdapter.java Sj.java
Log:
Merge JDK 1.5 special handling and Symantec fix from HEAD
Revision Changes Path
No revision
No revision
1.503.2.183 +3 -0 ant/WHATSNEW
Index: WHATSNEW
===================================================================
RCS file: /home/cvs/ant/WHATSNEW,v
retrieving revision 1.503.2.182
retrieving revision 1.503.2.183
diff -u -r1.503.2.182 -r1.503.2.183
--- WHATSNEW 22 Feb 2005 18:32:40 -0000 1.503.2.182
+++ WHATSNEW 24 Feb 2005 20:25:57 -0000 1.503.2.183
@@ -216,6 +216,9 @@
* NPE when when <presetdef> tries to configure a task that
cannot be instantiated. Bugzilla Report 33689.
+* <javac debug="false"> created an invalid command line when running
+ the Symantec Java compiler.
+
Changes from Ant 1.6.1 to Ant 1.6.2
===================================
No revision
No revision
1.41.2.10 +56 -5
ant/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java
Index: DefaultCompilerAdapter.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java,v
retrieving revision 1.41.2.9
retrieving revision 1.41.2.10
diff -u -r1.41.2.9 -r1.41.2.10
--- DefaultCompilerAdapter.java 28 Jan 2005 16:39:21 -0000 1.41.2.9
+++ DefaultCompilerAdapter.java 24 Feb 2005 20:25:57 -0000
1.41.2.10
@@ -261,8 +261,8 @@
} else {
cmd.createArgument().setValue("-g");
}
- } else if (!assumeJava11()) {
- cmd.createArgument().setValue("-g:none");
+ } else if (getNoDebugArgument() != null) {
+ cmd.createArgument().setValue(getNoDebugArgument());
}
if (optimize) {
cmd.createArgument().setValue("-O");
@@ -297,14 +297,37 @@
if (attributes.getSource() != null && !assumeJava13()) {
cmd.createArgument().setValue("-source");
String source = attributes.getSource();
- if (assumeJava14() &&
- (source.equals("1.1") || source.equals("1.2"))) {
+ if ((assumeJava14() || assumeJava15())
+ && (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
+ // added with JDK 1.4.2 - and isn't present in 1.5.0 either
cmd.createArgument().setValue("1.3");
} else {
cmd.createArgument().setValue(source);
}
+ } else if (assumeJava15() && attributes.getTarget() != null) {
+ String t = attributes.getTarget();
+ if (t.equals("1.1") || t.equals("1.2") || t.equals("1.3")
+ || t.equals("1.4")) {
+ String s = t;
+ if (t.equals("1.1")) {
+ // 1.5.0 doesn't support -source 1.1
+ s = "1.2";
+ }
+ attributes.log("", Project.MSG_WARN);
+ attributes.log(" WARNING", Project.MSG_WARN);
+ attributes.log("", Project.MSG_WARN);
+ attributes.log("The -source switch defaults to 1.5 in JDK
1.5.",
+ Project.MSG_WARN);
+ attributes.log("If you specify -target " + t
+ + " you now must also specify -source " + s
+ + ".", Project.MSG_WARN);
+ attributes.log("Ant will implicitly add -source " + s
+ + " for you. Please change your build file.",
+ Project.MSG_WARN);
+ cmd.createArgument().setValue("-source");
+ cmd.createArgument().setValue(s);
+ }
}
return cmd;
}
@@ -523,5 +546,33 @@
&& JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_4));
}
+ /**
+ * Shall we assume JDK 1.5 command line switches?
+ * @return true if JDK 1.5
+ * @since Ant 1.6.3
+ */
+ protected boolean assumeJava15() {
+ return "javac1.5".equals(attributes.getCompilerVersion())
+ || ("classic".equals(attributes.getCompilerVersion())
+ && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_5))
+ || ("modern".equals(attributes.getCompilerVersion())
+ && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_5))
+ || ("extJavac".equals(attributes.getCompilerVersion())
+ && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_5));
+ }
+
+ /**
+ * The argument the compiler wants to see if the debug attribute
+ * has been set to false.
+ *
+ * <p>A return value of <code>null</code> means no argument at all.</p>
+ *
+ * @return "-g:none" unless we expect to invoke a JDK 1.1 compiler.
+ *
+ * @since Ant 1.6.3
+ */
+ protected String getNoDebugArgument() {
+ return assumeJava11() ? null : "-g:none";
+ }
}
1.8.2.5 +10 -2
ant/src/main/org/apache/tools/ant/taskdefs/compilers/Sj.java
Index: Sj.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/compilers/Sj.java,v
retrieving revision 1.8.2.4
retrieving revision 1.8.2.5
diff -u -r1.8.2.4 -r1.8.2.5
--- Sj.java 9 Mar 2004 17:01:38 -0000 1.8.2.4
+++ Sj.java 24 Feb 2005 20:25:57 -0000 1.8.2.5
@@ -1,5 +1,5 @@
/*
- * Copyright 2001-2004 The Apache Software Foundation
+ * Copyright 2001-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -45,6 +45,14 @@
executeExternalCompile(cmd.getCommandline(), firstFileName) == 0;
}
-
+ /**
+ * Returns null since sj either has -g for debug=true or no
+ * argument at all.
+ *
+ * @since Ant 1.6.3
+ */
+ protected String getNoDebugArgument() {
+ return null;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]