continuum-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Venisse" <emmanuel.veni...@gmail.com>
Subject Re: svn commit: r725818 [1/2] - in /continuum/branches/continuum-osgi-prototype: ./ continuum-app/ continuum-app/src/ continuum-app/src/main/ continuum-app/src/main/assembly/ continuum-app/src/main/resources/ continuum-build-plugin/ continuum-build-p
Date Sat, 20 Dec 2008 09:48:54 GMT
On Sat, Dec 20, 2008 at 12:48 AM, Olivier Lamy <olamy@apache.org> wrote:

> Hi,
> Sorry for late response (I'm a little busy)
> It looks fine and "conforme" to the specs :-).


cool :-)

>
> As I'm a newbie in osgi, I have some questions
> Can we use easily spring beans ? It looks with spring dm (I will try
> to add some tests in the branch).


Yes, it is possible. I'll can add a sample after the New Year.
You'll can find an example here :
http://www.dynamicjava.org/projects/da-launcher/examples

and a tutorial here :
http://www.martinlippert.org/events/OOPSLA2008-SpringDM-Tutorial-v3.pdf

>
> Can we add dynamically plugins in the lifecycle and how ? (I mean
> plugins coming from a configuration in the buildDefinition).


I don't know yet but I have some ideas :-)

1- plugins are found at startup but they can be added/removed at runtime
too, when the prototype is launched, type 'help' and you'll see some
available command available from the shell felix plugin like the install
command
2- for the build definition configuration, the user will can choose to
activate a plugin from a list of available plugins installed before. The
build controller will decide to start a plugin for a build definition or not
if it is activate for this build definition (we can have a DB table to know
it)

Emmanuel

