History | Log In     View a printable version of the current page. Get help!  
Issue Details [XML]

Key: SES-670
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Arjohn Kampman
Reporter: Antoni Mylka
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Sesame

increase the usability of the sesame-runtime-osgi module

Created: 04/May/09 01:28 PM   Updated: 04/Jun/09 08:25 AM
Component/s: None
Affects Version/s: None
Fix Version/s: 2.3-pr1

File Attachments: 1. Text File include-services-in-runtime-osgi-ver2.patch (1 kb)
2. Text File include-services-in-runtime-osgi-ver3.patch (3 kb)
3. Text File include-services-in-runtime-osgi-ver4.patch (3 kb)
4. Text File include-services-in-runtime-osgi-ver5.patch (3 kb)
5. Text File include-services-in-runtime-osgi.patch (3 kb)
6. Text File sesame-osgi-pom.patch (1 kb)

Environment: OSGI


 Description   
The runtime-osgi bundle would be more useful if:
1. it contained all the classes directly inside, like the sesame-onejar assembly
2. it had all the non-sesame dependencies marked as optional

 All   Comments   Change History      Sort Order:
Comment by Antoni Mylka [04/May/09 01:31 PM]
This patch modifies the pom.xml of the sesame-runtime-osgi module to make it meet the criteria

Comment by Antoni Mylka [04/May/09 01:59 PM]
It might not be a bad idea to even rename runtime-osgi into runtime-onejar and drop the onejar assembly altogether. This would
1. make the onejar usable in osgi
2. make the onejar available via a maven dependency

I've been doing the thing no 1 for years in aperture by hacking the onejar manifest myself. Having it directly in the release would be nice.

Comment by Antoni Mylka [06/May/09 01:16 PM]
Added a patch that inclues the META-INF/services folder that used to be present in the onejar assembly.

It is to be applied against the sesame-core folder, modified the build.xml ant script and the sesame-runtime-osgi/pom.xml

It reuses the manual services specification written in the build.xml, so the build.xml still has to be maintained.

Comment by Antoni Mylka [06/May/09 01:26 PM]
I've posted a question to the felix-users mailing list. Maybe they will come up with a better solution.

Comment by Antoni Mylka [06/May/09 04:12 PM]
Got an answer from a felix developer:

http://www.nabble.com/forum/ViewPost.jtp?post=23404902&framed=y

This allowed me to tweak a much better version, that doesn't involve the build.xml file from the parent module.

With this, you can drop the manual services specification from that build.xml altogether.

Comment by Antoni Mylka [13/May/09 11:24 AM]
The include-services-in-runtime-osgi-ver3.path returns to the idea from ver1. It makes a slight modification in the build.xml script and uses it to invoke the ant 'concat' task. AFAIK there is no equivalent for 'concat' in maven, nor in maven-bundle-plugin

Comment by Antoni Mylka [25/May/09 01:36 PM]
The fourth version of the patch fixes the problem with the concat tasks being called for each submodule of sesame, thus extending the build time by a factor of two. Now the runtime-osgi module has the execution of the maven-antrun pluin bound to the process-classes phase, not 'validate'

Comment by Antoni Mylka [01/Jun/09 02:14 AM]
Attached version 5 of the patch. It was the one used to generate this:

http://aperture.sourceforge.net/maven/org/openrdf/sesame/sesame-runtime-osgi/2.3.0-ANTONI-SNAPSHOT/

I generated this file in order to add a test to aperture that performs some extraction of a PDF file in osgi environment.

http://tinyurl.com/kt9vrx

 I needed a osgi-ready version of sesame. The test passes, which proves that the fifth version actually works.

Comment by Arjohn Kampman [02/Jun/09 08:48 PM]
Fifth version of the patch has been applied.