ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Brown <tpbr...@gmail.com>
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
things).

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.

~Tim


On Wed, Jan 20, 2010 at 6:33 AM, Gareth Western <gareth@garethwestern.com>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: http://hudson-ci.org/
> CruiseControl: http://cruisecontrol.sourceforge.net/
> Bamboo: http://www.atlassian.com/software/bamboo/
>
> Is that what you meant?
>
> On Wed, Jan 20, 2010 at 2:17 PM, Timothy Aston <Timothy.Aston@ca.ibm.com>
> 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
>

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