Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 317943

Summary: [Gemini Blueprint] Use Gemini Blueprint instead of Spring DM
Product: [RT] Virgo Reporter: Glyn Normington <glyn.normington>
Component: runtimeAssignee: Glyn Normington <glyn.normington>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: b.kapukaranov, cleau, edufrazao, hendy, hendy, i.am.joel, iapogudin, pasch, paul.reid, rafal, roland.hauser, shutyaev, wkharold
Version: unspecified   
Target Milestone: 3.5.0.M04   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Bug Depends on: 373633, 373634, 373635    
Bug Blocks: 350944    

Description Glyn Normington CLA 2010-06-25 06:03:14 EDT

    
Comment 1 Glyn Normington CLA 2010-07-15 22:07:08 EDT
Example of user requirement: http://www.eclipse.org/forums/index.php?t=rview&goto=547108#msg_547108.
Comment 2 Glyn Normington CLA 2010-10-27 06:25:21 EDT
Virgo cannot formally release based on Gemini Blueprint until Gemini Blueprint is formally released.
Comment 3 Alexander Shutyaev CLA 2010-11-15 15:50:48 EST
What is the current progress on this bug and is there any workaround?
Comment 4 Glyn Normington CLA 2010-11-15 17:29:00 EST
There is no progress on this enhancement. The workaround is for apps to use Spring DM 1.2.1 features instead of Gemini Blueprint features.
Comment 5 Ward K Harold CLA 2011-01-19 17:00:29 EST
Please consider this a vote to make this enhancement a priority. I'd like to use Virgo in a production setting but we want adopt the new, standard, blueprint service for our DI. Ergo, using Spring DM 1.2.1 DI features is not an option.
Comment 6 Glyn Normington CLA 2011-04-21 04:25:33 EDT
Gemini Blueprint will be released no sooner than June 2011, so this enhancement is unlikely to make Virgo 3.0.
Comment 7 Hendy Irawan CLA 2011-06-16 06:22:30 EDT
+1 Vote for this bug.

