From dev-return-7627-apmail-continuum-dev-archive=continuum.apache.org@continuum.apache.org Thu Dec 11 21:39:06 2008 Return-Path: Delivered-To: apmail-continuum-dev-archive@www.apache.org Received: (qmail 62029 invoked from network); 11 Dec 2008 21:39:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 Dec 2008 21:39:05 -0000 Received: (qmail 13937 invoked by uid 500); 11 Dec 2008 21:39:18 -0000 Delivered-To: apmail-continuum-dev-archive@continuum.apache.org Received: (qmail 13895 invoked by uid 500); 11 Dec 2008 21:39:17 -0000 Mailing-List: contact dev-help@continuum.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@continuum.apache.org Delivered-To: mailing list dev@continuum.apache.org Received: (qmail 13883 invoked by uid 99); 11 Dec 2008 21:39:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Dec 2008 13:39:17 -0800 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of emmanuel.venisse@gmail.com designates 209.85.220.16 as permitted sender) Received: from [209.85.220.16] (HELO mail-fx0-f16.google.com) (209.85.220.16) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Dec 2008 21:38:55 +0000 Received: by fxm9 with SMTP id 9so433794fxm.2 for ; Thu, 11 Dec 2008 13:38:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:mime-version:content-type:x-google-sender-auth; bh=DDm0LEwOa0RcORvpT0VQuMvrXb/sX6ugcZFrj2w8i5M=; b=HS1iOU7+AQXaET/FI/qz5mIvIX25DOWEC59mVQjdKHhi797Ya+UWn2uXqkqu7k3M4E PsV78BeTvvhQZ3WmTUUugqKeolds+v0lebXQB5hk6kijpv/GZYu5Xf1UL2ZaoUAWydz7 dIE3kS45+Yge6qdobTlbV7EAX65NbSRaENSAA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:mime-version:content-type :x-google-sender-auth; b=Dbw/mbFWMXuPgIl/OFrfOQetMp0KemYWvAQsrbq87H5BylQW+5Mu+PWC0fYfjI9vMQ 0zsFaoi5e1d9fnvUzeFDNS6vESrAOYFGjlu++ZS5r9u2V9QoBzDNHXZiJV/XqroUPSO0 BS0osf4Mk6zZgH2sIeQvhhe5pA/oEAxo6+EGc= Received: by 10.223.106.12 with SMTP id v12mr3526332fao.16.1229031515297; Thu, 11 Dec 2008 13:38:35 -0800 (PST) Received: by 10.223.105.3 with HTTP; Thu, 11 Dec 2008 13:38:35 -0800 (PST) Message-ID: Date: Thu, 11 Dec 2008 22:38:35 +0100 From: "Emmanuel Venisse" Sender: emmanuel.venisse@gmail.com To: dev@continuum.apache.org Subject: Re: svn commit: r725818 [1/2] - in /continuum/branches/continuum-osgi-prototype: ./ continuum-app/ continuum-app/src/ continuum-app/src/main/ continuum-app/src/main/assembly/ continuum-app/src/main/resources/ continuum-build-plugin/ continuum-build-p MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_109677_10925476.1229031515196" X-Google-Sender-Auth: 788dbe97a522c3e0 X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_109677_10925476.1229031515196 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline 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, 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 @@ > + > + 4.0.0 > + > + org.apache.continuum > + continuum-plugins > + 1.4-SNAPSHOT > + > + continuum-app > + pom > + > + > + > + org.apache.continuum > + continuum-plugin-manager > + 1.4-SNAPSHOT > + > + > + org.apache.continuum > + continuum-builder > + 1.4-SNAPSHOT > + > + > + org.apache.continuum > + continuum-build-plugin > + 1.4-SNAPSHOT > + > + > + org.apache.continuum > + continuum-commandline-notification-plugin > + 1.4-SNAPSHOT > + > + > + org.apache.felix > + org.osgi.compendium > + 1.2.0 > + > + > + org.slf4j > + slf4j-api > + 1.4.3 > + > + > + org.slf4j > + slf4j-simple > + 1.4.3 > + > + > + > + > + > + > + org.apache.maven.plugins > + maven-assembly-plugin > + 2.1 > + > + > + package > + > + single > + > + > + > + > + src/main/assembly/bin.xml > + > + > + > + > + > + > > 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 @@ > + > + continuum-app > + > + tar.gz > + > + > + > + /lib > + > + org.apache.continuum:continuum-plugin-manager > + org.apache.felix:org.apache.felix.main > + > + > + > + /system > + > + org.apache.continuum:continuum-plugin-api > + org.apache.continuum:continuum-model > + org.apache.continuum:continuum-builder > + org.apache.felix:org.osgi.compendium > + org.apache.felix:org.apache.felix.shell > + org.apache.felix:org.apache.felix.shell.tui > + org.slf4j:slf4j-api > + org.slf4j:slf4j-simple > + > + > + > + /plugins > + > + org.apache.continuum:continuum-build-plugin > + > org.apache.continuum:continuum-commandline-notification-plugin > + > + > + > + > + > + src/main/resources > + /bin > + 0755 > + > + > + > + > > 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 @@ > + > + 4.0.0 > + > + org.apache.continuum > + continuum-plugins > + 1.4-SNAPSHOT > + > + continuum-build-plugin > + bundle > + > + > + > + org.apache.continuum > + continuum-plugin-api > + 1.4-SNAPSHOT > + > + > + org.apache.felix > + org.osgi.core > + 1.2.0 > + > + > + org.slf4j > + slf4j-api > + 1.4.3 > + > + > + > + > + > + > + org.apache.felix > + maven-bundle-plugin > + 1.4.0 > + true > + > + > + org.apache.continuum.plugin.api*, > org.apache.continuum.model*, org.osgi.framework*, > org.slf4j* > + > org.apache.continuum.plugin.build* > + > org.apache.continuum.plugin.build.Activator > + The Apache Software Foundation > + > + > + > + > + > + > + > > 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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 @@ > + > + 4.0.0 > + > + org.apache.continuum > + continuum-plugins > + 1.4-SNAPSHOT > + > + continuum-builder > + bundle > + > + > + > + org.apache.continuum > + continuum-plugin-api > + 1.4-SNAPSHOT > + > + > + org.apache.felix > + org.osgi.core > + 1.2.0 > + > + > + org.apache.felix > + org.osgi.compendium > + 1.2.0 > + > + > + org.slf4j > + slf4j-api > + 1.4.3 > + > + > + > + > + > + > + org.apache.felix > + maven-bundle-plugin > + 1.4.0 > + true > + > + > + org.apache.continuum.plugin.api*, > org.apache.continuum.model*, org.osgi.framework*, org.osgi.util.tracker*, > org.slf4j* > + > org.apache.continuum.builder.impl* > + > org.apache.continuum.builder.impl.BuilderActivator > + The Apache Software Foundation > + > + > + > + > + org.apache.maven.plugins > + maven-compiler-plugin > + 2.0.2 > + > + 1.5 > + 1.5 > + > + > + > + > + > + > > 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 Emmanuel Venisse > + * @version $Id$ > + */ > +public class BuildPluginTracker > + extends ServiceTracker > +{ > + private static final Logger log = LoggerFactory.getLogger( > BuildPluginTracker.class ); > + > + public BuildPluginTracker( BundleContext context, Class 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 Emmanuel Venisse > + * @version $Id$ > + */ > +public class BuilderActivator > + implements BundleActivator > +{ > + private BundleContext context; > + > + //private BuildPluginTracker tracker; > + > + private Map trackers = new HashMap 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 Emmanuel Venisse > + * @version $Id$ > + */ > +public class BuilderImpl > + implements Builder > +{ > + private static final Logger log = LoggerFactory.getLogger( > BuilderImpl.class ); > + > + private Map trackers; > + > + public BuilderImpl( Map 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 @@ > + > + 4.0.0 > + > + org.apache.continuum > + continuum-plugins > + 1.4-SNAPSHOT > + > + continuum-commandline-notification-plugin > + bundle > + > + > + > + org.apache.continuum > + continuum-plugin-api > + 1.4-SNAPSHOT > + > + > + org.apache.felix > + org.osgi.core > + 1.2.0 > + > + > + org.slf4j > + slf4j-api > + 1.4.3 > + > + > + > + > + > + > + org.apache.felix > + maven-bundle-plugin > + 1.4.0 > + true > + > + > + org.apache.continuum.plugin.api*, > org.apache.continuum.model*, org.osgi.framework*, > org.slf4j* > + > org.apache.continuum.plugin.notification* > + > org.apache.continuum.plugin.notification.Activator > + The Apache Software Foundation > + > + > + > + > + > + > + > > 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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 @@ > + > + 4.0.0 > + > + org.apache.continuum > + continuum-plugins > + 1.4-SNAPSHOT > + > + continuum-model > + bundle > + > + > + > + > + org.apache.felix > + maven-bundle-plugin > + 1.4.0 > + true > + > + > + org.apache.continuum.model* > + The Apache Software Foundation > + > + > + > + > + > + > + > > 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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 @@ > + > + 4.0.0 > + > + org.apache.continuum > + continuum-plugins > + 1.4-SNAPSHOT > + > + continuum-plugin-api > + bundle > + > + > + > + org.apache.continuum > + continuum-model > + 1.4-SNAPSHOT > + > + > + > + > + > + > + org.apache.felix > + maven-bundle-plugin > + 1.4.0 > + true > + > + > + > org.apache.continuum.plugin.api* > + The Apache Software Foundation > + > + > + > + > + org.apache.maven.plugins > + maven-compiler-plugin > + 2.0.2 > + > + 1.5 > + 1.5 > + > + > + > + > + > + > > 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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @version $Id$ > + */ > +public interface EndBuildPlugin > + extends Plugin > +{ > + //with a new parameter List 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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @version $Id$ > + */ > +public interface PostSendNotificationPlugin > + extends Plugin > +{ > + // (with a new parameter List 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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @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 Emmanuel Venisse > + * @version $Id$ > + */ > +public interface PreSendNotificationPlugin > + extends Plugin > +{ > + // (with a new parameter List 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" > > > ------=_Part_109677_10925476.1229031515196--