>
>
> Thanks,
> --
> Olivier
>
> 2008/12/11 Emmanuel Venisse <evenisse@apache.org>:
> > Hi,
> >
> > I added this prototype, based on OSGI/Felix. It implement the
> specifications
> > written by Olivier [1] for a plugins system in Continuum.
> >
> > This code isn't based on the Continuum code because it is only a
> prototype
> > to show how it is easy to implement it. With this code, you can see it
> will
> > be easy to add it in Continuum, except the difficulty of the refactoring
> of
> > Continuum core to some plugins.
> >
> > How to look at it:
> > - checkout it and run 'mvn clean install
> > - go to continuum-app/target and unarchive continuum-app tar.gz file
> > - go to continuum-app/target/continuum-app/bin and launch run.sh
> >
> > With this command the prototype will start and run all phases defined in
> the
> > plugin manager and plugins attached to specific phases.
> > For the sample, I implemented two very basic plugins (BuildPlugin and
> > MyNotificationPlugin)
> >
> > Plugins must be installed under the plugins directory in the app.
> >
> > You can look at continuum-build-plugin and
> > continuum-commandline-notification-plugin modules to see how to create a
> new
> > plugin. Important things to look at are the pom, the Activator class
> (I'll
> > probably find something later to remove it) and the plugin implementation
> > that must implements a specific interface for a specific phase.
> >
> > I hope you'll can look at it and reply with comments.
> >
> > In future, I want to extend this mechanism to the UI so users will can
> > implements new pages like reports with plugins.
> >
> > [1]
> http://cwiki.apache.org/confluence/display/CONTINUUM/Continuum+Lifecycle
> >
> > Emmanuel
> >
> >
> > On Thu, Dec 11, 2008 at 10:21 PM, <evenisse@apache.org> wrote:
> >
> >> Author: evenisse
> >> Date: Thu Dec 11 13:21:06 2008
> >> New Revision: 725818
> >>
> >> URL: http://svn.apache.org/viewvc?rev=725818&view=rev
> >> Log:
> >> Add OSGI plugins system prototype
> >>
> >> Added:
> >>    continuum/branches/continuum-osgi-prototype/continuum-app/
> >>    continuum/branches/continuum-osgi-prototype/continuum-app/pom.xml
> >> (with props)
> >>    continuum/branches/continuum-osgi-prototype/continuum-app/src/
> >>    continuum/branches/continuum-osgi-prototype/continuum-app/src/main/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-app/src/main/assembly/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-app/src/main/assembly/bin.xml
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-app/src/main/resources/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-app/src/main/resources/run.sh
> >>   (with props)
> >>    continuum/branches/continuum-osgi-prototype/continuum-build-plugin/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-build-plugin/pom.xml
> >>   (with props)
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/Activator.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/BuildPlugin.java
> >>   (with props)
> >>    continuum/branches/continuum-osgi-prototype/continuum-builder/
> >>    continuum/branches/continuum-osgi-prototype/continuum-builder/pom.xml
> >> (with props)
> >>    continuum/branches/continuum-osgi-prototype/continuum-builder/src/
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuildPluginTracker.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderActivator.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderImpl.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/pom.xml
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/Activator.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/MyNotificationPlugin.java
> >>   (with props)
> >>    continuum/branches/continuum-osgi-prototype/continuum-model/
> >>    continuum/branches/continuum-osgi-prototype/continuum-model/pom.xml
> >> (with props)
> >>    continuum/branches/continuum-osgi-prototype/continuum-model/src/
> >>    continuum/branches/continuum-osgi-prototype/continuum-model/src/main/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildDefinitionTemplate.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildResult.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ProjectGroup.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ScmResult.java
> >>   (with props)
> >>    continuum/branches/continuum-osgi-prototype/continuum-plugin-api/
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/pom.xml
> >>   (with props)
> >>    continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildProjectPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildReportsPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/DeployArtifactsPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/EndBuildPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/Plugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildProjectPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildReportsPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostDeployArtifactsPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostSendNotificationPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostUpdateSourcesPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildProjectPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildReportsPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreDeployArtifactsPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreSendNotificationPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreUpdateSourcesPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/SendNotificationPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/UpdateSourcesPlugin.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/builder/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/builder/Builder.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/builder/Phase.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/context/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/context/ProjectInformation.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/context/ProjectType.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/context/ScmInformation.java
> >>   (with props)
> >>    continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/pom.xml
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/java/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/java/org/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/java/org/apache/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/java/org/apache/continuum/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/java/org/apache/continuum/plugin/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/java/org/apache/continuum/plugin/manager/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/java/org/apache/continuum/plugin/manager/BuilderTracker.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/java/org/apache/continuum/plugin/manager/HostActivator.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/java/org/apache/continuum/plugin/manager/PluginManager.java
> >>   (with props)
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/resources/
> >>
> >>
>  continuum/branches/continuum-osgi-prototype/continuum-plugin-manager/src/main/resources/osgi-manager.properties
> >>   (with props)
> >>    continuum/branches/continuum-osgi-prototype/pom.xml   (with props)
> >>
> >> Added: continuum/branches/continuum-osgi-prototype/continuum-app/pom.xml
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-app/pom.xml?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> --- continuum/branches/continuum-osgi-prototype/continuum-app/pom.xml
> >> (added)
> >> +++ continuum/branches/continuum-osgi-prototype/continuum-app/pom.xml
> Thu
> >> Dec 11 13:21:06 2008
> >> @@ -0,0 +1,70 @@
> >> +<project>
> >> +  <modelVersion>4.0.0</modelVersion>
> >> +  <parent>
> >> +    <groupId>org.apache.continuum</groupId>
> >> +    <artifactId>continuum-plugins</artifactId>
> >> +    <version>1.4-SNAPSHOT</version>
> >> +  </parent>
> >> +  <artifactId>continuum-app</artifactId>
> >> +  <packaging>pom</packaging>
> >> +
> >> +  <dependencies>
> >> +    <dependency>
> >> +      <groupId>org.apache.continuum</groupId>
> >> +      <artifactId>continuum-plugin-manager</artifactId>
> >> +      <version>1.4-SNAPSHOT</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.apache.continuum</groupId>
> >> +      <artifactId>continuum-builder</artifactId>
> >> +      <version>1.4-SNAPSHOT</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.apache.continuum</groupId>
> >> +      <artifactId>continuum-build-plugin</artifactId>
> >> +      <version>1.4-SNAPSHOT</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.apache.continuum</groupId>
> >> +
>  <artifactId>continuum-commandline-notification-plugin</artifactId>
> >> +      <version>1.4-SNAPSHOT</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.apache.felix</groupId>
> >> +      <artifactId>org.osgi.compendium</artifactId>
> >> +      <version>1.2.0</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.slf4j</groupId>
> >> +      <artifactId>slf4j-api</artifactId>
> >> +      <version>1.4.3</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.slf4j</groupId>
> >> +      <artifactId>slf4j-simple</artifactId>
> >> +      <version>1.4.3</version>
> >> +    </dependency>
> >> +  </dependencies>
> >> +
> >> +  <build>
> >> +    <plugins>
> >> +      <plugin>
> >> +        <groupId>org.apache.maven.plugins</groupId>
> >> +        <artifactId>maven-assembly-plugin</artifactId>
> >> +        <version>2.1</version>
> >> +        <executions>
> >> +          <execution>
> >> +            <phase>package</phase>
> >> +            <goals>
> >> +              <goal>single</goal>
> >> +            </goals>
> >> +          </execution>
> >> +        </executions>
> >> +        <configuration>
> >> +          <descriptor>src/main/assembly/bin.xml</descriptor>
> >> +        </configuration>
> >> +      </plugin>
> >> +    </plugins>
> >> +  </build>
> >> +</project>
> >> +
> >>
> >> Propchange:
> >> continuum/branches/continuum-osgi-prototype/continuum-app/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >> continuum/branches/continuum-osgi-prototype/continuum-app/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-app/src/main/assembly/bin.xml
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-app/src/main/assembly/bin.xml?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-app/src/main/assembly/bin.xml
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-app/src/main/assembly/bin.xml
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,43 @@
> >> +<assembly>
> >> +  <id>continuum-app</id>
> >> +  <formats>
> >> +    <format>tar.gz</format>
> >> +  </formats>
> >> +  <dependencySets>
> >> +    <dependencySet>
> >> +      <outputDirectory>/lib</outputDirectory>
> >> +      <includes>
> >> +
>  <include>org.apache.continuum:continuum-plugin-manager</include>
> >> +        <include>org.apache.felix:org.apache.felix.main</include>
> >> +      </includes>
> >> +    </dependencySet>
> >> +    <dependencySet>
> >> +      <outputDirectory>/system</outputDirectory>
> >> +      <includes>
> >> +        <include>org.apache.continuum:continuum-plugin-api</include>
> >> +        <include>org.apache.continuum:continuum-model</include>
> >> +        <include>org.apache.continuum:continuum-builder</include>
> >> +        <include>org.apache.felix:org.osgi.compendium</include>
> >> +        <include>org.apache.felix:org.apache.felix.shell</include>
> >> +        <include>org.apache.felix:org.apache.felix.shell.tui</include>
> >> +        <include>org.slf4j:slf4j-api</include>
> >> +        <include>org.slf4j:slf4j-simple</include>
> >> +      </includes>
> >> +    </dependencySet>
> >> +    <dependencySet>
> >> +      <outputDirectory>/plugins</outputDirectory>
> >> +      <includes>
> >> +        <include>org.apache.continuum:continuum-build-plugin</include>
> >> +
> >>
>  <include>org.apache.continuum:continuum-commandline-notification-plugin</include>
> >> +      </includes>
> >> +    </dependencySet>
> >> +  </dependencySets>
> >> +  <fileSets>
> >> +    <fileSet>
> >> +      <directory>src/main/resources</directory>
> >> +      <outputDirectory>/bin</outputDirectory>
> >> +      <fileMode>0755</fileMode>
> >> +    </fileSet>
> >> +  </fileSets>
> >> +</assembly>
> >> +
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-app/src/main/assembly/bin.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-app/src/main/assembly/bin.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-app/src/main/resources/run.sh
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-app/src/main/resources/run.sh?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-app/src/main/resources/run.sh
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-app/src/main/resources/run.sh
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,7 @@
> >> +#!/bin/sh
> >> +
> >> +cd ..
> >> +
> >> +rm -rf cache
> >> +
> >> +java -classpath
> >>
> lib/continuum-plugin-manager-1.4-SNAPSHOT.jar:system/continuum-plugin-api-1.4-SNAPSHOT.jar:lib/org.apache.felix.main-1.2.2.jar
> >> org.apache.continuum.plugin.manager.PluginManager
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-app/src/main/resources/run.sh
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-app/src/main/resources/run.sh
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/pom.xml
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-build-plugin/pom.xml?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/pom.xml
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/pom.xml
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,48 @@
> >> +<project>
> >> +  <modelVersion>4.0.0</modelVersion>
> >> +  <parent>
> >> +    <groupId>org.apache.continuum</groupId>
> >> +    <artifactId>continuum-plugins</artifactId>
> >> +    <version>1.4-SNAPSHOT</version>
> >> +  </parent>
> >> +  <artifactId>continuum-build-plugin</artifactId>
> >> +  <packaging>bundle</packaging>
> >> +
> >> +  <dependencies>
> >> +    <dependency>
> >> +      <groupId>org.apache.continuum</groupId>
> >> +      <artifactId>continuum-plugin-api</artifactId>
> >> +      <version>1.4-SNAPSHOT</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.apache.felix</groupId>
> >> +      <artifactId>org.osgi.core</artifactId>
> >> +      <version>1.2.0</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.slf4j</groupId>
> >> +      <artifactId>slf4j-api</artifactId>
> >> +      <version>1.4.3</version>
> >> +    </dependency>
> >> +  </dependencies>
> >> +
> >> +  <build>
> >> +    <plugins>
> >> +      <plugin>
> >> +        <groupId>org.apache.felix</groupId>
> >> +        <artifactId>maven-bundle-plugin</artifactId>
> >> +        <version>1.4.0</version>
> >> +        <extensions>true</extensions>
> >> +        <configuration>
> >> +          <instructions>
> >> +            <Import-Package>org.apache.continuum.plugin.api*,
> >> org.apache.continuum.model*, org.osgi.framework*,
> >> org.slf4j*</Import-Package>
> >> +
> >>  <Private-Package>org.apache.continuum.plugin.build*</Private-Package>
> >> +
> >>
>  <Bundle-Activator>org.apache.continuum.plugin.build.Activator</Bundle-Activator>
> >> +            <Bundle-Vendor>The Apache Software
> Foundation</Bundle-Vendor>
> >> +          </instructions>
> >> +        </configuration>
> >> +      </plugin>
> >> +    </plugins>
> >> +  </build>
> >> +</project>
> >> +
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/Activator.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/Activator.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/Activator.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/Activator.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,26 @@
> >> +package org.apache.continuum.plugin.build;
> >> +
> >> +import org.apache.continuum.plugin.api.BuildProjectPlugin;
> >> +import org.osgi.framework.BundleActivator;
> >> +import org.osgi.framework.BundleContext;
> >> +
> >> +import java.util.Hashtable;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public class Activator
> >> +    implements BundleActivator
> >> +{
> >> +    public void start( BundleContext bundleContext )
> >> +        throws Exception
> >> +    {
> >> +        bundleContext.registerService(
> BuildProjectPlugin.class.getName(),
> >> new BuildPlugin(), new Hashtable() );
> >> +    }
> >> +
> >> +    public void stop( BundleContext bundleContext )
> >> +        throws Exception
> >> +    {
> >> +    }
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/Activator.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/Activator.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/BuildPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/BuildPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/BuildPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/BuildPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,34 @@
> >> +package org.apache.continuum.plugin.build;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.BuildProjectPlugin;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +import org.slf4j.Logger;
> >> +import org.slf4j.LoggerFactory;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public class BuildPlugin
> >> +    implements BuildProjectPlugin
> >> +{
> >> +    Logger log = LoggerFactory.getLogger( BuildPlugin.class );
> >> +
> >> +    public BuildPlugin()
> >> +    {
> >> +        log.info( "Starting " + getName() );
> >> +    }
> >> +
> >> +    public String getName()
> >> +    {
> >> +        return getClass().getName();
> >> +    }
> >> +
> >> +    public void execute( ProjectInformation projectInformation,
> ScmResult
> >> scmResult, BuildResult buildResult )
> >> +    {
> >> +        log.info( "Executing " + getName() );
> >> +        buildResult.setResult( "OK" );
> >> +    }
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/BuildPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-build-plugin/src/main/java/org/apache/continuum/plugin/build/BuildPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >> continuum/branches/continuum-osgi-prototype/continuum-builder/pom.xml
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-builder/pom.xml?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> continuum/branches/continuum-osgi-prototype/continuum-builder/pom.xml
> >> (added)
> >> +++
> continuum/branches/continuum-osgi-prototype/continuum-builder/pom.xml
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,62 @@
> >> +<project>
> >> +  <modelVersion>4.0.0</modelVersion>
> >> +  <parent>
> >> +    <groupId>org.apache.continuum</groupId>
> >> +    <artifactId>continuum-plugins</artifactId>
> >> +    <version>1.4-SNAPSHOT</version>
> >> +  </parent>
> >> +  <artifactId>continuum-builder</artifactId>
> >> +  <packaging>bundle</packaging>
> >> +
> >> +  <dependencies>
> >> +    <dependency>
> >> +      <groupId>org.apache.continuum</groupId>
> >> +      <artifactId>continuum-plugin-api</artifactId>
> >> +      <version>1.4-SNAPSHOT</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.apache.felix</groupId>
> >> +      <artifactId>org.osgi.core</artifactId>
> >> +      <version>1.2.0</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.apache.felix</groupId>
> >> +      <artifactId>org.osgi.compendium</artifactId>
> >> +      <version>1.2.0</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.slf4j</groupId>
> >> +      <artifactId>slf4j-api</artifactId>
> >> +      <version>1.4.3</version>
> >> +    </dependency>
> >> +  </dependencies>
> >> +
> >> +  <build>
> >> +    <plugins>
> >> +      <plugin>
> >> +        <groupId>org.apache.felix</groupId>
> >> +        <artifactId>maven-bundle-plugin</artifactId>
> >> +        <version>1.4.0</version>
> >> +        <extensions>true</extensions>
> >> +        <configuration>
> >> +          <instructions>
> >> +            <Import-Package>org.apache.continuum.plugin.api*,
> >> org.apache.continuum.model*, org.osgi.framework*,
> org.osgi.util.tracker*,
> >> org.slf4j*</Import-Package>
> >> +
> >>  <Private-Package>org.apache.continuum.builder.impl*</Private-Package>
> >> +
> >>
>  <Bundle-Activator>org.apache.continuum.builder.impl.BuilderActivator</Bundle-Activator>
> >> +            <Bundle-Vendor>The Apache Software
> Foundation</Bundle-Vendor>
> >> +          </instructions>
> >> +        </configuration>
> >> +      </plugin>
> >> +      <plugin>
> >> +        <groupId>org.apache.maven.plugins</groupId>
> >> +        <artifactId>maven-compiler-plugin</artifactId>
> >> +        <version>2.0.2</version>
> >> +        <configuration>
> >> +          <source>1.5</source>
> >> +          <target>1.5</target>
> >> +        </configuration>
> >> +      </plugin>
> >> +    </plugins>
> >> +  </build>
> >> +</project>
> >> +
> >>
> >> Propchange:
> >> continuum/branches/continuum-osgi-prototype/continuum-builder/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >> continuum/branches/continuum-osgi-prototype/continuum-builder/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuildPluginTracker.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuildPluginTracker.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuildPluginTracker.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuildPluginTracker.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,44 @@
> >> +package org.apache.continuum.builder.impl;
> >> +
> >> +import org.apache.continuum.plugin.api.Plugin;
> >> +import org.osgi.framework.BundleContext;
> >> +import org.osgi.framework.ServiceReference;
> >> +import org.osgi.util.tracker.ServiceTracker;
> >> +import org.slf4j.Logger;
> >> +import org.slf4j.LoggerFactory;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public class BuildPluginTracker
> >> +    extends ServiceTracker
> >> +{
> >> +    private static final Logger log = LoggerFactory.getLogger(
> >> BuildPluginTracker.class );
> >> +
> >> +    public BuildPluginTracker( BundleContext context, Class<? extends
> >> Plugin> pluginClass )
> >> +    {
> >> +        super( context, pluginClass.getName(), null );
> >> +    }
> >> +
> >> +    @Override
> >> +    public Object addingService( ServiceReference serviceReference )
> >> +    {
> >> +        log.info( "adding " + serviceReference );
> >> +        return super.addingService( serviceReference );
> >> +    }
> >> +
> >> +    @Override
> >> +    public void modifiedService( ServiceReference serviceReference,
> Object
> >> o )
> >> +    {
> >> +        log.info( "modified " + serviceReference );
> >> +        super.modifiedService( serviceReference, o );
> >> +    }
> >> +
> >> +    @Override
> >> +    public void removedService( ServiceReference serviceReference,
> Object
> >> o )
> >> +    {
> >> +        log.info( "removing " + serviceReference );
> >> +        super.removedService( serviceReference, o );
> >> +    }
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuildPluginTracker.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuildPluginTracker.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderActivator.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderActivator.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderActivator.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderActivator.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,172 @@
> >> +package org.apache.continuum.builder.impl;
> >> +
> >> +import org.apache.continuum.plugin.api.BuildProjectPlugin;
> >> +import org.apache.continuum.plugin.api.BuildReportsPlugin;
> >> +import org.apache.continuum.plugin.api.DeployArtifactsPlugin;
> >> +import org.apache.continuum.plugin.api.EndBuildPlugin;
> >> +import org.apache.continuum.plugin.api.PostBuildProjectPlugin;
> >> +import org.apache.continuum.plugin.api.PostBuildReportsPlugin;
> >> +import org.apache.continuum.plugin.api.PostDeployArtifactsPlugin;
> >> +import org.apache.continuum.plugin.api.PostSendNotificationPlugin;
> >> +import org.apache.continuum.plugin.api.PostUpdateSourcesPlugin;
> >> +import org.apache.continuum.plugin.api.PreBuildProjectPlugin;
> >> +import org.apache.continuum.plugin.api.PreBuildReportsPlugin;
> >> +import org.apache.continuum.plugin.api.PreDeployArtifactsPlugin;
> >> +import org.apache.continuum.plugin.api.PreSendNotificationPlugin;
> >> +import org.apache.continuum.plugin.api.PreUpdateSourcesPlugin;
> >> +import org.apache.continuum.plugin.api.SendNotificationPlugin;
> >> +import org.apache.continuum.plugin.api.UpdateSourcesPlugin;
> >> +import org.apache.continuum.plugin.api.builder.Builder;
> >> +import org.apache.continuum.plugin.api.builder.Phase;
> >> +import org.osgi.framework.Bundle;
> >> +import org.osgi.framework.BundleActivator;
> >> +import org.osgi.framework.BundleContext;
> >> +
> >> +import java.util.HashMap;
> >> +import java.util.Map;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public class BuilderActivator
> >> +    implements BundleActivator
> >> +{
> >> +    private BundleContext context;
> >> +
> >> +    //private BuildPluginTracker tracker;
> >> +
> >> +    private Map<String, BuildPluginTracker> trackers = new
> HashMap<String,
> >> BuildPluginTracker>();
> >> +
> >> +    public void start( BundleContext bundleContext )
> >> +        throws Exception
> >> +    {
> >> +        context = bundleContext;
> >> +
> >> +        //tracker = new BuildPluginTracker( context );
> >> +        //tracker.open();
> >> +
> >> +        trackers.put( Phase.PRE_UPDATE_SOURCES.getName(),
> createTracker(
> >> context, Phase.PRE_UPDATE_SOURCES ) );
> >> +        trackers.put( Phase.UPDATE_SOURCES.getName(), createTracker(
> >> context, Phase.UPDATE_SOURCES ) );
> >> +        trackers.put( Phase.POST_UPDATE_SOURCES.getName(),
> createTracker(
> >> context, Phase.POST_UPDATE_SOURCES ) );
> >> +
> >> +        trackers.put( Phase.PRE_BUILD_PROJECT.getName(), createTracker(
> >> context, Phase.PRE_BUILD_PROJECT ) );
> >> +        trackers.put( Phase.BUILD_PROJECT.getName(), createTracker(
> >> context, Phase.BUILD_PROJECT ) );
> >> +        trackers.put( Phase.POST_BUILD_PROJECT.getName(),
> createTracker(
> >> context, Phase.POST_BUILD_PROJECT ) );
> >> +
> >> +        trackers.put( Phase.PRE_DEPLOY_ARTIFACTS.getName(),
> createTracker(
> >> context, Phase.PRE_DEPLOY_ARTIFACTS ) );
> >> +        trackers.put( Phase.DEPLOY_ARTIFACTS.getName(), createTracker(
> >> context, Phase.DEPLOY_ARTIFACTS ) );
> >> +        trackers.put( Phase.POST_DEPLOY_ARTIFACTS.getName(),
> >> createTracker( context, Phase.POST_DEPLOY_ARTIFACTS ) );
> >> +
> >> +        trackers.put( Phase.PRE_BUILD_REPORTS.getName(), createTracker(
> >> context, Phase.PRE_BUILD_REPORTS ) );
> >> +        trackers.put( Phase.BUILD_REPORTS.getName(), createTracker(
> >> context, Phase.BUILD_REPORTS ) );
> >> +        trackers.put( Phase.POST_BUILD_REPORTS.getName(),
> createTracker(
> >> context, Phase.POST_BUILD_REPORTS ) );
> >> +
> >> +        trackers.put( Phase.PRE_SEND_NOTIFICATIONS.getName(),
> >> createTracker( context, Phase.PRE_SEND_NOTIFICATIONS ) );
> >> +        trackers.put( Phase.SEND_NOTIFICATIONS.getName(),
> createTracker(
> >> context, Phase.SEND_NOTIFICATIONS ) );
> >> +        trackers.put( Phase.POST_SEND_NOTIFICATIONS.getName(),
> >> +                      createTracker( context,
> >> Phase.POST_SEND_NOTIFICATIONS ) );
> >> +
> >> +        trackers.put( Phase.END_BUILD.getName(), createTracker(
> context,
> >> Phase.END_BUILD ) );
> >> +
> >> +        Builder builder = new BuilderImpl( trackers );
> >> +        context.registerService( Builder.class.getName(), builder, null
> );
> >> +    }
> >> +
> >> +    public void stop( BundleContext bundleContext )
> >> +        throws Exception
> >> +    {
> >> +        //tracker.close();
> >> +
> >> +        for ( String key : trackers.keySet() )
> >> +        {
> >> +            BuildPluginTracker tracker = trackers.get( key );
> >> +            tracker.close();
> >> +            trackers.put( key, null );
> >> +        }
> >> +        context = null;
> >> +    }
> >> +
> >> +    private BuildPluginTracker createTracker( BundleContext context,
> Phase
> >> phase )
> >> +    {
> >> +        BuildPluginTracker tracker = null;
> >> +
> >> +        if ( Phase.PRE_UPDATE_SOURCES.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> PreUpdateSourcesPlugin.class );
> >> +        }
> >> +        else if ( Phase.UPDATE_SOURCES.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> UpdateSourcesPlugin.class );
> >> +        }
> >> +        else if ( Phase.POST_UPDATE_SOURCES.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> PostUpdateSourcesPlugin.class );
> >> +        }
> >> +        else if ( Phase.PRE_BUILD_PROJECT.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> PreBuildProjectPlugin.class );
> >> +        }
> >> +        else if ( Phase.BUILD_PROJECT.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> BuildProjectPlugin.class );
> >> +        }
> >> +        else if ( Phase.POST_BUILD_PROJECT.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> PostBuildProjectPlugin.class );
> >> +        }
> >> +        else if ( Phase.PRE_DEPLOY_ARTIFACTS.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> PreDeployArtifactsPlugin.class );
> >> +        }
> >> +        else if ( Phase.DEPLOY_ARTIFACTS.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> DeployArtifactsPlugin.class );
> >> +        }
> >> +        else if ( Phase.POST_DEPLOY_ARTIFACTS.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> PostDeployArtifactsPlugin.class );
> >> +        }
> >> +        else if ( Phase.PRE_BUILD_REPORTS.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> PreBuildReportsPlugin.class );
> >> +        }
> >> +        else if ( Phase.BUILD_REPORTS.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> BuildReportsPlugin.class );
> >> +        }
> >> +        else if ( Phase.POST_BUILD_REPORTS.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> PostBuildReportsPlugin.class );
> >> +        }
> >> +        else if ( Phase.PRE_SEND_NOTIFICATIONS.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> PreSendNotificationPlugin.class );
> >> +        }
> >> +        else if ( Phase.SEND_NOTIFICATIONS.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> SendNotificationPlugin.class );
> >> +        }
> >> +        else if ( Phase.POST_SEND_NOTIFICATIONS.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> PostSendNotificationPlugin.class );
> >> +        }
> >> +        else if ( Phase.END_BUILD.equals( phase ) )
> >> +        {
> >> +            tracker = new BuildPluginTracker( context,
> >> EndBuildPlugin.class );
> >> +        }
> >> +
> >> +        tracker.open();
> >> +        return tracker;
> >> +    }
> >> +
> >> +    public Bundle[] getBundles()
> >> +    {
> >> +        Bundle[] bundles = null;
> >> +        if ( context != null )
> >> +        {
> >> +            bundles = context.getBundles();
> >> +        }
> >> +        return bundles;
> >> +    }
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderActivator.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderActivator.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderImpl.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderImpl.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderImpl.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderImpl.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,185 @@
> >> +package org.apache.continuum.builder.impl;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.BuildProjectPlugin;
> >> +import org.apache.continuum.plugin.api.BuildReportsPlugin;
> >> +import org.apache.continuum.plugin.api.EndBuildPlugin;
> >> +import org.apache.continuum.plugin.api.Plugin;
> >> +import org.apache.continuum.plugin.api.PostBuildProjectPlugin;
> >> +import org.apache.continuum.plugin.api.PostBuildReportsPlugin;
> >> +import org.apache.continuum.plugin.api.PostSendNotificationPlugin;
> >> +import org.apache.continuum.plugin.api.PostUpdateSourcesPlugin;
> >> +import org.apache.continuum.plugin.api.PreBuildProjectPlugin;
> >> +import org.apache.continuum.plugin.api.PreBuildReportsPlugin;
> >> +import org.apache.continuum.plugin.api.PreSendNotificationPlugin;
> >> +import org.apache.continuum.plugin.api.PreUpdateSourcesPlugin;
> >> +import org.apache.continuum.plugin.api.SendNotificationPlugin;
> >> +import org.apache.continuum.plugin.api.UpdateSourcesPlugin;
> >> +import org.apache.continuum.plugin.api.builder.Builder;
> >> +import org.apache.continuum.plugin.api.builder.Phase;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +import org.slf4j.Logger;
> >> +import org.slf4j.LoggerFactory;
> >> +
> >> +import java.util.Map;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public class BuilderImpl
> >> +    implements Builder
> >> +{
> >> +    private static final Logger log = LoggerFactory.getLogger(
> >> BuilderImpl.class );
> >> +
> >> +    private Map<String, BuildPluginTracker> trackers;
> >> +
> >> +    public BuilderImpl( Map<String, BuildPluginTracker> trackers )
> >> +    {
> >> +        this.trackers = trackers;
> >> +    }
> >> +
> >> +    public void execute( int projectId, int buildDef )
> >> +    {
> >> +        log.info( "Executing build for project '" + projectId + "'
> with
> >> build def '" + buildDef + "'" );
> >> +
> >> +        BuildContext context = new BuildContext();
> >> +
> >> +        execute( Phase.PRE_UPDATE_SOURCES, context );
> >> +        execute( Phase.UPDATE_SOURCES, context );
> >> +        execute( Phase.POST_UPDATE_SOURCES, context );
> >> +
> >> +        execute( Phase.PRE_BUILD_PROJECT, context );
> >> +        execute( Phase.BUILD_PROJECT, context );
> >> +        execute( Phase.POST_BUILD_PROJECT, context );
> >> +
> >> +        execute( Phase.PRE_DEPLOY_ARTIFACTS, context );
> >> +        execute( Phase.DEPLOY_ARTIFACTS, context );
> >> +        execute( Phase.POST_DEPLOY_ARTIFACTS, context );
> >> +
> >> +        execute( Phase.PRE_BUILD_REPORTS, context );
> >> +        execute( Phase.BUILD_REPORTS, context );
> >> +        execute( Phase.POST_BUILD_REPORTS, context );
> >> +
> >> +        execute( Phase.PRE_SEND_NOTIFICATIONS, context );
> >> +        execute( Phase.SEND_NOTIFICATIONS, context );
> >> +        execute( Phase.POST_SEND_NOTIFICATIONS, context );
> >> +
> >> +        execute( Phase.END_BUILD, context );
> >> +    }
> >> +
> >> +    private void execute( Phase phase, BuildContext context )
> >> +    {
> >> +        log.info( "Running " + phase.getName() + " phase" );
> >> +        Object[] plugins = trackers.get( phase.getName()
> ).getServices();
> >> +        if ( plugins != null && plugins.length > 0 )
> >> +        {
> >> +            for ( Object obj : plugins )
> >> +            {
> >> +                Plugin p = (Plugin) obj;
> >> +
> >> +                if ( p instanceof PreUpdateSourcesPlugin )
> >> +                {
> >> +                    ( (PreUpdateSourcesPlugin) p ).execute(
> >> context.getProjectInformation() );
> >> +                }
> >> +                else if ( p instanceof UpdateSourcesPlugin )
> >> +                {
> >> +                    ( (UpdateSourcesPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult() );
> >> +                }
> >> +                else if ( p instanceof PostUpdateSourcesPlugin )
> >> +                {
> >> +                    ( (PostUpdateSourcesPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult() );
> >> +                }
> >> +                else if ( p instanceof PreBuildProjectPlugin )
> >> +                {
> >> +                    ( (PreBuildProjectPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult() );
> >> +                }
> >> +                else if ( p instanceof BuildProjectPlugin )
> >> +                {
> >> +                    ( (BuildProjectPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult(),
> >> +
> >>  context.getBuildResult() );
> >> +                }
> >> +                else if ( p instanceof PostBuildProjectPlugin )
> >> +                {
> >> +                    ( (PostBuildProjectPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult(),
> >> +
> >>  context.getBuildResult() );
> >> +                }
> >> +                else if ( p instanceof PreBuildReportsPlugin )
> >> +                {
> >> +                    ( (PreBuildReportsPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult(),
> >> +
> >> context.getBuildResult() );
> >> +                }
> >> +                else if ( p instanceof BuildReportsPlugin )
> >> +                {
> >> +                    ( (BuildReportsPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult(),
> >> +
> >>  context.getBuildResult() );
> >> +                }
> >> +                else if ( p instanceof PostBuildReportsPlugin )
> >> +                {
> >> +                    ( (PostBuildReportsPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult(),
> >> +
> >>  context.getBuildResult() );
> >> +                }
> >> +                else if ( p instanceof PreSendNotificationPlugin )
> >> +                {
> >> +                    ( (PreSendNotificationPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult(),
> >> +
> >> context.getBuildResult() );
> >> +                }
> >> +                else if ( p instanceof SendNotificationPlugin )
> >> +                {
> >> +                    ( (SendNotificationPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult(),
> >> +
> >>  context.getBuildResult() );
> >> +                }
> >> +                else if ( p instanceof PostSendNotificationPlugin )
> >> +                {
> >> +                    ( (PostSendNotificationPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult(),
> >> +
> >>  context.getBuildResult() );
> >> +                }
> >> +                else if ( p instanceof EndBuildPlugin )
> >> +                {
> >> +                    ( (EndBuildPlugin) p ).execute(
> >> context.getProjectInformation(), context.getScmResult(),
> >> +
> >>  context.getBuildResult() );
> >> +                }
> >> +            }
> >> +        }
> >> +    }
> >> +
> >> +    private class BuildContext
> >> +    {
> >> +        private ProjectInformation projectInfo = new
> ProjectInformation();
> >> +
> >> +        private ScmResult scmResult = new ScmResult();
> >> +
> >> +        private BuildResult buildResult = new BuildResult();
> >> +
> >> +        public ProjectInformation getProjectInformation()
> >> +        {
> >> +            return projectInfo;
> >> +        }
> >> +
> >> +        public void setProjectInformation( ProjectInformation
> projectInfo
> >> )
> >> +        {
> >> +            this.projectInfo = projectInfo;
> >> +        }
> >> +
> >> +        public ScmResult getScmResult()
> >> +        {
> >> +            return scmResult;
> >> +        }
> >> +
> >> +        public void setScmResult( ScmResult scmResult )
> >> +        {
> >> +            this.scmResult = scmResult;
> >> +        }
> >> +
> >> +        public BuildResult getBuildResult()
> >> +        {
> >> +            return buildResult;
> >> +        }
> >> +
> >> +        public void setBuildResult( BuildResult buildResult )
> >> +        {
> >> +            this.buildResult = buildResult;
> >> +        }
> >> +    }
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderImpl.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-builder/src/main/java/org/apache/continuum/builder/impl/BuilderImpl.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/pom.xml
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/pom.xml?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/pom.xml
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/pom.xml
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,48 @@
> >> +<project>
> >> +  <modelVersion>4.0.0</modelVersion>
> >> +  <parent>
> >> +    <groupId>org.apache.continuum</groupId>
> >> +    <artifactId>continuum-plugins</artifactId>
> >> +    <version>1.4-SNAPSHOT</version>
> >> +  </parent>
> >> +  <artifactId>continuum-commandline-notification-plugin</artifactId>
> >> +  <packaging>bundle</packaging>
> >> +
> >> +  <dependencies>
> >> +    <dependency>
> >> +      <groupId>org.apache.continuum</groupId>
> >> +      <artifactId>continuum-plugin-api</artifactId>
> >> +      <version>1.4-SNAPSHOT</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.apache.felix</groupId>
> >> +      <artifactId>org.osgi.core</artifactId>
> >> +      <version>1.2.0</version>
> >> +    </dependency>
> >> +    <dependency>
> >> +      <groupId>org.slf4j</groupId>
> >> +      <artifactId>slf4j-api</artifactId>
> >> +      <version>1.4.3</version>
> >> +    </dependency>
> >> +  </dependencies>
> >> +
> >> +  <build>
> >> +    <plugins>
> >> +      <plugin>
> >> +        <groupId>org.apache.felix</groupId>
> >> +        <artifactId>maven-bundle-plugin</artifactId>
> >> +        <version>1.4.0</version>
> >> +        <extensions>true</extensions>
> >> +        <configuration>
> >> +          <instructions>
> >> +            <Import-Package>org.apache.continuum.plugin.api*,
> >> org.apache.continuum.model*, org.osgi.framework*,
> >> org.slf4j*</Import-Package>
> >> +
> >>
>  <Private-Package>org.apache.continuum.plugin.notification*</Private-Package>
> >> +
> >>
>  <Bundle-Activator>org.apache.continuum.plugin.notification.Activator</Bundle-Activator>
> >> +            <Bundle-Vendor>The Apache Software
> Foundation</Bundle-Vendor>
> >> +          </instructions>
> >> +        </configuration>
> >> +      </plugin>
> >> +    </plugins>
> >> +  </build>
> >> +</project>
> >> +
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/Activator.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/Activator.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/Activator.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/Activator.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,27 @@
> >> +package org.apache.continuum.plugin.notification;
> >> +
> >> +import org.apache.continuum.plugin.api.SendNotificationPlugin;
> >> +import org.osgi.framework.BundleActivator;
> >> +import org.osgi.framework.BundleContext;
> >> +
> >> +import java.util.Hashtable;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public class Activator
> >> +    implements BundleActivator
> >> +{
> >> +    public void start( BundleContext bundleContext )
> >> +        throws Exception
> >> +    {
> >> +        bundleContext.registerService(
> >> SendNotificationPlugin.class.getName(), new MyNotificationPlugin(),
> >> +                                       new Hashtable() );
> >> +    }
> >> +
> >> +    public void stop( BundleContext bundleContext )
> >> +        throws Exception
> >> +    {
> >> +    }
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/Activator.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/Activator.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/MyNotificationPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/MyNotificationPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/MyNotificationPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/MyNotificationPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,28 @@
> >> +package org.apache.continuum.plugin.notification;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.SendNotificationPlugin;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +import org.slf4j.Logger;
> >> +import org.slf4j.LoggerFactory;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public class MyNotificationPlugin
> >> +    implements SendNotificationPlugin
> >> +{
> >> +    private Logger log = LoggerFactory.getLogger(
> >> MyNotificationPlugin.class );
> >> +
> >> +    public String getName()
> >> +    {
> >> +        return this.getClass().getName();
> >> +    }
> >> +
> >> +    public void execute( ProjectInformation projectInformation,
> ScmResult
> >> scmResult, BuildResult buildResult )
> >> +    {
> >> +        log.info( "BuildResut = " + buildResult.getResult() );
> >> +    }
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/MyNotificationPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-commandline-notification-plugin/src/main/java/org/apache/continuum/plugin/notification/MyNotificationPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> continuum/branches/continuum-osgi-prototype/continuum-model/pom.xml
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-model/pom.xml?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> --- continuum/branches/continuum-osgi-prototype/continuum-model/pom.xml
> >> (added)
> >> +++ continuum/branches/continuum-osgi-prototype/continuum-model/pom.xml
> Thu
> >> Dec 11 13:21:06 2008
> >> @@ -0,0 +1,28 @@
> >> +<project>
> >> +  <modelVersion>4.0.0</modelVersion>
> >> +  <parent>
> >> +    <groupId>org.apache.continuum</groupId>
> >> +    <artifactId>continuum-plugins</artifactId>
> >> +    <version>1.4-SNAPSHOT</version>
> >> +  </parent>
> >> +  <artifactId>continuum-model</artifactId>
> >> +  <packaging>bundle</packaging>
> >> +
> >> +  <build>
> >> +    <plugins>
> >> +      <plugin>
> >> +        <groupId>org.apache.felix</groupId>
> >> +        <artifactId>maven-bundle-plugin</artifactId>
> >> +        <version>1.4.0</version>
> >> +        <extensions>true</extensions>
> >> +        <configuration>
> >> +          <instructions>
> >> +
>  <Export-Package>org.apache.continuum.model*</Export-Package>
> >> +            <Bundle-Vendor>The Apache Software
> Foundation</Bundle-Vendor>
> >> +          </instructions>
> >> +        </configuration>
> >> +      </plugin>
> >> +    </plugins>
> >> +  </build>
> >> +</project>
> >> +
> >>
> >> Propchange:
> >> continuum/branches/continuum-osgi-prototype/continuum-model/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >> continuum/branches/continuum-osgi-prototype/continuum-model/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildDefinitionTemplate.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildDefinitionTemplate.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildDefinitionTemplate.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildDefinitionTemplate.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,9 @@
> >> +package org.apache.continuum.model;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public class BuildDefinitionTemplate
> >> +{
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildDefinitionTemplate.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildDefinitionTemplate.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildResult.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildResult.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildResult.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildResult.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,20 @@
> >> +package org.apache.continuum.model;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public class BuildResult
> >> +{
> >> +    private String result;
> >> +
> >> +    public String getResult()
> >> +    {
> >> +        return result;
> >> +    }
> >> +
> >> +    public void setResult( String result )
> >> +    {
> >> +        this.result = result;
> >> +    }
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildResult.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/BuildResult.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ProjectGroup.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ProjectGroup.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ProjectGroup.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ProjectGroup.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,10 @@
> >> +package org.apache.continuum.model;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public class ProjectGroup
> >> +{
> >> +}
> >> +
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ProjectGroup.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ProjectGroup.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ScmResult.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ScmResult.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ScmResult.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ScmResult.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,9 @@
> >> +package org.apache.continuum.model;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public class ScmResult
> >> +{
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ScmResult.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-model/src/main/java/org/apache/continuum/model/ScmResult.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/pom.xml
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/pom.xml?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/pom.xml
> >> (added)
> >> +++
> >> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/pom.xml
> Thu
> >> Dec 11 13:21:06 2008
> >> @@ -0,0 +1,45 @@
> >> +<project>
> >> +  <modelVersion>4.0.0</modelVersion>
> >> +  <parent>
> >> +    <groupId>org.apache.continuum</groupId>
> >> +    <artifactId>continuum-plugins</artifactId>
> >> +    <version>1.4-SNAPSHOT</version>
> >> +  </parent>
> >> +  <artifactId>continuum-plugin-api</artifactId>
> >> +  <packaging>bundle</packaging>
> >> +
> >> +  <dependencies>
> >> +    <dependency>
> >> +      <groupId>org.apache.continuum</groupId>
> >> +      <artifactId>continuum-model</artifactId>
> >> +      <version>1.4-SNAPSHOT</version>
> >> +    </dependency>
> >> +  </dependencies>
> >> +
> >> +  <build>
> >> +    <plugins>
> >> +      <plugin>
> >> +        <groupId>org.apache.felix</groupId>
> >> +        <artifactId>maven-bundle-plugin</artifactId>
> >> +        <version>1.4.0</version>
> >> +        <extensions>true</extensions>
> >> +        <configuration>
> >> +          <instructions>
> >> +
> >>  <Export-Package>org.apache.continuum.plugin.api*</Export-Package>
> >> +            <Bundle-Vendor>The Apache Software
> Foundation</Bundle-Vendor>
> >> +          </instructions>
> >> +        </configuration>
> >> +      </plugin>
> >> +      <plugin>
> >> +        <groupId>org.apache.maven.plugins</groupId>
> >> +        <artifactId>maven-compiler-plugin</artifactId>
> >> +        <version>2.0.2</version>
> >> +        <configuration>
> >> +          <source>1.5</source>
> >> +          <target>1.5</target>
> >> +        </configuration>
> >> +      </plugin>
> >> +    </plugins>
> >> +  </build>
> >> +</project>
> >> +
> >>
> >> Propchange:
> >> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/pom.xml
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildProjectPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildProjectPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildProjectPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildProjectPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,15 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface BuildProjectPlugin
> >> +    extends Plugin
> >> +{
> >> +    void execute( ProjectInformation projectInformation, ScmResult
> >> scmResult, BuildResult buildResult );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildProjectPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildProjectPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildReportsPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildReportsPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildReportsPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildReportsPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,15 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface BuildReportsPlugin
> >> +    extends Plugin
> >> +{
> >> +    void execute( ProjectInformation projectInformation, ScmResult
> >> scmResult, BuildResult buildResult );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildReportsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/BuildReportsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/DeployArtifactsPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/DeployArtifactsPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/DeployArtifactsPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/DeployArtifactsPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,13 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface DeployArtifactsPlugin
> >> +    extends Plugin
> >> +{
> >> +    void execute( ProjectInformation projectInformation );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/DeployArtifactsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/DeployArtifactsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/EndBuildPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/EndBuildPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/EndBuildPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/EndBuildPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,16 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface EndBuildPlugin
> >> +    extends Plugin
> >> +{
> >> +    //with a new parameter List<BuildReport> buildReports ?
> >> +    void execute( ProjectInformation projectInformation, ScmResult
> >> scmResult, BuildResult buildResult );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/EndBuildPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/EndBuildPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/Plugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/Plugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/Plugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/Plugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,10 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface Plugin
> >> +{
> >> +    String getName();
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/Plugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/Plugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildProjectPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildProjectPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildProjectPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildProjectPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,15 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface PostBuildProjectPlugin
> >> +    extends Plugin
> >> +{
> >> +    void execute( ProjectInformation projectInformation, ScmResult
> >> scmResult, BuildResult buildResult );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildProjectPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildProjectPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildReportsPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildReportsPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildReportsPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildReportsPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,15 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface PostBuildReportsPlugin
> >> +    extends Plugin
> >> +{
> >> +    void execute( ProjectInformation projectInformation, ScmResult
> >> scmResult, BuildResult buildResult );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildReportsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostBuildReportsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostDeployArtifactsPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostDeployArtifactsPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostDeployArtifactsPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostDeployArtifactsPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,13 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface PostDeployArtifactsPlugin
> >> +    extends Plugin
> >> +{
> >> +    void execute( ProjectInformation projectInformation );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostDeployArtifactsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostDeployArtifactsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostSendNotificationPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostSendNotificationPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostSendNotificationPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostSendNotificationPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,16 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface PostSendNotificationPlugin
> >> +    extends Plugin
> >> +{
> >> +    // (with a new parameter List<BuildReport> buildReports ?)
> >> +    void execute( ProjectInformation projectInformation, ScmResult
> >> scmResult, BuildResult buildResult );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostSendNotificationPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostSendNotificationPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostUpdateSourcesPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostUpdateSourcesPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostUpdateSourcesPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostUpdateSourcesPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,14 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface PostUpdateSourcesPlugin
> >> +    extends Plugin
> >> +{
> >> +    void execute( ProjectInformation projectInformation, ScmResult
> >> scmResult );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostUpdateSourcesPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PostUpdateSourcesPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildProjectPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildProjectPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildProjectPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildProjectPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,15 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface PreBuildProjectPlugin
> >> +    extends Plugin
> >> +{
> >> +    void execute( ProjectInformation projectInformation, ScmResult
> >> scmResult );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildProjectPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildProjectPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildReportsPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildReportsPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildReportsPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildReportsPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,15 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface PreBuildReportsPlugin
> >> +    extends Plugin
> >> +{
> >> +    void execute( ProjectInformation projectInformation, ScmResult
> >> scmResult, BuildResult buildResult );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildReportsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreBuildReportsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreDeployArtifactsPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreDeployArtifactsPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreDeployArtifactsPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreDeployArtifactsPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,13 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface PreDeployArtifactsPlugin
> >> +    extends Plugin
> >> +{
> >> +    void execute( ProjectInformation projectInformation );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreDeployArtifactsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreDeployArtifactsPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Added:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreSendNotificationPlugin.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreSendNotificationPlugin.java?rev=725818&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreSendNotificationPlugin.java
> >> (added)
> >> +++
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreSendNotificationPlugin.java
> >> Thu Dec 11 13:21:06 2008
> >> @@ -0,0 +1,16 @@
> >> +package org.apache.continuum.plugin.api;
> >> +
> >> +import org.apache.continuum.model.BuildResult;
> >> +import org.apache.continuum.model.ScmResult;
> >> +import org.apache.continuum.plugin.api.context.ProjectInformation;
> >> +
> >> +/**
> >> + * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
> >> + * @version $Id$
> >> + */
> >> +public interface PreSendNotificationPlugin
> >> +    extends Plugin
> >> +{
> >> +    // (with a new parameter List<BuildReport> buildReports ?)
> >> +    void execute( ProjectInformation projectInformation, ScmResult
> >> scmResult, BuildResult buildResult );
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreSendNotificationPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/continuum-osgi-prototype/continuum-plugin-api/src/main/java/org/apache/continuum/plugin/api/PreSendNotificationPlugin.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >>
> >>
> >
>

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