You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by David Martinez <dm...@food.com> on 2001/03/21 18:38:30 UTC

Mozilla-style VersionBlame?

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


Re: Mozilla-style VersionBlame?

Posted by Stefan Bodewig <bo...@apache.org>.
David Martinez <dm...@food.com> wrote:

> I have a recommendation for a future version of Ant - a VersionBlame
> task.

Take a look at Alexandria <http://jakarta.apache.org/alexandria/>, it
contains a blame task (for CVS only AFAIK).

Yep, here it is
<http://jakarta.apache.org/cvsweb/index.cgi/jakarta-alexandria/src/java/org/apache/alexandria/blame/>

Stefan

Re: Mozilla-style VersionBlame?

Posted by Nick Christopher <nw...@visionics.com>.
David Martinez wrote:

>
>
> 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.
>
>

There's the rub, unified version control tasks have been hotly debated
and are currently out of favor.


Re: Mozilla-style VersionBlame?

Posted by Diane Holt <ho...@yahoo.com>.
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 <dm...@food.com> 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
> 
> 


=====
(holtdl@yahoo.com)



__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail. 
http://personal.mail.yahoo.com/