On 21/09/15 13:42, Stian Soiland-Reyes wrote:
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)
JENA-1029
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.
Agreed
There is some confusion here over jars can sensibly be modules in the
pick/select sense. apache-jena-osgi should isolate OSGi applications
from internal rearrangements - at least, that's the theory. Otherwise,
internal changes may impact user applications.
The contract is that some jars only work as coordinated versions, there
is no swappable. jena-core and jena-arq should not be considered
separately - think of them as one, externally. The structure is an
internal, and historical, feature highlighted by RDF 1.1; hopefully that
will go away sometime, or at least change (but not soon?).
It would be possible to have a separate out jena-iri (140K) dependency
wise but it is depended upon by nearly everything else. jena-tdb (0.5M,
hardly very large - it's 6th in the list of dependencies, about 50% of
the 4th, by size at 3.0.0). Jena hasn't shipped ship ICU4j as a since
it became a TLP.
(Jena dodged the multiple Guava issues by shading. Hadoop does not use
OSGi)
Andy
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