diff --git a/src/main/org/apache/tools/ant/AntClassLoader.java b/src/main/org/apache/tools/ant/AntClassLoader.java index 7d18f1ca8..189351f24 100644 --- a/src/main/org/apache/tools/ant/AntClassLoader.java +++ b/src/main/org/apache/tools/ant/AntClassLoader.java @@ -448,7 +448,7 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener, Clo if (LoaderUtils.isContextLoaderAvailable()) { savedContextLoader = LoaderUtils.getContextClassLoader(); ClassLoader loader = this; - if (project != null && "only".equals(project.getProperty("build.sysclasspath"))) { + if (project != null && "only".equals(project.getProperty(MagicNames.BUILD_SYSCLASSPATH))) { loader = this.getClass().getClassLoader(); } LoaderUtils.setContextClassLoader(loader); diff --git a/src/main/org/apache/tools/ant/ComponentHelper.java b/src/main/org/apache/tools/ant/ComponentHelper.java index 23211b412..5d8c3db67 100644 --- a/src/main/org/apache/tools/ant/ComponentHelper.java +++ b/src/main/org/apache/tools/ant/ComponentHelper.java @@ -824,7 +824,7 @@ public class ComponentHelper { if (uri.isEmpty()) { uri = ProjectHelper.ANT_CORE_URI; } - if (!uri.startsWith(ProjectHelper.ANTLIB_URI)) { + if (!uri.startsWith(MagicNames.ANTLIB_PREFIX)) { return; // namespace that does not contain antlib } if (checkedNamespaces.contains(uri)) { diff --git a/src/main/org/apache/tools/ant/MagicNames.java b/src/main/org/apache/tools/ant/MagicNames.java index e90d4edaf..6e7fc702c 100644 --- a/src/main/org/apache/tools/ant/MagicNames.java +++ b/src/main/org/apache/tools/ant/MagicNames.java @@ -218,7 +218,7 @@ public final class MagicNames { * Value: {@value} */ public static final String PROJECT_HELPER_SERVICE = - "META-INF/services/org.apache.tools.ant.ProjectHelper"; + "META-INF/services/" + PROJECT_HELPER_CLASS; /** * Name of ProjectHelper reference that we add to a project. diff --git a/src/main/org/apache/tools/ant/ProjectHelper.java b/src/main/org/apache/tools/ant/ProjectHelper.java index db71d9ae2..a84038a88 100644 --- a/src/main/org/apache/tools/ant/ProjectHelper.java +++ b/src/main/org/apache/tools/ant/ProjectHelper.java @@ -38,7 +38,7 @@ import org.xml.sax.AttributeList; */ public class ProjectHelper { /** The URI for ant name space */ - public static final String ANT_CORE_URI = "antlib:org.apache.tools.ant"; + public static final String ANT_CORE_URI = MagicNames.ANTLIB_PREFIX + "org.apache.tools.ant"; /** The URI for antlib current definitions */ public static final String ANT_CURRENT_URI = "ant:current"; @@ -49,7 +49,7 @@ public class ProjectHelper { public static final String ANT_ATTRIBUTE_URI = "ant:attribute"; /** The URI for defined types/tasks - the format is antlib:<package> */ - public static final String ANTLIB_URI = "antlib:"; + public static final String ANTLIB_URI = MagicNames.ANTLIB_PREFIX; /** Polymorphic attribute */ public static final String ANT_TYPE = "ant-type"; diff --git a/src/main/org/apache/tools/ant/taskdefs/Classloader.java b/src/main/org/apache/tools/ant/taskdefs/Classloader.java index aba8e5c7e..fbedf3697 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Classloader.java +++ b/src/main/org/apache/tools/ant/taskdefs/Classloader.java @@ -158,10 +158,10 @@ public class Classloader extends Task { public void execute() { try { // Gump friendly - don't mess with the core loader if only classpath - if ("only".equals(getProject().getProperty("build.sysclasspath")) + if ("only".equals(getProject().getProperty(MagicNames.BUILD_SYSCLASSPATH)) && (name == null || SYSTEM_LOADER_REF.equals(name))) { - log("Changing the system loader is disabled by build.sysclasspath=only", - Project.MSG_WARN); + log("Changing the system loader is disabled by " + + MagicNames.BUILD_SYSCLASSPATH + "=only", Project.MSG_WARN); return; } diff --git a/src/main/org/apache/tools/ant/taskdefs/Definer.java b/src/main/org/apache/tools/ant/taskdefs/Definer.java index 33b585a98..adfde30d1 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Definer.java +++ b/src/main/org/apache/tools/ant/taskdefs/Definer.java @@ -463,12 +463,12 @@ public abstract class Definer extends DefBase { if (definerSet) { tooManyDefinitions(); } - if (!antlib.startsWith("antlib:")) { + if (!antlib.startsWith(MagicNames.ANTLIB_PREFIX)) { throw new BuildException( - "Invalid antlib attribute - it must start with antlib:"); + "Invalid antlib attribute - it must start with " + MagicNames.ANTLIB_PREFIX); } setURI(antlib); - this.resource = antlib.substring("antlib:".length()).replace('.', '/') + this.resource = antlib.substring(MagicNames.ANTLIB_PREFIX.length()).replace('.', '/') + "/antlib.xml"; definerSet = true; } diff --git a/src/main/org/apache/tools/ant/taskdefs/Javac.java b/src/main/org/apache/tools/ant/taskdefs/Javac.java index ae7963037..ad4ce2a4c 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Javac.java +++ b/src/main/org/apache/tools/ant/taskdefs/Javac.java @@ -1350,9 +1350,9 @@ public class Javac extends MatchingTask { + destDir + "\" does not exist or is not a directory", getLocation()); } - if (includeAntRuntime == null && getProject().getProperty("build.sysclasspath") == null) { - log(getLocation() - + "warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds", + if (includeAntRuntime == null && getProject().getProperty(MagicNames.BUILD_SYSCLASSPATH) == null) { + log(getLocation() + "warning: 'includeantruntime' was not set, defaulting to " + + MagicNames.BUILD_SYSCLASSPATH + "=last; set to false for repeatable builds", Project.MSG_WARN); } } diff --git a/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java b/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java index 9aafb9a06..cedeed0aa 100644 --- a/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java +++ b/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java @@ -75,7 +75,7 @@ public class AntClassLoaderTest { String extjarstring = buildRule.getProject().getProperty("ext.jar"); Path myPath = new Path(buildRule.getProject()); myPath.setLocation(new File(mainjarstring)); - buildRule.getProject().setUserProperty("build.sysclasspath", "ignore"); + buildRule.getProject().setUserProperty(MagicNames.BUILD_SYSCLASSPATH, "ignore"); loader = buildRule.getProject().createClassLoader(myPath); String path = loader.getClasspath(); assertEquals(mainjarstring + File.pathSeparator + extjarstring, path); @@ -87,7 +87,7 @@ public class AntClassLoaderTest { String extjarstring = buildRule.getProject().getProperty("ext.jar.nonascii"); Path myPath = new Path(buildRule.getProject()); myPath.setLocation(new File(mainjarstring)); - buildRule.getProject().setUserProperty("build.sysclasspath", "ignore"); + buildRule.getProject().setUserProperty(MagicNames.BUILD_SYSCLASSPATH, "ignore"); loader = buildRule.getProject().createClassLoader(myPath); String path = loader.getClasspath(); assertEquals(mainjarstring + File.pathSeparator + extjarstring, path); @@ -135,7 +135,7 @@ public class AntClassLoaderTest { buildRule.executeTarget("prepareGetPackageTest"); Path myPath = new Path(buildRule.getProject()); myPath.setLocation(new File(buildRule.getProject().getProperty("test.jar"))); - buildRule.getProject().setUserProperty("build.sysclasspath", "ignore"); + buildRule.getProject().setUserProperty(MagicNames.BUILD_SYSCLASSPATH, "ignore"); loader = buildRule.getProject().createClassLoader(myPath); assertNotNull("should find class", loader.findClass("org.example.Foo")); assertNotNull("should find package", @@ -148,7 +148,7 @@ public class AntClassLoaderTest { Path myPath = new Path(buildRule.getProject()); File testJar = new File(buildRule.getProject().getProperty("test.jar")); myPath.setLocation(testJar); - buildRule.getProject().setUserProperty("build.sysclasspath", "ignore"); + buildRule.getProject().setUserProperty(MagicNames.BUILD_SYSCLASSPATH, "ignore"); loader = buildRule.getProject().createClassLoader(myPath); Class foo = loader.findClass("org.example.Foo"); URL codeSourceLocation = @@ -164,7 +164,7 @@ public class AntClassLoaderTest { Path myPath = new Path(buildRule.getProject()); myPath.setLocation(jar); - buildRule.getProject().setUserProperty("build.sysclasspath", "ignore"); + buildRule.getProject().setUserProperty(MagicNames.BUILD_SYSCLASSPATH, "ignore"); loader = buildRule.getProject().createClassLoader(myPath); Class foo = loader.findClass("org.example.Foo"); @@ -188,7 +188,7 @@ public class AntClassLoaderTest { Path myPath = new Path(buildRule.getProject()); myPath.setLocation(jar); - buildRule.getProject().setUserProperty("build.sysclasspath", "ignore"); + buildRule.getProject().setUserProperty(MagicNames.BUILD_SYSCLASSPATH, "ignore"); loader = buildRule.getProject().createClassLoader(myPath); PrintStream sysErr = System.err; try { diff --git a/src/tests/junit/org/apache/tools/ant/ExecutorTest.java b/src/tests/junit/org/apache/tools/ant/ExecutorTest.java index 923d86b02..e96f209f0 100644 --- a/src/tests/junit/org/apache/tools/ant/ExecutorTest.java +++ b/src/tests/junit/org/apache/tools/ant/ExecutorTest.java @@ -92,7 +92,7 @@ public class ExecutorTest implements BuildListener { private Project getProject(String e, boolean f, boolean k) { Project p = buildRule.getProject(); - p.setNewProperty("ant.executor.class", e); + p.setNewProperty(MagicNames.ANT_EXECUTOR_CLASSNAME, e); p.setKeepGoingMode(k); if (f) { p.setNewProperty("failfoo", "foo"); diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/EchoPropertiesTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/EchoPropertiesTest.java index 6ecf4c3fb..0c561a4b3 100644 --- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/EchoPropertiesTest.java +++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/EchoPropertiesTest.java @@ -37,6 +37,7 @@ import java.util.Properties; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.BuildFileRule; +import org.apache.tools.ant.MagicNames; import org.apache.tools.ant.util.regexp.RegexpMatcherFactory; import org.junit.After; import org.junit.Before; @@ -182,7 +183,7 @@ public class EchoPropertiesTest { buildRule.executeTarget("testWithRegex"); // the following line has been changed from checking ant.home to ant.version // so the test will still work when run outside of an Ant script - assertThat(buildRule.getFullLog(), containsString("ant.version=")); + assertThat(buildRule.getFullLog(), containsString(MagicNames.ANT_VERSION + "=")); } private void testEchoPrefixVarious(String target) throws Exception { 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 f26116e08..07afc7b58 100644 --- a/src/tests/junit/org/apache/tools/ant/types/CommandlineJavaTest.java +++ b/src/tests/junit/org/apache/tools/ant/types/CommandlineJavaTest.java @@ -53,7 +53,7 @@ public class CommandlineJavaTest { if (System.getProperty(MagicTestNames.TEST_ROOT_DIRECTORY) != null) { project.setBasedir(System.getProperty(MagicTestNames.TEST_ROOT_DIRECTORY)); } - project.setProperty("build.sysclasspath", "ignore"); + project.setProperty(MagicNames.BUILD_SYSCLASSPATH, "ignore"); cloneVm = System.getProperty("ant.build.clonevm"); if (cloneVm != null) { System.setProperty("ant.build.clonevm", "false");