diff options
author | Jesse N. Glick <jglick@apache.org> | 2009-08-26 19:42:25 +0000 |
---|---|---|
committer | Jesse N. Glick <jglick@apache.org> | 2009-08-26 19:42:25 +0000 |
commit | efd287b871106edf3efb9e1b96aeea16b85f0549 (patch) | |
tree | e1659e393fb08708f619e1505c1dd5cab78a7d81 /src | |
parent | 028ba47c8246f510012ef061d879d05240b90c71 (diff) | |
download | ant-efd287b871106edf3efb9e1b96aeea16b85f0549.tar.gz |
More cleanup of pre-1.4 code and docs.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@808163 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
15 files changed, 39 insertions, 163 deletions
diff --git a/src/main/org/apache/tools/ant/Project.java b/src/main/org/apache/tools/ant/Project.java index 8487dbc0a..875352fa3 100644 --- a/src/main/org/apache/tools/ant/Project.java +++ b/src/main/org/apache/tools/ant/Project.java @@ -918,9 +918,8 @@ public class Project implements ResourceFactory { setPropertyInternal(MagicNames.ANT_JAVA_VERSION, javaVersion); // sanity check - if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_0) - || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_1)) { - throw new BuildException("Ant cannot work on Java 1.0 / 1.1"); + if (!JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_1_4)) { + throw new BuildException("Ant cannot work on Java prior to 1.4"); } log("Detected Java version: " + javaVersion + " in: " + System.getProperty("java.home"), MSG_VERBOSE); diff --git a/src/main/org/apache/tools/ant/taskdefs/Javac.java b/src/main/org/apache/tools/ant/taskdefs/Javac.java index 6ddcefd04..b7b8d27af 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Javac.java +++ b/src/main/org/apache/tools/ant/taskdefs/Javac.java @@ -136,11 +136,7 @@ public class Javac extends MatchingTask { } private String assumedJavaVersion() { - if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_2)) { - return JAVAC12; - } else if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3)) { - return JAVAC13; - } else if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_4)) { + if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_4)) { return JAVAC14; } else if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_5)) { return JAVAC15; diff --git a/src/main/org/apache/tools/ant/taskdefs/compilers/CompilerAdapterFactory.java b/src/main/org/apache/tools/ant/taskdefs/compilers/CompilerAdapterFactory.java index 38ebb1120..83d8c9626 100644 --- a/src/main/org/apache/tools/ant/taskdefs/compilers/CompilerAdapterFactory.java +++ b/src/main/org/apache/tools/ant/taskdefs/compilers/CompilerAdapterFactory.java @@ -98,13 +98,6 @@ public final class CompilerAdapterFactory { public static CompilerAdapter getCompiler(String compilerType, Task task, Path classpath) throws BuildException { - boolean isClassicCompilerSupported = true; - //as new versions of java come out, add them to this test - if (!JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_2) - && !JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3)) { - isClassicCompilerSupported = false; - } - if (compilerType.equalsIgnoreCase("jikes")) { return new Jikes(); } @@ -114,15 +107,11 @@ public final class CompilerAdapterFactory { if (compilerType.equalsIgnoreCase("classic") || compilerType.equalsIgnoreCase("javac1.1") || compilerType.equalsIgnoreCase("javac1.2")) { - if (isClassicCompilerSupported) { - return new Javac12(); - } else { - task.log("This version of java does " - + "not support the classic " - + "compiler; upgrading to modern", - Project.MSG_WARN); - compilerType = "modern"; - } + task.log("This version of java does " + + "not support the classic " + + "compiler; upgrading to modern", + Project.MSG_WARN); + compilerType = "modern"; } //on java<=1.3 the modern falls back to classic if it is not found //but on java>=1.4 we just bail out early @@ -135,22 +124,16 @@ public final class CompilerAdapterFactory { if (doesModernCompilerExist()) { return new Javac13(); } else { - if (isClassicCompilerSupported) { - task.log("Modern compiler not found - looking for " - + "classic compiler", Project.MSG_WARN); - return new Javac12(); - } else { - throw new BuildException("Unable to find a javac " - + "compiler;\n" - + MODERN_COMPILER - + " is not on the " - + "classpath.\n" - + "Perhaps JAVA_HOME does not" - + " point to the JDK.\n" - + "It is currently set to \"" - + JavaEnvUtils.getJavaHome() - + "\""); - } + throw new BuildException("Unable to find a javac " + + "compiler;\n" + + MODERN_COMPILER + + " is not on the " + + "classpath.\n" + + "Perhaps JAVA_HOME does not" + + " point to the JDK.\n" + + "It is currently set to \"" + + JavaEnvUtils.getJavaHome() + + "\""); } } 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 c587f90be..c43204fa0 100644 --- a/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java +++ b/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java @@ -554,11 +554,7 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { * @since Ant 1.5 */ protected boolean assumeJava12() { - return "javac1.2".equals(attributes.getCompilerVersion()) - || ("classic".equals(attributes.getCompilerVersion()) - && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_2)) - || ("extJavac".equals(attributes.getCompilerVersion()) - && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_2)); + return "javac1.2".equals(attributes.getCompilerVersion()); } /** @@ -567,13 +563,7 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { * @since Ant 1.5 */ protected boolean assumeJava13() { - return "javac1.3".equals(attributes.getCompilerVersion()) - || ("classic".equals(attributes.getCompilerVersion()) - && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3)) - || ("modern".equals(attributes.getCompilerVersion()) - && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3)) - || ("extJavac".equals(attributes.getCompilerVersion()) - && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3)); + return "javac1.3".equals(attributes.getCompilerVersion()); } /** diff --git a/src/main/org/apache/tools/ant/taskdefs/compilers/Javac12.java b/src/main/org/apache/tools/ant/taskdefs/compilers/Javac12.java index 290fe709b..3c592ad64 100644 --- a/src/main/org/apache/tools/ant/taskdefs/compilers/Javac12.java +++ b/src/main/org/apache/tools/ant/taskdefs/compilers/Javac12.java @@ -34,6 +34,7 @@ import org.apache.tools.ant.types.Commandline; * was refactored. * * @since Ant 1.3 + * @deprecated Use {@link Javac13} instead. */ public class Javac12 extends DefaultCompilerAdapter { protected static final String CLASSIC_COMPILER_CLASSNAME = "sun.tools.javac.Main"; diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java b/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java index 9dce3dff3..829a4693c 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java @@ -58,15 +58,15 @@ import org.apache.tools.ant.util.regexp.Regexp; * <pre> * Available implementations: * - * org.apache.tools.ant.util.regexp.JakartaOroRegexp (the default if available) + * org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp (default) + * Uses Java's built-in regular expression package + * + * org.apache.tools.ant.util.regexp.JakartaOroRegexp * Requires the jakarta-oro package * * org.apache.tools.ant.util.regexp.JakartaRegexpRegexp * Requires the jakarta-regexp package * - * org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp (fallback default) - * Uses Java's built-in regular expression package - * * Usage: * * Call Syntax: diff --git a/src/main/org/apache/tools/ant/types/RegularExpression.java b/src/main/org/apache/tools/ant/types/RegularExpression.java index f89d0370a..18ee3f1f2 100644 --- a/src/main/org/apache/tools/ant/types/RegularExpression.java +++ b/src/main/org/apache/tools/ant/types/RegularExpression.java @@ -33,14 +33,14 @@ import org.apache.tools.ant.util.regexp.RegexpFactory; * <pre> * Available implementations: * - * org.apache.tools.ant.util.regexp.JakartaOroRegexp (the default if available) + * org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp (default) + * Based on the JDK's built-in regular expression package + * + * org.apache.tools.ant.util.regexp.JakartaOroRegexp * Based on the jakarta-oro package * * org.apache.tools.ant.util.regexp.JakartaRegexpRegexp * Based on the jakarta-regexp package - * - * org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp (fallback default) - * Based on the JDK's built-in regular expression package * </pre> * * <pre> diff --git a/src/main/org/apache/tools/ant/util/JavaEnvUtils.java b/src/main/org/apache/tools/ant/util/JavaEnvUtils.java index ffef12267..b58b2ec78 100644 --- a/src/main/org/apache/tools/ant/util/JavaEnvUtils.java +++ b/src/main/org/apache/tools/ant/util/JavaEnvUtils.java @@ -17,7 +17,6 @@ */ package org.apache.tools.ant.util; -import java.io.BufferedWriter; import java.io.File; import java.io.IOException; import java.io.FileWriter; @@ -143,7 +142,7 @@ public final class JavaEnvUtils { /** * Returns the version of Java this class is running under. - * @return the version of Java as a String, e.g. "1.1" + * @return the version of Java as a String, e.g. "1.6" */ public static String getJavaVersion() { return javaVersion; @@ -164,8 +163,8 @@ public final class JavaEnvUtils { * Compares the current Java version to the passed in String - * assumes the argument is one of the constants defined in this * class. - * Note that Ant now requires JDK 1.2+ so {@link #JAVA_1_0} and - * {@link #JAVA_1_1} need no longer be tested for. + * Note that Ant now requires JDK 1.4+ so {@link #JAVA_1_0} through + * {@link #JAVA_1_3} need no longer be tested for. * @param version the version to check against the current version. * @return true if the version of Java is the same as the given version. * @since Ant 1.5 @@ -178,8 +177,8 @@ public final class JavaEnvUtils { * Compares the current Java version to the passed in String - * assumes the argument is one of the constants defined in this * class. - * Note that Ant now requires JDK 1.2+ so {@link #JAVA_1_0} and - * {@link #JAVA_1_1} need no longer be tested for. + * Note that Ant now requires JDK 1.4+ so {@link #JAVA_1_0} through + * {@link #JAVA_1_3} need no longer be tested for. * @param version the version to check against the current version. * @return true if the version of Java is the same or higher than the * given version. diff --git a/src/main/org/apache/tools/ant/util/regexp/RegexpFactory.java b/src/main/org/apache/tools/ant/util/regexp/RegexpFactory.java index 504621f59..035cf7123 100644 --- a/src/main/org/apache/tools/ant/util/regexp/RegexpFactory.java +++ b/src/main/org/apache/tools/ant/util/regexp/RegexpFactory.java @@ -21,7 +21,6 @@ import org.apache.tools.ant.BuildException; import org.apache.tools.ant.MagicNames; import org.apache.tools.ant.Project; import org.apache.tools.ant.util.ClasspathUtils; -import org.apache.tools.ant.util.JavaEnvUtils; /*** * Regular expression factory, which will create Regexp objects. The @@ -41,7 +40,7 @@ public class RegexpFactory extends RegexpMatcherFactory { * @throws BuildException on error */ public Regexp newRegexp() throws BuildException { - return (Regexp) newRegexp(null); + return newRegexp(null); } /*** @@ -65,32 +64,7 @@ public class RegexpFactory extends RegexpMatcherFactory { // load a different implementation? } - Throwable cause = null; - - try { - testAvailability("java.util.regex.Matcher"); - return createRegexpInstance("org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp"); - } catch (BuildException be) { - cause = orCause( - cause, be, - JavaEnvUtils.getJavaVersionNumber() < JavaEnvUtils.VERSION_1_4); - } - - try { - testAvailability("org.apache.oro.text.regex.Pattern"); - return createRegexpInstance("org.apache.tools.ant.util.regexp.JakartaOroRegexp"); - } catch (BuildException be) { - cause = orCause(cause, be, true); - } - - try { - testAvailability("org.apache.regexp.RE"); - return createRegexpInstance("org.apache.tools.ant.util.regexp.JakartaRegexpRegexp"); - } catch (BuildException be) { - cause = orCause(cause, be, true); - } - throw new BuildException("No supported regular expression matcher found" - + (cause != null ? ": " + cause : ""), cause); + return new Jdk14RegexpRegexp(); } /** diff --git a/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java b/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java index b78a27bff..d69888e42 100644 --- a/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java +++ b/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java @@ -21,7 +21,6 @@ import org.apache.tools.ant.Project; import org.apache.tools.ant.MagicNames; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.util.ClasspathUtils; -import org.apache.tools.ant.util.JavaEnvUtils; /** * Simple Factory Class that produces an implementation of RegexpMatcher based on the system @@ -68,40 +67,7 @@ public class RegexpMatcherFactory { // load a different implementation? } - Throwable cause = null; - - try { - testAvailability("java.util.regex.Matcher"); - return createInstance("org.apache.tools.ant.util.regexp.Jdk14RegexpMatcher"); - } catch (BuildException be) { - cause = orCause( - cause, be, - JavaEnvUtils.getJavaVersionNumber() < JavaEnvUtils.VERSION_1_4); - } - - try { - testAvailability("org.apache.oro.text.regex.Pattern"); - return createInstance("org.apache.tools.ant.util.regexp.JakartaOroMatcher"); - } catch (BuildException be) { - cause = orCause(cause, be, true); - } - - try { - testAvailability("org.apache.regexp.RE"); - return createInstance("org.apache.tools.ant.util.regexp.JakartaRegexpMatcher"); - } catch (BuildException be) { - cause = orCause(cause, be, true); - } - throw new BuildException("No supported regular expression matcher found" - + (cause != null ? ": " + cause : ""), cause); - } - - static Throwable orCause(Throwable deflt, BuildException be, boolean ignoreCnfe) { - if (deflt != null) { - return deflt; - } - Throwable t = be.getException(); - return ignoreCnfe && t instanceof ClassNotFoundException ? null : t; + return new Jdk14RegexpMatcher(); } /** diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteJavaTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteJavaTest.java index 09e23bb3a..abc94ada1 100644 --- a/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteJavaTest.java +++ b/src/tests/junit/org/apache/tools/ant/taskdefs/ExecuteJavaTest.java @@ -22,8 +22,6 @@ import org.apache.tools.ant.MagicNames; import org.apache.tools.ant.Project; import org.apache.tools.ant.types.Path; import org.apache.tools.ant.types.Commandline; -import org.apache.tools.ant.taskdefs.condition.Os; -import org.apache.tools.ant.util.JavaEnvUtils; import junit.framework.TestCase; @@ -98,12 +96,6 @@ public class ExecuteJavaTest extends TestCase { // test that the watchdog ends the process public void testTimeOutForked() throws Exception { - //process doesn't die properly under this combination, - //thus test fails. No workaround? - if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_2) - && Os.isFamily("dos")) { - return; - } Commandline cmd = getCommandline(TIME_OUT*2); ej.setJavaCommand(cmd); long now = System.currentTimeMillis(); diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/JavacTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/JavacTest.java index 9b234cf63..175086eeb 100644 --- a/src/tests/junit/org/apache/tools/ant/taskdefs/JavacTest.java +++ b/src/tests/junit/org/apache/tools/ant/taskdefs/JavacTest.java @@ -21,10 +21,8 @@ package org.apache.tools.ant.taskdefs; import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.compilers.CompilerAdapter; import org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory; -import org.apache.tools.ant.taskdefs.compilers.Javac12; import org.apache.tools.ant.taskdefs.compilers.Javac13; import org.apache.tools.ant.taskdefs.compilers.JavacExternal; -import org.apache.tools.ant.util.JavaEnvUtils; import junit.framework.TestCase; @@ -189,23 +187,13 @@ public class JavacTest extends TestCase { } public void testCompilerAdapter() { - if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_2) - || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3)) { - javac.setCompiler("javac1.1"); - } else { - javac.setCompiler("javac1.4"); - } + javac.setCompiler("javac1.4"); javac.setDepend(true); CompilerAdapter adapter = CompilerAdapterFactory.getCompiler(javac.getCompiler(), javac); - if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_2) - || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3)) { - assertTrue(adapter instanceof Javac12); - } else { - assertTrue(adapter instanceof Javac13); - } + assertTrue(adapter instanceof Javac13); javac.setFork(true); adapter = diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java index 25c96b98e..08cdc8c0b 100644 --- a/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java +++ b/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java @@ -20,7 +20,6 @@ package org.apache.tools.ant.taskdefs; import org.apache.tools.ant.BuildFileTest; import org.apache.tools.ant.taskdefs.condition.Os; -import org.apache.tools.ant.util.JavaEnvUtils; import org.apache.tools.ant.util.regexp.RegexpMatcherFactory; /** diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/ProcessDestroyerTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/ProcessDestroyerTest.java index 110e04adc..0ac0c36c8 100644 --- a/src/tests/junit/org/apache/tools/ant/taskdefs/ProcessDestroyerTest.java +++ b/src/tests/junit/org/apache/tools/ant/taskdefs/ProcessDestroyerTest.java @@ -23,7 +23,6 @@ package org.apache.tools.ant.taskdefs; import java.io.IOException; -import org.apache.tools.ant.util.JavaEnvUtils; import junit.framework.TestCase; @@ -40,10 +39,6 @@ public class ProcessDestroyerTest extends TestCase { } public void testProcessDestroyer(){ - if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_2)) { - return; - } - try { ProcessDestroyer processDestroyer = new ProcessDestroyer(); Process process = diff --git a/src/tests/junit/org/apache/tools/ant/types/CommandlineJavaTest.java b/src/tests/junit/org/apache/tools/ant/types/CommandlineJavaTest.java index 8f2ebfcc8..bb9e68cb0 100644 --- a/src/tests/junit/org/apache/tools/ant/types/CommandlineJavaTest.java +++ b/src/tests/junit/org/apache/tools/ant/types/CommandlineJavaTest.java @@ -22,7 +22,6 @@ import junit.framework.TestCase; import org.apache.tools.ant.MagicNames; import org.apache.tools.ant.Project; -import org.apache.tools.ant.util.JavaEnvUtils; /** * JUnit 3 testcases for org.apache.tools.ant.CommandlineJava @@ -143,11 +142,6 @@ public class CommandlineJavaTest extends TestCase { } public void testAssertions() throws Exception { - if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_2) - || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3)) { - return; - } - CommandlineJava c = new CommandlineJava(); c.createArgument().setValue("org.apache.tools.ant.CommandlineJavaTest"); c.setClassname("junit.textui.TestRunner"); |