The CLEREZZA-824 issues should presumably not happen with the jena-osgi bundle, but it would be good to verify.
https://github.com/apache/jena/blob/master/apache-jena-osgi/jena-osgi/pom.xml#L227 This inlines xercesImpl and xml-apis, and otherwise uses the official OSGi bundles, e.g. httpclient-osgi and jsonld-java. See also https://issues.apache.org/jira/browse/JENA-878 I agree that ideally solution 3, Jena should be improved to have all the modules as proper OSGi modules without needing any jena-osgi artifact, and we are moving towards that, clearing up Class.forName() usage etc. http://mail-archives.apache.org/mod_mbox/jena-dev/201509.mbox/%3C55FBD9AD.8010707%40apache.org%3E (and replies) We need feedback on how the Jena initialization would best work within an OSGi world, e.g. wiring up serializers, as the suggested branch uses ServiceLoader, with a hook like setSubsystemRegistry() for OSGi users. On 21 September 2015 at 07:53, Minto van der Sluis <[email protected]> wrote: > Hi, > > Unfortunately I have not been able to have a good look, but I just had a > brief look. > > So if I understand correctly the problem is: > > The osgi wrapped Jena bundles in the Clerezza > repository do not have the correct content. > Especially the NOTICE and LICENSE files. > > I had a closer look at jena-iri. For this one the LICENSE file is the same > in both so no problem here, but the NOTICE file is different. > > This can be solved in a few different ways. But to pick the right solution > we need some background on how we got here. See issue CLEREZZA-824 [1] for > more details. We needed Jena to not only look like OSGI bundles, but to act > like them as well. > > 1) Have the Clerezza ext bundles include/copy these (and maybe other) files > from the original jar file. > > Seems like an easy fix, however I personally like to get rid of these ext > bundles if I can. They only exists since we need OSGI access to plain jar > files. However, it also brings an additional maintenance burden. Whenever > the upstream jar file changes we need to modify the wrapper to cope with the > new version. This instead of just modifying a dependency version number. > > 2) Use the current Jena OSGI bundle > > I have 2 objections to this one. First of all I fear running into the same > kind of issues that lead to CLEREZZA-824. Second this OSGI bundle seems like > a second class citizen. The Jena project is divided into a couple of nice > looking modules. But when is comes to OSGI these modules are all wrapped > together into a single bundle even though OSGI is all about being modular. > > 3) Modify jena to improve OSGI support > > This one has my personal preference. But is also harder to achieve since it > is beyond our (Clerezza) control and requires close cooperation of the Jena > community. > > So which direction shall we take? > > Regards, > > Minto > > [1] https://issues.apache.org/jira/browse/CLEREZZA-824 > > > > On 20-09-15 13:50, Reto Gmür wrote: >> >> back from holidays..... >> >> @Minto did you have a chance to look into the isse with the notice file or >> at the new jena bundle version? >> >> Cheers, >> Reto >> ---------- Forwarded message ---------- >> From: Andy Seaborne <[email protected]> >> Date: Thu, Sep 10, 2015 at 7:21 PM >> Subject: Re: [] 201508 Release of 23 Clerezza modules >> To: [email protected] >> >> >> Reto - have you tried the released Jena OSGi bundle? >> >> Andy >> >> >> On 10/09/15 16:49, Reto Gmür wrote: >> >>> On 9 Sep 2015 13:50, "Rob Vesse" <[email protected]> wrote: >>> >>>> This seems a little odd to me. It looks like they are placing these >>>> artifacts in their own group ID. However it still sets a slightly >>>> strange >>>> precedence if Apache Foo can release artifacts named Apache Bar even if >>>> they do so under their own maven coordinates >>>> >>>> Is this something they've been doing for a long time or is this a new >>>> thing? >>>> >>> It is something which clerezza had been doing for a very long time. >>> Apache >>> servicemix does the same for other projects that do not ship OSGi >>> bundles, >>> see: http://mvnrepository.com/artifact/org.apache.servicemix.bundles >>> >>> Of course in an ideal world Jena would be modular and all it's jars would >>> also be OSGi bundles, after all this is just a couple of lines in the >>> manifest file. >>> >>> >>>> If new why couldn't they work with us to provide the fixes back to Jena? >>>> >>> What clerezza is doing is not an actual fix, but rather a wrapping. Stian >>> did something similar. >>> >>> Reto >>> >>>> Rob >>>> >>>> On 07/09/2015 17:35, "Andy Seaborne" <[email protected]> wrote: >>>> >>>> PMC, >>>>> >>>>> Clerezza is proposing redistributing modified Jena 2.13.0 binaries. >>>>> NOTICE and LICENSE have been changed. These would go into the Apache >>>>> release maven repo. >>>>> >>>>> The binaries are currently at: >>>>> >>>>> >>>>> >>> >>> https://repository.apache.org/content/repositories/orgapacheclerezza-1009/ >>> >>>> org/apache/clerezza/ext/org.apache.jena.jena-core/2.13.0_1/ >>>>> >>>>> (Modified version number as well - it does not make clear that 2.13.0_1 >>>>> is not Jena-project release.) >>>>> >>>>> Andy >>>>> >>>>> -------- Forwarded Message -------- >>>>> Subject: Re: [] 201508 Release of 23 Clerezza modules >>>>> Date: Mon, 7 Sep 2015 12:12:23 +0100 >>>>> From: Andy Seaborne <[email protected]> >>>>> To: [email protected] >>>>> >>>>> On 06/09/15 18:39, Reto Gmür wrote: >>>>> >>>>>> On Sat, Sep 5, 2015 at 10:21 PM, Andy Seaborne <[email protected]> >>>>>> wrote: >>>>>> >>>>>> On 05/09/15 16:36, Reto Gmür wrote: >>>>>>> >>>>>>> Hi all, >>>>>>>> >>>>>>>> This is a partial clerezza release of 23 modules bringing the >>>>>>>> following >>>>>>>> improvements: >>>>>>>> >>>>>>>> - Fixed issues preventing rdf.rdfjson and rdf.jena.sparql to expose >>>>>>>> their >>>>>>>> OSGi-DS services >>>>>>>> - Updated to latest version of Jersey >>>>>>>> - Updated Jena Version >>>>>>>> - Contains integration tests >>>>>>>> >>>>>>>> It contains the following artifacts that shall be released to maven >>>>>>>> central: >>>>>>>> >>>>>>>> >>>>>>> Where are the convenience binaries? (I didn't see anything on >>>>>>> https://repository.apache.org/#stagingRepositories but may have >>>>>>> missed >>>>>>> something) >>>>>>> >>>>>> Enabled now. Here: >>>>>> >>>>>> >>>>>> >>> https://repository.apache.org/content/repositories/orgapacheclerezza-1009 >>> >>>> / >>>>> >>>>> Could you have used Jena's OSGi artifact? >>>>> >>>>> The binaries have had the NOTICE and LICENSE files replaced in both jar >>>>> and sources.jar. These miss the necessary declarations. >>>>> >>>>> Andy >>>>> >>>>> >>>>>> Cheers, >>>>>> Reto >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>>> > -- Stian Soiland-Reyes Apache Taverna (incubating), Apache Commons RDF (incubating) http://orcid.org/0000-0001-9842-9718
