From efd287b871106edf3efb9e1b96aeea16b85f0549 Mon Sep 17 00:00:00 2001 From: "Jesse N. Glick" Date: Wed, 26 Aug 2009 19:42:25 +0000 Subject: 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 --- src/main/org/apache/tools/ant/Project.java | 5 +-- src/main/org/apache/tools/ant/taskdefs/Javac.java | 6 +-- .../taskdefs/compilers/CompilerAdapterFactory.java | 47 +++++++--------------- .../taskdefs/compilers/DefaultCompilerAdapter.java | 14 +------ .../tools/ant/taskdefs/compilers/Javac12.java | 1 + .../tools/ant/taskdefs/optional/ReplaceRegExp.java | 8 ++-- .../apache/tools/ant/types/RegularExpression.java | 8 ++-- .../org/apache/tools/ant/util/JavaEnvUtils.java | 11 +++-- .../tools/ant/util/regexp/RegexpFactory.java | 30 +------------- .../ant/util/regexp/RegexpMatcherFactory.java | 36 +---------------- .../apache/tools/ant/taskdefs/ExecuteJavaTest.java | 8 ---- .../org/apache/tools/ant/taskdefs/JavacTest.java | 16 +------- .../tools/ant/taskdefs/ManifestClassPathTest.java | 1 - .../tools/ant/taskdefs/ProcessDestroyerTest.java | 5 --- .../tools/ant/types/CommandlineJavaTest.java | 6 --- 15 files changed, 39 insertions(+), 163 deletions(-) (limited to 'src') 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; *
  * 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;
  * 
  * 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
  * 
* *
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");
-- 
cgit v1.2.1