Hi David,
I'm not familiar with how Mozilla is doing this, but I think everything
you'd need to do the build-verification/failure-notification part of it
with Ant is already available. Whenever I've set up a system like what
you're wanting to do, I've always done it on a build-per-change basis --
otherwise, you could potentially be pointing a finger at the wrong change
(eg., Jill changes foo.c, and Jack changes global.h and introduces a bug
-- foo.c now fails to compile, not because of Jill's change, but because
of Jack's, but there's no way for the automated system to know that -- it
just sees that foo.c's compile failed).
So you'd want some mechanism -- outside of Ant, hooked to your SCM tool --
that triggered a "verification build" whenever a change was submitted. The
"verification build" is where Ant would come into it. Ant picks up the
change, runs the build, and if the build failed, does all the things you
want done once that happens. You'd use things like XmlLogger to generate
your HTML page and a listener (see the FAQ for the example that sends mail
on a failure), and whatever task(s) you'd need to use to capture the
change information (eg., <exec>, <propertyfile>, <script> -- whatever
works for your needs), etc.
Diane
--- David Martinez <[EMAIL PROTECTED]> wrote:
>
> I am more or less a beginner with ant but I am helping implement it in
> our
> organization's automated builds (already use it for my personal stuff).
> So
> please bear with me if this already exists.
>
> I have a recommendation for a future version of Ant - a VersionBlame
> task.
>
> The idea is to do the same thing Mozilla.org does in their automated
> builds
> (they call it "cvsblame"):
>
> If there is a compile error that breaks the build, query the version
> control
> system (the different version control tasks ant already has should
> implement
> some sort of unified interface for this purpose) for the name & email
> address of the last check-in on the files that broke.
>
> Then the task would output an HTML page showing all the errors with
> their
> VersionBlame person on an HTML table and (if an email is available) send
> an
> e-mail to each of these people letting them know how they broke the
> build.
>
> I am not too familiar with the underlying architecture of the Perforce
> and
> CVS tasks though - how feasible is this to implement? I'm also worried
> because I don't know how easy it would be to change the setOut to the
> task's
> own PrintStream, which would print to the real System.Out and also parse
> the
> errors to provide them to VersionBlame.
>
> I could help on the weekends implement something like this, but I need
> to
> know who to contact.
>
> Am I making any sense?
>
> Thanks,
>
> - David
>
>
=====
([EMAIL PROTECTED])
__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail.
http://personal.mail.yahoo.com/