[ 
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)

Reply via email to