This patch modifies the pom.xml of the sesame-runtime-osgi module to make it meet the criteria
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.
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.
I've posted a question to the felix-users mailing list. Maybe they will come up with a better solution.
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.
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
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'
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.
Fifth version of the patch has been applied.