Ah, exactly.. so say your jena-arq bundle does not depend on the jena-core bundle at runtime, but simply embeds all of jena-arq AND jena-core classes. So if both bundles are loaded at the same time.. troubles arise.
I think we really need to do something about these intra-dependencies.. it is hinting that jena-core and jena-arq should no longer be separate modules. Is it mainly the legacy loading stuff replaced by RIOT that is causing issues? Can it be reworked by registering by class instead of by classname, thus avoiding class.forName? On 4 November 2014 13:32, Reto Gmür <[email protected]> wrote: > Hi Stian, > > If I understood and remember correctly the problem are circular > dependencies between jena artifacts and packages occurring in multiple > jars. I'm sure Minto (CC) can tell you the reasons more. > > If providing OSGi bundles becomes part of Jena then maybe the root cause of > requiring this rather ugly dynamic imports and split-packages can be > addressed. This is likely to be beneficial to the overall design. > > Cheers, > Reto > > On Tue, Nov 4, 2014 at 2:15 PM, Stian Soiland-Reyes < > [email protected]> wrote: > >> Reto, what was the reason for why Clerezza made the >> clerezza.osgi.dynamicimport.pkg indirect properties? >> >> Not sure I quite get this property: >> >> >> >> <clerezza.osgi.export>${clerezza.osgi.export.pkg}*;version=${pkgVersion};-split-package:=merge-first >> </clerezza.osgi.export> >> >> >> >> >> On 4 November 2014 13:12, Stian Soiland-Reyes >> <[email protected]> wrote: >> > If you found that splitting it up into different bundles works, then >> > perhaps we should not need to have any wrapping bundles at all, and >> > can just add the <packaging>bundle</packaging> stuff to the main >> > modules? >> > >> > >> > >> > On 4 November 2014 10:54, Reto Gmür <[email protected]> wrote: >> >> Hi >> >> >> >> In the clerezza project we have been wrapping jena for a while as OSGi >> >> bundles. >> >> >> >> Recently it got split up into different bundles. The source (i.e. the >> poms) >> >> can be seen here: >> >> >> >> https://github.com/apache/clerezza/tree/master/ext >> >> >> >> Cheers, >> >> Reto >> >> >> >> On Sat, Nov 1, 2014 at 2:26 AM, Stian Soiland-Reyes < >> >> [email protected]> wrote: >> >> >> >>> I would like to hear from your experience of a custom-wrapped bundle >> >>> what you decided to include or not. >> >>> >> >>> See my other email message in this thread.. >> >>> >> >>> Basically in short: >> >>> >> >>> >> >>> >> http://build.mygrid.org.uk/ci/job/jena-bundle/21/org.apache.jena$jena-osgi/ >> >>> >> >>> >> >>> >> http://repository.mygrid.org.uk/artifactory/ext-snapshot-local/org/apache/jena/jena-osgi/2.12.2-SNAPSHOT/ >> >>> >> >>> >> http://repository.mygrid.org.uk/artifactory/ext-snapshot-local/org/apache/jena/jena-parent/12-SNAPSHOT/ >> >>> >> >>> >> >>> >> >>> On 31 October 2014 13:27, Mark Feblowitz <[email protected]> >> wrote: >> >>> > I’m an OSGi user, and have been using a custom-wrapped Jena OSGi >> bundle >> >>> for more than a year. >> >>> > >> >>> > I’d be happy to try it out. How would I do so? >> >>> > >> >>> > Mark >> >>> > >> >>> > >> >>> > >> >>> >> On Oct 31, 2014, at 6:56 AM, Andy Seaborne <[email protected]> wrote: >> >>> >> >> >>> >> On 28/10/14 16:50, stain wrote: >> >>> >>> GitHub user stain opened a pull request: >> >>> >>> >> >>> >>> https://github.com/apache/jena/pull/10 >> >>> >>> >> >>> >>> Jena OSGi bundle >> >>> >>> >> >>> >>> Embedding core Jena modules in a single OSGi bundle. >> >>> >>> >> >>> >>> This works around classloader issues such as Jena's use of >> >>> `Class.forName()`, but does not yet support other OSGi bundles to >> easily >> >>> plug in 3rd party Jena implementations of say readers and writers. >> >>> >>> >> >>> >>> Modules included: >> >>> >>> * jena-core >> >>> >>> * jena-arq >> >>> >>> * jena-tdb >> >>> >>> * jena-sdb >> >>> >>> * jena-iri >> >>> >> >> >>> >> Having one bundle for Jena makes a lot of sense as we build and >> release >> >>> whole systems, so partial replacement of bits and pieces isn't >> >>> supported/encouraged anyway. Releases may change cross module >> >>> assumptions. Personally, I'd drop SDB from the included modules; it's >> >>> being made a maven-only module next time, and not in the distribution >> >>> binaries. >> >>> >> >> >>> >> What I'd really, really like is for this to be tested by other OSGi >> >>> users. As far as I know, none of the committers use OSGi day-to-day >> >>> (we/Epimorphics used to but when we looked at the costs/benefits we >> switch >> >>> to a simpler, service architecture style). >> >>> >> >> >>> >> Stain - what would you say to advertising this on users@ (and >> >>> dev@clerezza?) and seeing if we can get some user testing and >> validation? >> >>> >> >> >>> >> Andy >> >>> >> >> >>> >>> >> >>> >>> This OSGi bundle includes a dependency on the `httpclient-osgi` >> >>> and `httpcore-osgi` version. All other packages used are embeded >> within the >> >>> OSGi bundle, making them appear on a single classloader in OSGi. >> >>> >>> >> >>> >>> >> >>> >>> >> >>> >>> You can merge this pull request into a Git repository by running: >> >>> >>> >> >>> >>> $ git pull https://github.com/stain/jena jena-osgi-bundle >> >>> >>> >> >>> >>> Alternatively you can review and apply these changes as the patch >> at: >> >>> >>> >> >>> >>> https://github.com/apache/jena/pull/10.patch >> >>> >>> >> >>> >>> To close this pull request, make a commit to your master/trunk >> branch >> >>> >>> with (at least) the following in the commit message: >> >>> >>> >> >>> >>> This closes #10 >> >>> >>> >> >>> >>> ---- >> >>> >>> commit 1957808b34a408bf0278cfb4017d6e7040eebabb >> >>> >>> Author: Stian Soiland-Reyes <[email protected]> >> >>> >>> Date: 2014-10-28T16:03:15Z >> >>> >>> >> >>> >>> pom tweaks so it builds >> >>> >>> >> >>> >>> .. also a spelling mistake tixed >> >>> >>> >> >>> >>> commit 5724c31d542d7c8ddf89c4333fbe4809d7783f49 >> >>> >>> Author: Stian Soiland-Reyes <[email protected]> >> >>> >>> Date: 2014-10-28T16:34:59Z >> >>> >>> >> >>> >>> Embedding all Jena modules in a single OSGi bundle. >> >>> >>> >> >>> >>> commit 3bb12d0a1472977cfcd51abf392683659bac1e4d >> >>> >>> Author: Stian Soiland-Reyes <[email protected]> >> >>> >>> Date: 2014-10-28T16:38:00Z >> >>> >>> >> >>> >>> httpcore-osgi 4.2.5 >> >>> >>> >> >>> >>> commit aa705c9e3e4f3b4c58924e95aa223213358b08e3 >> >>> >>> Author: Stian Soiland-Reyes <[email protected]> >> >>> >>> Date: 2014-10-28T16:42:48Z >> >>> >>> >> >>> >>> ver.* properties as in jena-parent >> >>> >>> >> >>> >>> TODO: Move these properties to jena-parent? >> >>> >>> >> >>> >>> ---- >> >>> >>> >> >>> >>> >> >>> >>> --- >> >>> >>> If your project is set up for it, you can reply to this email and >> have >> >>> your >> >>> >>> reply appear on GitHub as well. If your project does not have this >> >>> feature >> >>> >>> enabled and wishes so, or if the feature is enabled but not >> working, >> >>> please >> >>> >>> contact infrastructure at [email protected] or file a JIRA >> >>> ticket >> >>> >>> with INFRA. >> >>> >>> --- >> >>> >>> >> >>> >> >> >>> > >> >>> >> >>> >> >>> >> >>> -- >> >>> Stian Soiland-Reyes, myGrid team >> >>> School of Computer Science >> >>> The University of Manchester >> >>> http://soiland-reyes.com/stian/work/ >> http://orcid.org/0000-0001-9842-9718 >> >>> >> > >> > >> > >> > -- >> > Stian Soiland-Reyes, myGrid team >> > School of Computer Science >> > The University of Manchester >> > http://soiland-reyes.com/stian/work/ >> http://orcid.org/0000-0001-9842-9718 >> >> >> >> -- >> Stian Soiland-Reyes, myGrid team >> School of Computer Science >> The University of Manchester >> http://soiland-reyes.com/stian/work/ http://orcid.org/0000-0001-9842-9718 >> -- Stian Soiland-Reyes, myGrid team School of Computer Science The University of Manchester http://soiland-reyes.com/stian/work/ http://orcid.org/0000-0001-9842-9718
