continuum-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Olivier Lamy" <ol...@apache.org>
Subject Continuum osgi was [ 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-plug
Date Sun, 21 Dec 2008 13:30:52 GMT
2008/12/20 Emmanuel Venisse <emmanuel.venisse@gmail.com>:
> On Sat, Dec 20, 2008 at 12:48 AM, Olivier Lamy <olamy@apache.org> wrote:
>
>> Hi,
>> Sorry for late response (I'm a little busy)
>> It looks fine and "conforme" to the specs :-).
>
>
> cool :-)
>
>>
>> As I'm a newbie in osgi, I have some questions
>> Can we use easily spring beans ? It looks with spring dm (I will try
>> to add some tests in the branch).
>
>
> Yes, it is possible. I'll can add a sample after the New Year.
> You'll can find an example here :
> http://www.dynamicjava.org/projects/da-launcher/examples
>
> and a tutorial here :
> http://www.martinlippert.org/events/OOPSLA2008-SpringDM-Tutorial-v3.pdf
>
>>
>> Can we add dynamically plugins in the lifecycle and how ? (I mean
>> plugins coming from a configuration in the buildDefinition).
>
>
> I don't know yet but I have some ideas :-)
>
> 1- plugins are found at startup but they can be added/removed at runtime
> too, when the prototype is launched, type 'help' and you'll see some
> available command available from the shell felix plugin like the install
> command
> 2- for the build definition configuration, the user will can choose to
> activate a plugin from a list of available plugins installed before. The
> build controller will decide to start a plugin for a build definition or not
> if it is activate for this build definition (we can have a DB table to know
> it)
>

With version ? (osgi could play with that). Users could choose a
version of the plugin and not an unique one.

Did you have a look at glassfish (this app server use felix) and the
part where you can add/update some services to the app server and add
some ui components too.


> Emmanuel
>
>>
>>
>> Thanks,
>> --
>> Olivier
>>
>> 2008/12/11 Emmanuel Venisse <evenisse@apache.org>:
>> > Hi,
>> >
>> > I added this prototype, based on OSGI/Felix. It implement the
>> specifications
>> > written by Olivier [1] for a plugins system in Continuum.
>> >
>> > This code isn't based on the Continuum code because it is only a
>> prototype
>> > to show how it is easy to implement it. With this code, you can see it
>> will
>> > be easy to add it in Continuum, except the difficulty of the refactoring
>> of
>> > Continuum core to some plugins.
>> >
>> > How to look at it:
>> > - checkout it and run 'mvn clean install
>> > - go to continuum-app/target and unarchive continuum-app tar.gz file
>> > - go to continuum-app/target/continuum-app/bin and launch run.sh
>> >
>> > With this command the prototype will start and run all phases defined in
>> the
>> > plugin manager and plugins attached to specific phases.
>> > For the sample, I implemented two very basic plugins (BuildPlugin and
>> > MyNotificationPlugin)
>> >
>> > Plugins must be installed under the plugins directory in the app.
>> >
>> > You can look at continuum-build-plugin and
>> > continuum-commandline-notification-plugin modules to see how to create a
>> new
>> > plugin. Important things to look at are the pom, the Activator class
>> (I'll
>> > probably find something later to remove it) and the plugin implementation
>> > that must implements a specific interface for a specific phase.
>> >
>> > I hope you'll can look at it and reply with comments.
>> >
>> > In future, I want to extend this mechanism to the UI so users will can
>> > implements new pages like reports with plugins.
>> >
>> > [1]
>> http://cwiki.apache.org/confluence/display/CONTINUUM/Continuum+Lifecycle
>> >
>> > Emmanuel
>> >
>> >

Mime
View raw message