You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ev...@apache.org on 2008/12/11 22:21:09 UTC

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

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"