git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@278534 13f79535-47bb-0310-9956-ffa450edef68master
@@ -93,6 +93,12 @@ public class ComponentHelper { | |||||
public static final String COMPONENT_HELPER_REFERENCE = "ant.ComponentHelper"; | public static final String COMPONENT_HELPER_REFERENCE = "ant.ComponentHelper"; | ||||
private static final String ANTLIB_PREFIX = "antlib:"; | private static final String ANTLIB_PREFIX = "antlib:"; | ||||
/** | |||||
* string used to control build.syspath policy {@value} | |||||
*/ | |||||
private static final String BUILD_SYSCLASSPATH_ONLY = "only"; | |||||
private static final String ANT_PROPERTY_TASK = "property"; | |||||
/** | /** | ||||
* Find a project component for a specific project, creating | * Find a project component for a specific project, creating | ||||
* it if it does not exist. | * it if it does not exist. | ||||
@@ -435,10 +441,10 @@ public class ComponentHelper { | |||||
*/ | */ | ||||
public Task createTask(String taskType) throws BuildException { | public Task createTask(String taskType) throws BuildException { | ||||
Task task = createNewTask(taskType); | Task task = createNewTask(taskType); | ||||
if (task == null && taskType.equals("property")) { | |||||
if (task == null && taskType.equals(ANT_PROPERTY_TASK)) { | |||||
// quick fix for Ant.java use of property before | // quick fix for Ant.java use of property before | ||||
// initializing the project | // initializing the project | ||||
addTaskDefinition("property", | |||||
addTaskDefinition(ANT_PROPERTY_TASK, | |||||
org.apache.tools.ant.taskdefs.Property.class); | org.apache.tools.ant.taskdefs.Property.class); | ||||
task = createNewTask(taskType); | task = createNewTask(taskType); | ||||
} | } | ||||
@@ -676,7 +682,7 @@ public class ComponentHelper { | |||||
private void initTasks() { | private void initTasks() { | ||||
ClassLoader classLoader = null; | ClassLoader classLoader = null; | ||||
if (project.getCoreLoader() != null | if (project.getCoreLoader() != null | ||||
&& !("only".equals(project.getProperty("build.sysclasspath")))) { | |||||
&& !(BUILD_SYSCLASSPATH_ONLY.equals(project.getProperty(MagicNames.BUILD_SYSCLASSPATH)))) { | |||||
classLoader = project.getCoreLoader(); | classLoader = project.getCoreLoader(); | ||||
} | } | ||||
String dataDefs = MagicNames.TASKDEF_PROPERTIES_RESOURCE; | String dataDefs = MagicNames.TASKDEF_PROPERTIES_RESOURCE; | ||||
@@ -721,7 +727,7 @@ public class ComponentHelper { | |||||
private void initTypes() { | private void initTypes() { | ||||
ClassLoader classLoader = null; | ClassLoader classLoader = null; | ||||
if (project.getCoreLoader() != null | if (project.getCoreLoader() != null | ||||
&& !("only".equals(project.getProperty("build.sysclasspath")))) { | |||||
&& !(BUILD_SYSCLASSPATH_ONLY.equals(project.getProperty(MagicNames.BUILD_SYSCLASSPATH)))) { | |||||
classLoader = project.getCoreLoader(); | classLoader = project.getCoreLoader(); | ||||
} | } | ||||
String dataDefs = MagicNames.TYPEDEFS_PROPERTIES_RESOURCE; | String dataDefs = MagicNames.TYPEDEFS_PROPERTIES_RESOURCE; | ||||
@@ -24,14 +24,19 @@ package org.apache.tools.ant; | |||||
* @since Ant 1.6 | * @since Ant 1.6 | ||||
*/ | */ | ||||
public final class MagicNames { | public final class MagicNames { | ||||
private MagicNames() { | |||||
} | |||||
/** | /** | ||||
* Ant version property. {@value} | * Ant version property. {@value} | ||||
*/ | */ | ||||
public static final String ANT_VERSION = "ant.version"; | public static final String ANT_VERSION = "ant.version"; | ||||
private MagicNames() { | |||||
} | |||||
/** | |||||
* System classpath policy. {@value} | |||||
*/ | |||||
public static final String BUILD_SYSCLASSPATH = "build.sysclasspath"; | |||||
/** | /** | ||||
* The name of the script repository used by the script repo task | * The name of the script repository used by the script repo task | ||||
@@ -41,25 +41,41 @@ public class Launcher { | |||||
/** The Ant Library Directory property */ | /** The Ant Library Directory property */ | ||||
public static final String ANTLIBDIR_PROPERTY = "ant.library.dir"; | public static final String ANTLIBDIR_PROPERTY = "ant.library.dir"; | ||||
/** The directory name of the per-user ant directory */ | |||||
/** | |||||
* The directory name of the per-user ant directory | |||||
* {@value} | |||||
*/ | |||||
public static final String ANT_PRIVATEDIR = ".ant"; | public static final String ANT_PRIVATEDIR = ".ant"; | ||||
/** | /** | ||||
* The location of a per-user library directory | |||||
* The name of a per-user library directory | |||||
* {@value} | |||||
*/ | */ | ||||
public static final String ANT_PRIVATELIB = "lib"; | public static final String ANT_PRIVATELIB = "lib"; | ||||
/** The location of a per-user library directory */ | |||||
/** The location of a per-user library directory | |||||
* {@value} | |||||
*/ | |||||
public static final String USER_LIBDIR = | public static final String USER_LIBDIR = | ||||
ANT_PRIVATEDIR + File.separatorChar + ANT_PRIVATELIB; | ANT_PRIVATEDIR + File.separatorChar + ANT_PRIVATELIB; | ||||
/** The startup class that is to be run */ | |||||
/** | |||||
* The startup class that is to be run | |||||
* {@value} | |||||
*/ | |||||
public static final String MAIN_CLASS = "org.apache.tools.ant.Main"; | public static final String MAIN_CLASS = "org.apache.tools.ant.Main"; | ||||
/** | /** | ||||
* system property with user home directory | * system property with user home directory | ||||
* {@value} | |||||
*/ | */ | ||||
public static final String USER_HOMEDIR = "user.home"; | public static final String USER_HOMEDIR = "user.home"; | ||||
/** | |||||
* System property of | |||||
* {@value} | |||||
*/ | |||||
private static final String JAVA_CLASS_PATH = "java.class.path"; | |||||
/** | /** | ||||
* Entry point for starting command line Ant | * Entry point for starting command line Ant | ||||
* | * | ||||
@@ -228,7 +244,7 @@ public class Launcher { | |||||
// now update the class.path property | // now update the class.path property | ||||
StringBuffer baseClassPath | StringBuffer baseClassPath | ||||
= new StringBuffer(System.getProperty("java.class.path")); | |||||
= new StringBuffer(System.getProperty(JAVA_CLASS_PATH)); | |||||
if (baseClassPath.charAt(baseClassPath.length() - 1) | if (baseClassPath.charAt(baseClassPath.length() - 1) | ||||
== File.pathSeparatorChar) { | == File.pathSeparatorChar) { | ||||
baseClassPath.setLength(baseClassPath.length() - 1); | baseClassPath.setLength(baseClassPath.length() - 1); | ||||
@@ -239,7 +255,7 @@ public class Launcher { | |||||
baseClassPath.append(Locator.fromURI(jars[i].toString())); | baseClassPath.append(Locator.fromURI(jars[i].toString())); | ||||
} | } | ||||
System.setProperty("java.class.path", baseClassPath.toString()); | |||||
System.setProperty(JAVA_CLASS_PATH, baseClassPath.toString()); | |||||
URLClassLoader loader = new URLClassLoader(jars); | URLClassLoader loader = new URLClassLoader(jars); | ||||
Thread.currentThread().setContextClassLoader(loader); | Thread.currentThread().setContextClassLoader(loader); | ||||