ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Brown <>
Subject Re: Building a module only when changed
Date Wed, 20 Jan 2010 14:41:56 GMT
+1 to that.

We use Cruise to trigger builds based upon SCM changes (amongst other

However, I _have_ setup builds where it determined if a particular module
has been built since it's last change.  This was using Subversion, so excuse
the svn commands ;-)

   - svn info the module directory, extract out the last changed revision
   - ivy findrevision that module, that revision into your repo
   - if it doesn't exist, build it.

That said, I don't recommend going with this approach.  In my experience,
the gains of not just rebuilding everything outweigh the expected speed
improvement.  You start finding cases where X hasn't changed, but depends on
Y.  Y changes, and is no longer compatible with X.

You get into the impact-zone approach of testing, which adds to the overhead
of determining if you need to build, etc.

My $0.02.


On Wed, Jan 20, 2010 at 6:33 AM, Gareth Western <>wrote:

> This sounds more like an issue for your build system rather than the
> software. I think what you're looking for is a "Continuous
> Integration" server such as Hudson, CruiseControl, or Bamboo. There
> are loads of others, but those are the 3 I hear about most frequently.
> These typically monitor your SCM for changes and then invoke a build
> mechanism (Ant files, Maven, custom schell scripts, etc.), and then
> publish the resulting artifacts somewhere (upload to FTP, publish in
> Ivy, etc).
> Hudson:
> CruiseControl:
> Bamboo:
> Is that what you meant?
> On Wed, Jan 20, 2010 at 2:17 PM, Timothy Aston <>
> wrote:
> >
> >
> > I'm wondering if anyone can advise on techniques for having a module
> build
> > only if there are changes.  i.e. if the modified dates on any files in a
> > particular fileset (the source files) are later than the publication date
> > of the latest version of the module.  I have a feeling this may require
> > ant-contrib, which is OK as our build is already using that for other
> > reasons.
> >
> >
> > -Tim

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message