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

Reply via email to