diff --git a/docs/manual/CoreTypes/mapper.html b/docs/manual/CoreTypes/mapper.html index 14f4fbbe0..b20b5786d 100644 --- a/docs/manual/CoreTypes/mapper.html +++ b/docs/manual/CoreTypes/mapper.html @@ -373,8 +373,8 @@ href="http://www.cacas.org/~wes/java/" target="_top">gnu.regexp or gnu.rex with Ant, see this article.
-This means, you need one of the supported regular expression - libraries and +
If you want to use one of the supported regular expression
+ libraries you need to also use
the corresponding ant-[jakarta-oro, jakarta-regexp, apache-oro, apache-regexp}.jar
from the Ant release you are using.
Make sure, both will be loaded from the same
@@ -392,8 +392,7 @@ following algorithm:
org.apache.tools.ant.util.regexp.RegexpMatcher
that
should be used.
-org.apache.tools.ant.util.regexp.Regexp
.
-If ant.regexp.regexpimpl
is not defined, ant checks in the order Jdk14Regexp, JakartaOroRegexp,
- JakartaRegexp for the availability of the corresponding library. The first of these 3 which is found will be used.
+If ant.regexp.regexpimpl
is not defined, Ant uses Jdk14Regexp as this is always available.
There are cross-platform issues for matches related to line terminator. For example if you use $ to anchor your regular expression on the end of a line @@ -88,7 +87,7 @@ expression library you use. It is 'highly recommended' that you test your patter both Unix and Windows platforms before you rely on it.
ant.regexp.regexpimpl
* 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");