Browse Source

Only tasks should be case-sensitive inside TaskContainers - simply the

code a little.


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274527 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 22 years ago
parent
commit
c2e2310e71
2 changed files with 20 additions and 29 deletions
  1. +10
    -20
      src/main/org/apache/tools/ant/RuntimeConfigurable.java
  2. +10
    -9
      src/main/org/apache/tools/ant/UnknownElement.java

+ 10
- 20
src/main/org/apache/tools/ant/RuntimeConfigurable.java View File

@@ -348,26 +348,16 @@ public class RuntimeConfigurable implements Serializable {
childTask.setRuntimeConfigurableWrapper(child);
}

if (configureChildren) {
/*
* backwards compatibility - element names of nested
* elements have been all lower-case in Ant, except for
* TaskContainers
*/

/* XXX
*
* For some reason we don't throw an exception here if
* we find the nested element is unsupported, probably
* because this will happen somewhere else.
*/
String tag = child.getElementTag();
if (ih.supportsNestedElement(tag.toLowerCase(Locale.US))) {
tag = tag.toLowerCase(Locale.US);
} else if (!ih.supportsNestedElement(tag)) {
continue;
}
/*
* backwards compatibility - element names of nested
* elements have been all lower-case in Ant, except for
* tasks in TaskContainers.
*
* For TaskContainers, we simply skip configuration here.
*/
String tag = child.getElementTag().toLowerCase(Locale.US);
if (configureChildren
&& ih.supportsNestedElement(tag)) {
child.maybeConfigure(p);
ProjectHelper.storeChild(p, target, child.wrappedObject,
tag);


+ 10
- 9
src/main/org/apache/tools/ant/UnknownElement.java View File

@@ -273,15 +273,16 @@ public class UnknownElement extends Task {
RuntimeConfigurable childWrapper = parentWrapper.getChild(i);
UnknownElement child = (UnknownElement) children.elementAt(i);
Object realChild = null;

if (handleChild(ih, parent, child,
child.getTag().toLowerCase(Locale.US),
childWrapper)) {
} else if (!(parent instanceof TaskContainer)) {
ih.throwNotSupported(getProject(), parent, child.getTag());
} else {
if (!handleChild(ih, parent, child, child.getTag(),
childWrapper)) {
// backwards compatibility - element names of nested
// elements have been all lower-case in Ant, except for
// TaskContainers
if (!handleChild(ih, parent, child,
child.getTag().toLowerCase(Locale.US),
childWrapper)) {
if (!(parent instanceof TaskContainer)) {
ih.throwNotSupported(getProject(), parent, child.getTag());
} else {
// a task container - anything could happen - just add the
// child to the container
TaskContainer container = (TaskContainer) parent;


Loading…
Cancel
Save