peterreilly 2003/09/01 07:15:30
Modified: src/main/org/apache/tools/ant ProjectHelper.java
ComponentHelper.java
Log:
Place antlibs temp defintions in a ant:current namespace.
Revision Changes Path
1.100 +3 -0 ant/src/main/org/apache/tools/ant/ProjectHelper.java
Index: ProjectHelper.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/ProjectHelper.java,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -r1.99 -r1.100
--- ProjectHelper.java 13 Aug 2003 13:18:54 -0000 1.99
+++ ProjectHelper.java 1 Sep 2003 14:15:30 -0000 1.100
@@ -88,6 +88,9 @@
/** The URI for ant name space */
public static final String ANT_CORE_URI = "ant:core";
+ /** The URI for antlib current definitions */
+ public static final String ANT_CURRENT_URI = "ant:current";
+
/** The URI for defined types/tasks - the format is antlib:<package> */
public static final String ANTLIB_URI = "antlib:";
1.26 +13 -9 ant/src/main/org/apache/tools/ant/ComponentHelper.java
Index: ComponentHelper.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/ComponentHelper.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- ComponentHelper.java 15 Aug 2003 15:04:29 -0000 1.25
+++ ComponentHelper.java 1 Sep 2003 14:15:30 -0000 1.26
@@ -112,7 +112,7 @@
*/
private Stack antLibStack = new Stack();
/** current antlib context */
- private AntTypeTable antLibTypeTable = null;
+ private AntTypeTable antLibCurrentTypeTable = null;
/**
* Map from task names to vectors of created tasks
@@ -268,8 +268,10 @@
public AntTypeDefinition getDefinition(String componentName) {
checkNamespace(componentName);
AntTypeDefinition ret = null;
- if (antLibTypeTable != null && componentName.indexOf(':') == -1) {
- ret = antLibTypeTable.getDefinition(componentName);
+ if (antLibCurrentTypeTable != null
+ && ProjectHelper.ANT_CURRENT_URI.equals(
+ ProjectHelper.extractUriFromComponentName(componentName))) {
+ ret = antLibCurrentTypeTable.getDefinition(componentName);
}
if (ret == null) {
ret = antTypeTable.getDefinition(componentName);
@@ -689,9 +691,11 @@
Project.MSG_DEBUG);
antTypeTable.put(name, def);
- if (antLibTypeTable != null && name.lastIndexOf(':') != -1) {
+ if (antLibCurrentTypeTable != null && name.lastIndexOf(':') !=
-1) {
String baseName = name.substring(name.lastIndexOf(':') + 1);
- antLibTypeTable.put(baseName, def);
+ antLibCurrentTypeTable.put(
+ ProjectHelper.genComponentName(
+ ProjectHelper.ANT_CURRENT_URI, baseName), def);
}
}
}
@@ -700,8 +704,8 @@
* Called at the start of processing an antlib
*/
public void enterAntLib() {
- antLibTypeTable = new AntTypeTable(project);
- antLibStack.push(antLibTypeTable);
+ antLibCurrentTypeTable = new AntTypeTable(project);
+ antLibStack.push(antLibCurrentTypeTable);
}
/**
@@ -710,9 +714,9 @@
public void exitAntLib() {
antLibStack.pop();
if (antLibStack.size() != 0) {
- antLibTypeTable = (AntTypeTable) antLibStack.peek();
+ antLibCurrentTypeTable = (AntTypeTable) antLibStack.peek();
} else {
- antLibTypeTable = null;
+ antLibCurrentTypeTable = null;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]