[
https://issues.apache.org/jira/browse/JENA-1139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15141343#comment-15141343
]
Stian Soiland-Reyes commented on JENA-1139:
-------------------------------------------
Hm, I tried that in https://github.com/stain/jena/tree/JENA-1139-transformer -
but it gets a bit tricky as Embed-Dependency expects another Maven dependency -
so we would then need a separate pom to make it in advance (also there's the
trouble of both plugins being in the 'package' phase).
Would I add that as jena-singlejar/pom.xml or something under
/apache-jena-osgi/ ? The downside is that it would also be included in the
Maven deployment - which seems a bit overkill. (and it would not really be
useful as a singlejar as it would not include all the required external
dependencies that are available as OSGi).
Also somehow the
META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle is not included
either.
{code}
stain@biggie:~/src/jena/apache-jena-osgi$ cd -
/home/stain/src/jena/apache-jena-osgi/jena-osgi
stain@biggie:~/src/jena/apache-jena-osgi/jena-osgi$ unzip -t
target/jena-merged.jar | grep MET | grep jena
testing: META-INF/maven/org.apache.jena/ OK
testing: META-INF/maven/org.apache.jena/jena-osgi/ OK
testing: META-INF/maven/org.apache.jena/jena-osgi/pom.properties OK
testing: META-INF/maven/org.apache.jena/jena-osgi/pom.xml OK
{code}
> jena-osgi does not initialize all modules
> -----------------------------------------
>
> Key: JENA-1139
> URL: https://issues.apache.org/jira/browse/JENA-1139
> Project: Apache Jena
> Issue Type: Bug
> Components: OSGi
> Affects Versions: Jena 3.0.1
> Reporter: Stian Soiland-Reyes
>
> As discovered in TAVERNA-892 the jena-osgi of Jena 3.0.1
> seems to have not merged correctly
> META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle
> which breaks the new Jena initialization - only TDB is initialized - but TDB
> depends on ARQ already being initialized (to get its context).
> {code}
> stain@biggie:~/.m2/repository/org/apache/jena/jena-osgi$ unzip
> ./3.0.1/jena-osgi-3.0.1.jar
> META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle
> Archive: ./3.0.1/jena-osgi-3.0.1.jar
> inflating: META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle
> stain@biggie:~/.m2/repository/org/apache/jena/jena-osgi$ cat
> META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle
> org.apache.jena.tdb.sys.InitTDB
> {code}
> So basically only the last JenaSubsystemLifecycle file survives when shading
> jena-core, jena-arq, jena-tdb, jena-iri with Embed-Dependency and inline=true.
> The equivalent of the Maven Shade plugin's ServicesResourceTransformer would
> be able to merge these.
> https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#ServicesResourceTransformer
> but I'm not sure how this can be done with the bundle plugin. I guess it
> could be overridden with its own src/main/resources/META-INF/services/ file
> in jena-osgi as well - but then it needs maintenance.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)