ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Castrianni <>
Subject RE: buildnumber Ant task & automated updates of ivy.xml
Date Wed, 19 Nov 2008 16:30:34 GMT
I started off using the buildnumber task to let IVY control the build number for CI, but then
found it difficult to tell the CI tool what the version number was that IVY selected.  Obvioulsy,
it is better if the version number used by CI matches the version used by IVY.  Therefore,
I switched to NOT use the buildnumber task and let the CI tool choose the number and pass
it to IVY as a environment variable or ant property that can be passed into the ant command
line.  When developers do their own builds outside of the CI system, the buildnumber is hardcoded
to "LOCAL".

As far as updating XML, the xmltask from oops consultancy is perfect.  I have been able to
do everything I need for parsing and editing with that task.

Shawn Castrianni

-----Original Message-----
From: Mitch Gitman []
Sent: Wednesday, November 19, 2008 10:13 AM
Subject: buildnumber Ant task & automated updates of ivy.xml

There's one Ivy Ant task that had been flying under my radar, the
buildnumber <>task.

It seems to me that the natural use for the *buildnumber *task is during a
build invoked by continuous integration. A CI-invoked Ant target would go
into an ivy.xml file and update the /ivy-module/info@revision attribute with
the property value obtained from *buildnumber*. This could
come into play when, under "Dealing with integration versions" on the the Ivy
Best Practices page<>,
you take the "create automatically a new version for each" approach.

I'd be interested in hearing what other uses folks have found for the

Also (and actually this has nothing particularly to do with *buildnumber*),
I'd be interested in hearing what mechanisms folks are doing for doing an
automated update of ivy.xml files. Besides the
/ivy-module/info@revision attribute,
there's the /ivy-module/dependencies/dependency@rev attribute, which also
can be a good candidate for automated updates in certain situations.

I can think of two ways of automatically updating the content of an ivy.xml

   - Use regular expressions. Advantage: everything's right there in the
   build.xml. Disadvantage: regular expressions. Yuck!
   - Manipulate the XML programmatically, such as by binding Java objects to
   the XML schema. This has the disadvantage of requiring Java code (and
   possibly an additional library not already in the classpath), so you'd have
   to create a separate Ant task or Java executable.

Or is there some other mechanism already out there in some Ant task (Ivy or
non-Ivy) that I'm missing, like I'd missed the *buildnumber *task for a

This e-mail, including any attached files, may contain confidential and privileged information
for the sole use of the intended recipient.  Any review, use, distribution, or disclosure
by others is strictly prohibited.  If you are not the intended recipient (or authorized to
receive information for the intended recipient), please contact the sender by reply e-mail
and delete all copies of this message.
View raw message