Browse Source

BZ:41080 xmlproperty multi-values overwrite properties

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@481078 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Reilly 18 years ago
parent
commit
ac456bb17e
5 changed files with 20 additions and 2 deletions
  1. +1
    -0
      CONTRIBUTORS
  2. +3
    -0
      WHATSNEW
  3. +4
    -0
      contributors.xml
  4. +5
    -2
      src/main/org/apache/tools/ant/taskdefs/XmlProperty.java
  5. +7
    -0
      src/tests/antunit/taskdefs/xmlproperty-test.xml

+ 1
- 0
CONTRIBUTORS View File

@@ -7,6 +7,7 @@ Andreas Ames
Andreas Mross
Andrew Everitt
Andrey Urazov
Andy Wood
Anil K. Vijendran
Anli Shundi
Anthony Goubard


+ 3
- 0
WHATSNEW View File

@@ -31,6 +31,9 @@ Fixed bugs:
* Recursive filtering encountered NullPointerExceptions under certain
circumstances. Bugzilla 41086.

* XmlProperty overrides previously set property value when handling duplicate
elements. Bugzilla 41080.

Other changes:
--------------



+ 4
- 0
contributors.xml View File

@@ -38,6 +38,10 @@
<first>Andrey</first>
<last>Urazov</last>
</name>
<name>
<first>Andy</first>
<last>Wood</last>
</name>
<name>
<first>Anil</first>
<middle>K.</middle>


+ 5
- 2
src/main/org/apache/tools/ant/taskdefs/XmlProperty.java View File

@@ -499,10 +499,13 @@ public class XmlProperty extends org.apache.tools.ant.Task {
// to allow other properties to reference them.
value = (String) addedAttributes.get(name) + "," + value;
getProject().setProperty(name, value);
} else {
addedAttributes.put(name, value);
} else if (getProject().getProperty(name) == null) {
getProject().setNewProperty(name, value);
addedAttributes.put(name, value);
} else {
log("Override ignored for property " + name, Project.MSG_VERBOSE);
}
addedAttributes.put(name, value);
if (id != null) {
getProject().addReference(id, value);
}


+ 7
- 0
src/tests/antunit/taskdefs/xmlproperty-test.xml View File

@@ -6,5 +6,12 @@
<equals arg1="" arg2="${project.description}"/>
</au:assertTrue>
</target>
<target name="test-multi">
<property name="root.element.value" value="original"/>
<xmlproperty file="xmlproperty.multi.xml" collapseAttributes="yes"/>
<au:assertTrue>
<equals arg1="original" arg2="${root.element.value}"/>
</au:assertTrue>
</target>
</project>


Loading…
Cancel
Save