ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig R. McClanahan" <Craig.McClana...@eng.sun.com>
Subject Re: no response?? RE: building . . .
Date Wed, 12 Jul 2000 16:55:08 GMT
"Winkley, Dennis x66244" wrote:

> why hasn't anybody said anything about this... I'd appreciate at least
> hearing peoples opinion even if it's negative...
>
> > -----Original Message-----
> > From: Winkley, Dennis x66244 [mailto:DWinkley@bis.adp.com]
> > Sent: Tuesday, July 11, 2000 2:55 PM
> > To: 'ant-dev@jakarta.apache.org'
> > Subject: building only changed files after getting those files from
> > versio n control system
> >
> >
> > I am currently working on a project for which ant has been
> > chosen as the
> > build tool.  I was wondering if anyone had figured out a way
> > to make sure
> > any 'new' files checked out from a version control system are
> > built without
> > completely cleaning the directory.  The issue here is that I
> > may have done a
> > build after the time that a file was checked in (i.e. I do a get every
> > morning and may very well have done a build at say 4:00 the
> > previous day but
> > someone checked in a file at noon on the previous day so the
> > class file date
> > is still later than the source file date).
> >
> > If this hasn't been dealt with, I was wondering if it might
> > be possible to
> > make it so the javac task sets a class files date to match
> > the source file
> > date and then have it compile any file where the dates aren't
> > exact matches.
> > ??
> >
> > Dennis
> >

I have a problem with your goal of not wanting to do clean builds from
scratch.  The issue is that you can get bitten big time by incompatible
changes made to source modules.  For example, if you add a new method to a
Java interface and compile it, the only thing that will be compiled then is
the interface -- not any classes that implement it.  You won't find out
about that kind of problem until the first time your app tries to load that
particular class, when you get an ugly exception.

As I work on Tomcat, for example, my morning routine always starts:
    * cvs update -dP
    * ./build.sh clean
    * ./build.sh all
to ensure that these kinds of issues get caught.  (In fact, our project rule
is that you have to do a clean build before you can even check anything
in.)  Thus, the way Ant currently deals with modification checking is fine
by me.

Craig McClanahan



Mime
View raw message