continuum-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Trygve Laugstøl <tryg...@apache.org>
Subject Re: Listeners for build events
Date Tue, 11 Jul 2006 19:07:22 GMT
Ahmed Omarjee wrote:
> Hi,
> 
> I have a requirement to perform other operations before checkout of a
> project, as well as after a successful or failed build. 
> 
> The context of why I need this is as follows; I am using PVCS at a corporate
> client, and have already begun writing a maven-scm-plugin for PVCS (I can't
> sit around waiting for Serena to contribute their plugin). Using agile
> methodology, I would normally perform a checkout, start the build process
> (if changes are detected), and on successful build apply a label to the
> source repository. But alas, PVCS does not have metadata locally thus a
> label can not be applied to the version that was originally checked out,
> which may result in inconsistencies.
> 
> A solution we have come it with (read hack), is : 
> 
>  - label the repository before checkout with a tag (eg. Building #123 -
> 01/07/2006 9:00)
> - checkout using that label
> - perform the build
> - and on success rename the label (which strangely PVCS supports) (eg. Build
> #123 - 01/07/2006 9:00)
> - and on failure the label is removed (which strangely PVCS also supports)

Sounds good as long as all of the steps are optional and configurable.

> If only we could have listeners to some important events such as build
> start, on success, on failure, build finished, etc. this could be pluggable
> behaviour.

Correct, this will happen before a build is even started.

> I don't mind having a look at this and take up the challenge of maybe
> implementing it, but I need some guidance and advice on the appropriateness
> of this as a solution.

That would be great if you would like to take a look just beware that it 
won't be a trivial task and will take a while. This is something that 
has been requested several times and is something I think would be nice 
to add.

To get started check out the Continuum code from trunk [1] and try to 
build it with ./build.sh. You might have to download some dependencies 
from Sun or likewise places but Maven should inform you.

[1]: https://svn.apache.org/repos/asf/maven/continuum/trunk/

--
Trygve

Mime
View raw message