ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Juha Ranta <>
Subject Re: Versioning Best Practices?
Date Tue, 01 Dec 2009 12:03:37 GMT

ipsi wrote:
> Hey everyone, thanks for all your responses.
> Seems like timestamps are pretty common. I assume you set the
> timestamp with Ant, as part of the build? Not sure exactly how to do
> that, but I don't image it will be hard. Also, do you clean out your
> local repositories at all? Or does it just keep on building up? Or do
> you have good enough unit tests that you don't *need* to create
> artifacts very often?

Just to clarify terms, I think that that in the Ivy tutorial and default
settings, local repository is developer's private repository in his own
workstation. In this case, the developer can himself clean the repository
when he wants to make sure he gets more official builds while doing resolve.

But I assume you mean a repository that is perhaps shared by more
developers, such as a repository of continuous integration builds. Well...
in our case, I know we should clean that somehow, but so far we haven't had
problems with the disk space. :)

As for setting timestamp, you can use Ant's tstamp task to get the time in a
property and then use that property in publish task such as: <publish
revision="1.2.${timestamp}" .. /> 

> Keith: Thanks for the hint about changing="true", I'll give it a shot
> as soon as I'm back on our Ivy-using project. I also like the idea of
> using latest.${ivy.publication.status}, but I don't suppose you know
> if I can limit the version number to a range as well? e.g. limit a
> *release* to the latest *release* in the range [1.0.0,1.1.0[ ? While
> it *shouldn't* matter for now, I could see a situation where a client
> is on Version X of the software, which uses the 1.0.* branch, but
> another client is on Version Y of the software, which includes the
> 1.1.* branch - with the 1.1.* branch introducing breaking changes. As
> such, maintenance work may be needed on the 1.0.* branch (because the
> client is still using it and willing to pay for changes), but I don't
> want the clients using the 1.0.* branch picking up the release
> versions of the 1.1.* branch (because then everything would break).
> Does that make sense?

I'm not sure, but I figure out you want to somehow get the latest module
with the status release from the 1.0.* branch? If you set the branch
attribute in your published ivy.xmls, you can get the latest release from
that branch with something like <dependency rev="latest.release"
branch="1.0" .. />

There was some discussion about this in a recent thread about branches on
this list. 

View this message in context:
Sent from the ivy-user mailing list archive at

View raw message