You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@continuum.apache.org by Emmanuel Venisse <ev...@apache.org> on 2008/12/11 22:38:35 UTC

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

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, <ev...@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"
>
>
>

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

Posted by Emmanuel Venisse <em...@gmail.com>.
If a basic servlet support is enough, it is easy with OSGI, onlu one line of
code to register a new servlet dynamically:

getHttpService().registerServlet( "/myplugin", new MyPluginServlet(), null,
null);

Tutorial about OSGI HttpService :
http://www.dynamicjava.org/articles/osgi-compendium/http-service

Emmanuel

On Mon, Dec 15, 2008 at 10:39 PM, Emmanuel Venisse <
emmanuel.venisse@gmail.com> wrote:

> Struts2 will be based on OSGI BUT in 2.5 [1] :-(
> if we want UI plugins based on Struts2 and OSGI, we'll need to do some work
>
> [1] http://cwiki.apache.org/S2WIKI/struts-25-based-on-osgi.html
>
> Emmanuel
>
>
> On Mon, Dec 15, 2008 at 10:13 PM, Emmanuel Venisse <
> emmanuel.venisse@gmail.com> wrote:
>
>>
>>
>> On Mon, Dec 15, 2008 at 9:28 PM, Wendy Smoak <ws...@gmail.com> wrote:
>>
>>> On Thu, Dec 11, 2008 at 2:38 PM, Emmanuel Venisse <ev...@apache.org>
>>> wrote:
>>>
>>> > I added this prototype, based on OSGI/Felix. It implement the
>>> specifications
>>> > written by Olivier [1] for a plugins system in Continuum.
>>> ...
>>> > I hope you'll can look at it and reply with comments.
>>> ...
>>> > [1]
>>> http://cwiki.apache.org/confluence/display/CONTINUUM/Continuum+Lifecycle
>>>
>>> Hi Emmanuel, thanks for putting this together!  I don't have much to
>>> offer by way of a review, but at least wanted to let you know that
>>> someone tried it out. :)
>>>
>>> I'm just back from SpringOne where OSGi was *everywhere*, so I'm
>>> pleased to see this as a possible direction for Continuum.
>>>
>>
>> Thanks Wendy.
>> In next weeks, I plug it step by step into the Continuum core and I'll
>> look at the same time to add dynamic struts action as plugins. With what
>> I'have seen for the moment, it would be easy to add some UI plugins with
>> basic servlets but it will be more complex with Struts2/JSP
>>
>> I'm looking at spring-osgi too so the our spring components will
>> communicate with osgi plugins.
>>
>> About plugin activators, I use actually an activator class by plugin, I'll
>> probably look at an other possibility with an xml descriptor and a generic
>> activator that will read this xml file to load the plugin as an extension
>> point
>>
>> Emmanuel
>>
>>
>>
>

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

Posted by Emmanuel Venisse <em...@gmail.com>.
Struts2 will be based on OSGI BUT in 2.5 [1] :-(
if we want UI plugins based on Struts2 and OSGI, we'll need to do some work

[1] http://cwiki.apache.org/S2WIKI/struts-25-based-on-osgi.html

Emmanuel

On Mon, Dec 15, 2008 at 10:13 PM, Emmanuel Venisse <
emmanuel.venisse@gmail.com> wrote:

>
>
> On Mon, Dec 15, 2008 at 9:28 PM, Wendy Smoak <ws...@gmail.com> wrote:
>
>> On Thu, Dec 11, 2008 at 2:38 PM, Emmanuel Venisse <ev...@apache.org>
>> wrote:
>>
>> > I added this prototype, based on OSGI/Felix. It implement the
>> specifications
>> > written by Olivier [1] for a plugins system in Continuum.
>> ...
>> > I hope you'll can look at it and reply with comments.
>> ...
>> > [1]
>> http://cwiki.apache.org/confluence/display/CONTINUUM/Continuum+Lifecycle
>>
>> Hi Emmanuel, thanks for putting this together!  I don't have much to
>> offer by way of a review, but at least wanted to let you know that
>> someone tried it out. :)
>>
>> I'm just back from SpringOne where OSGi was *everywhere*, so I'm
>> pleased to see this as a possible direction for Continuum.
>>
>
> Thanks Wendy.
> In next weeks, I plug it step by step into the Continuum core and I'll look
> at the same time to add dynamic struts action as plugins. With what I'have
> seen for the moment, it would be easy to add some UI plugins with basic
> servlets but it will be more complex with Struts2/JSP
>
> I'm looking at spring-osgi too so the our spring components will
> communicate with osgi plugins.
>
> About plugin activators, I use actually an activator class by plugin, I'll
> probably look at an other possibility with an xml descriptor and a generic
> activator that will read this xml file to load the plugin as an extension
> point
>
> Emmanuel
>
>
>

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

Posted by Emmanuel Venisse <em...@gmail.com>.
On Mon, Dec 15, 2008 at 9:28 PM, Wendy Smoak <ws...@gmail.com> wrote:

> On Thu, Dec 11, 2008 at 2:38 PM, Emmanuel Venisse <ev...@apache.org>
> wrote:
>
> > I added this prototype, based on OSGI/Felix. It implement the
> specifications
> > written by Olivier [1] for a plugins system in Continuum.
> ...
> > I hope you'll can look at it and reply with comments.
> ...
> > [1]
> http://cwiki.apache.org/confluence/display/CONTINUUM/Continuum+Lifecycle
>
> Hi Emmanuel, thanks for putting this together!  I don't have much to
> offer by way of a review, but at least wanted to let you know that
> someone tried it out. :)
>
> I'm just back from SpringOne where OSGi was *everywhere*, so I'm
> pleased to see this as a possible direction for Continuum.
>

Thanks Wendy.
In next weeks, I plug it step by step into the Continuum core and I'll look
at the same time to add dynamic struts action as plugins. With what I'have
seen for the moment, it would be easy to add some UI plugins with basic
servlets but it will be more complex with Struts2/JSP

I'm looking at spring-osgi too so the our spring components will communicate
with osgi plugins.

About plugin activators, I use actually an activator class by plugin, I'll
probably look at an other possibility with an xml descriptor and a generic
activator that will read this xml file to load the plugin as an extension
point

Emmanuel

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

Posted by Wendy Smoak <ws...@gmail.com>.
On Thu, Dec 11, 2008 at 2:38 PM, Emmanuel Venisse <ev...@apache.org> wrote:

> I added this prototype, based on OSGI/Felix. It implement the specifications
> written by Olivier [1] for a plugins system in Continuum.
...
> I hope you'll can look at it and reply with comments.
...
> [1] http://cwiki.apache.org/confluence/display/CONTINUUM/Continuum+Lifecycle

Hi Emmanuel, thanks for putting this together!  I don't have much to
offer by way of a review, but at least wanted to let you know that
someone tried it out. :)

I'm just back from SpringOne where OSGi was *everywhere*, so I'm
pleased to see this as a possible direction for Continuum.

-- 
Wendy

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

Posted by Emmanuel Venisse <em...@gmail.com>.
On Sat, Dec 20, 2008 at 12:48 AM, Olivier Lamy <ol...@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 <ev...@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, <ev...@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"
> >>
> >>
> >>
> >
>

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

Posted by Olivier Lamy <ol...@apache.org>.
Hi,
Sorry for late response (I'm a little busy)
It looks fine and "conforme" to the specs :-).
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).
Can we add dynamically plugins in the lifecycle and how ? (I mean
plugins coming from a configuration in the buildDefinition).

Thanks,
--
Olivier

2008/12/11 Emmanuel Venisse <ev...@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, <ev...@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"
>>
>>
>>
>