I am attempting to migrate a large ANT build system from 1.6 to 1.7 and
am running into a problem with xmlproperty.
We use xmlproperty massively in our build system and very often "stack"
several xmlproperty calls in order to build a complex property 'tree',
where several inter-dependent build files will declare and/or overload
parts of the tree using xmlproperty.
Our approach however is completely incompatible with ANT 1.7 due to a
modification to xmlproperty (bug 26286 c.f.
http://issues.apache.org/bugzilla/show_bug.cgi?id=26286) that forces
"empty" elements in an XML property tree to be declared.
Consider the following exemple:
===> build_A.xml :
<project name="Bui_A" default="All">
<xmlproperty file="about_A.xml"/>
<import file="build_B.xml"/>
<target name="All">
<ant target="Bui_B.main"/>
</target>
</project>
===> about_A.xml:
<app>
<version developmentStage="beta"/>
</app>
===> build_B.xml :
<project name="Bui_B">
<xmlproperty file="about_B.xml"/>
<target name="Bui_B.main">
<echo message="The version number is: '${app.version}'"/>
<echo message="The development stage is:
${app.version(developmentStage)}"/>
<!-- etc.... -->
</target>
</project>
===> about_B.xml:
<app>
<version developmentStage="final">2.4.0</version>
</app>
The aim is : When running build_A.xml use most of about_B.xml but
overload certain parts of it with about_A.xml
In ANT 1.6 about_A.xml would only set property
app.version(developmentStage) effectively overloading the
developmentStage defined in about_B.xml, but with ANT 1.7, about_A.xml
also sets the property app.version to "empty" thus making it impossible
for about_B.xml to define it as 2.4.0.
In ANT 1.6 the output is:
[echo] The version number is: '2.4.0'
[echo] The development stage is: 'beta'
in ANT 1.7 the output is:
[echo] The version number is: ''
[echo] The development stage is: 'beta'
This makes it impossible to use xmlproperty to overload a single path in
a complex property tree, and therefore destroys one of the main features
of the task as far as I can see.
Has anybody come across the same problem? any workaround?
Regards,
Samuel.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]