No Blueprint would be devastating (at least to me) because a lot of the things that has been taken for granted with Blueprint (such as with Apache Felix Karaf's integrated Aries Blueprint) need to be tweaked or "downgraded".

Is it possible/recommended to manually install Gemini Blueprint / Aries Blueprint on top of Virgo ?

Even if cannot release with Virgo 3.0, if Gemini Blueprint can be integrated with Virgo 3.1/3.5 it would be great.
Comment 8 Borislav Kapukaranov CLA 2011-06-16 06:50:21 EDT
AFAIK you can install Gemini Blueprint on top of Virgo. There were some incompatibilities but these were fixed in M03 if I remember correctly.
I tested a simple blueprint bundle then and it was fine.

If your application consume only the blueprint functionality it should work.
So far there are no known incompatibilities if you exclude the obvious clash of Spring DM features (Gemini Blueprint include also Spring DM support and that is already in Virgo, but with older version).

I suggest trying to install Gemini Blueprint after Virgo has started and try your apps.

If you encounter any incompatibilities feel welcome to share them here. That will speed up the integration with GB.
Comment 9 Hendy Irawan CLA 2011-06-16 10:50:45 EDT
Thank you Borislav! I confirmed Eclipse Virgo 3.0.0.M5 + Eclipse Gemini Blueprint 1.0.0.M1 works well in my sample case I blogged here:

http://eclipsedriven.blogspot.com/2011/06/how-to-create-felix-gogo-commands-with.html

Though particularly for my sample case, Apache Karaf won big (not to brag the competition, but hoping it would be a constructive feedback to Virgo team) due to well-integrated Felix GoGo, SSH server, Apache Aries as OSGi Blueprint implementation, and also good logging that can be inspected right inside console/SSH. I hope Virgo will also integrate these features.
Comment 10 Borislav Kapukaranov CLA 2011-06-16 11:14:07 EDT
Nice blog!
Gogo + SSH is coming in 3.0.0 along with some nice supportability features not available in GoGo at this point.

I don't think we have plans to ship with Aries :) 
BTW out of curiosity since i know Aries doesn't include Spring DM support it should run with less problems(clashes) than GB at this point. 
I saw in your blog you tried it - did you encounter any problems with it while testing on Virgo?
Comment 11 Hendy Irawan CLA 2011-06-16 11:36:34 EDT
Hi Borislav.

Thanks for the compliment.

Not sure if this is a good place to discuss Blueprint (it's a Virgo ticket anyway), but yeah, in my sample case Gemini Blueprint 1.0.0.M1 ran without problems in Virgo 3.0.0.M5! Yay!

And actually, installing Gemini is much less troublesome than Gemini because I only had to put 3 bundles (io, core, extender, pretty intuitive) without no missing external dependency.

For Aries Blueprint, I needed 3 Aries bundles (aries.blueprint, aries.proxy, and aries.util), the latter two are not so intuitive to infer that they're blueprint's dependencies but perhaps it's because Aries modules are more cohesive than Gemini subprojects. Then Aries needed 3 more JARs: asm, asm.tree, asm.commons. I just happen to have those (SpringSource EBR version) lying around so I'm a bit lucky.

There is a but... On other project I use Blueprint "Compendium", it seems like Aries' "proprietary" extension on OSGi Blueprint, specifically these namespaces:

	http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 http://svn.apache.org/repos/asf/aries/tags/blueprint-0.3.1/blueprint-cm/src/main/resources/org/apache/aries/blueprint/compendium/cm/blueprint-cm-1.1.0.xsd

	http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0 http://svn.apache.org/repos/asf/aries/tags/blueprint-0.3.1/blueprint-core/src/main/resources/org/apache/aries/blueprint/ext/blueprint-ext.xsd

If Gemini Blueprint can support those in the future, or better yet: standardize them, it'd be great.

Overall, Gemini Blueprint on Virgo works great, just as advertised, and I have yet to hit any edge cases.
Comment 12 Glyn Normington CLA 2011-06-16 11:52:44 EDT
Hi Hendy

You hit the nail on the head. This discussion would be much better in the Virgo forum as then other users would be much more likely to get the benefit.

I intend to link your blog from the Virgo home page, but perhaps you could post a link to your blog to the forum and a summary of anything else you have gleaned here.

BTW I think you're right about the coupling of the parts of Aries. I once tried to get the Aries blog sample running on Virgo and it ended up pulling in quite a bit of Aries I wasn't expecting and ultimately I ended up with a stack trace that even an Aries committer, who was helping me during a coffee break at a conference, couldn't figure out. I never found the time to go back and debug it.

Regards,
Glyn
Comment 13 Hendy Irawan CLA 2011-06-16 12:15:31 EDT
Hi Glyn,

I've created a forum thread here:
http://www.eclipse.org/forums/index.php/m/685009/
Comment 14 Eduardo Frazão CLA 2012-02-14 14:18:50 EST
+1 Vote for this Bug. It will be great to use Gemini Blueprint. Continue to have support for the great Spring DM, and the OSGi standard Componente Model.
Comment 15 Paul Reid CLA 2012-02-27 10:00:08 EST
Another vote for this bug.
Comment 16 Glyn Normington CLA 2012-03-08 06:05:32 EST
The basic changes are pushed to kernel branch 317943-replace-spring-dm-with-gemini-blueprint. This branch does not yet build: the test failures are captured in bugs 373633, 373634, and 373635.
Comment 17 Glyn Normington CLA 2012-03-15 10:39:14 EDT
The basic changes are applied and rippled up on the branch 317943-replace-spring-dm-with-gemini-blueprint. However, before merging into master, I would like to add some Blueprint specific tests.
Comment 18 Glyn Normington CLA 2012-03-16 11:01:46 EDT
Blueprint specific tests added. BlueprintDependencyMonitorIntegrationTests currently fails but that's TDD for you.
Comment 19 Glyn Normington CLA 2012-03-16 11:04:05 EDT
SpringUtils upgraded in nano commit bbe67bb8f2943319c219a2bf3c8a0e3f1ba16f37 so that blueprint bundles are regarded as "Spring DM powered" since much of the infrastructure will be shared in Virgo.
Comment 20 Glyn Normington CLA 2012-03-30 03:46:40 EDT
Changes merged into master, rippled, and pushed.
Comment 21 Hendy Irawan CLA 2012-03-30 06:31:46 EDT
Thank you Glyn !