ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Castrianni <>
Subject RE: Support for Cutting A Release ?
Date Fri, 13 Jun 2008 17:19:39 GMT
I have done the following to promote the status of a published IVY module from one level to
the next.  It works great and uses the XML ant task that I have found many great uses for.

        <target name="promote.testing" depends="promote.testing.setup,promote" description="Promote
specified build from development status to testing status"/>
        <target name="promote.testing.setup" depends="init.env">
                <property name="promote.from" value="development"/>
                <property name="" value="testing"/>
        <target name="promote.release" depends="promote.release.setup,promote" description="Promote
specified build from testing status to release status"/>
        <target name="promote.release.setup" depends="init.env">
                <property name="promote.from" value="testing"/>
                <property name="" value="release"/>
        <target name="promote" depends="init.ivy">
                <!--Calculate env.PROMOTE_REVISION asking user, can be overridden-->
                                <isset property="env.PROMOTE_REVISION"/>
                                <input message="${line.separator}Enter module revision
to promote:" addproperty="env.PROMOTE_REVISION" defaultvalue="latest.${promote.from}"/>
                <ivy:findrevision organisation="${ivy.organisation}" module="${ivy.module}"
branch="${ivy.branch}" revision="${env.PROMOTE_REVISION}" property="promote.revision.found"/>
                <echo message="Promoting status of build: ${promote.revision.found} to
status: ${}"/>
                <xt:xmltask source="${ivy.published.root}/${env.RELEASE_NAME}/${ivy.module}/${ivy.branch}/${promote.revision.found}/ivy/ivy.xml"
                        <xt:replace path="ivy-module/info/@status" withText="${}"/>
Shawn Castrianni
CM Chief Architect
Halliburton Drilling, Evaluation and Digital Solutions Building 2
2101 City West Blvd.
Houston, TX  77042
Work:  713-839-3086
Cell:  832-654-0888
Fax:  713-839-2758

-----Original Message-----
From: Xavier Hanin []
Sent: Friday, June 13, 2008 11:38 AM
Subject: Re: Support for Cutting A Release ?

On Tue, Jun 10, 2008 at 4:42 PM, Helmut Denk <> wrote:

> hello ivy-users,
> is there some support for manipulating ivy.xml
> during the the transition of status from integration
> to release ?

There's some kind of support, placed in the deliver task. This one is able
to replace "dynamic" revisions by static ones, based on what has been
actually resolved. But you can customize that, probably with some Java code,
for instance to implement recursive delivery (deliver all dependencies which
are not yet in release status for instance). This is something very powerful
I've implemented in a couple of build systems, it takes some time to setup
but then you get something very powerful. It might not fit exactly what you
want, but I suggest looking at the source code if you need tweaking.


> i use SNAPSHOTs and i am thinking about an easy way
> to replaces rev="1.0-SNAPSHOT" by rev="latest.release".
> i am also interested in informations about releasing
> a multi-project/multi-module codebase using ant+ivy+svn
> or ant+ivy+git.
> have a nice time
> --
> View this message in context:
> Sent from the ivy-user mailing list archive at

Xavier Hanin - Independent Java Consultant

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