First of all, I don't know if you are testing mine or Mark's bundle..
 I'll assume mine  from

http://repository.mygrid.org.uk/artifactory/ext-snapshot-local/org/apache/jena/jena-osgi/2.12.2-SNAPSHOT/jena-osgi-2.12.2-20141101.003350-4.jar


I stated in my longer email
(http://mail-archives.apache.org/mod_mbox/jena-dev/201411.mbox/browser)
that you also need to have these OSGi bundles added:

* org.apache.httpcomponents:
httpclient-osgi:jar:4.2.6
* org.apache.httpcomponents:httpcore-osgi:jar:4.2.5
* com.fasterxml.jackson.core:jackson-core:jar:2.3.3
* com.fasterxml.jackson.core:jackson-databind:jar:2.3.3
* com.fasterxml.jackson.core:jackson-annotations:jar:2.3.0
* org.apache.commons:commons-csv:jar:1.0
* org.apache.thrift:libthrift:jar:0.9.1
* org.apache.commons:commons-lang3:jar:3.1
* org.slf4j:jcl-over-slf4j:jar:1.7.6
* org.slf4j:slf4j-api:jar:1.7.6
* org.slf4j:slf4j-log4j12:jar:1.7.6
* log4j:log4j:jar:1.2.17





I embedded those two, xerces and xml-apis, as I could not find
official OSGi versions of them. Do you know of any? If not then they
will have to be assumed to "magically exist on the system classloader"
which is not ideal.


Perhaps:

<groupId>org.apache.xerces</groupId>
<artifactId>com.springsource.org.apache.xerces</artifactId>
<version>2.9.1</version>

http://repository.springsource.com/maven/bundles/external/org/apache/xerces/com.springsource.org.apache.xerces/2.9.1/com.springsource.org.apache.xerces-2.9.1.jar

but it would mean adding a springsource maven repository - perhaps
this is OK within the jena-osgi module only?




The magic of the OSGi bundle Maven plugin is not quite to my liking,
so I can get that it would put some rubbish import/exports - like Jena
has 200 packages with cross-usage, so that is exposed by just looking
at the method signatures, e.g. it generates:

com.hp.hpl.jena.reasoner.transitiveReasoner;uses:="com.hp.hpl.jena.graph,com.hp.hpl.jena.rdf.model,com.hp.hpl.jena.reasoner,com.hp.hpl.jena.util.iterator";version="2.12.2"

which in a way makes sense, given that

https://jena.apache.org/documentation/javadoc/jena/com/hp/hpl/jena/reasoner/transitiveReasoner/TransitiveEngine.html

and friends accept and return objects from those other packages. So if
you, outside Jena, wants to use transitiveReasoner, you need to also
have those other Jena packages.


Now, half of these packages might not need to be exported at all - the
plugin just ignores those that are called .impl -- but I don't know
enough about the structure to know which other packages in Jena can be
barred from exported (e.g. implementation only packages).



Which imports were not satisfied? How did you add them in Eclipse? I
can try to reproduce.

On 4 November 2014 21:38, Mark Feblowitz <markfeblow...@comcast.net> wrote:
> In looking at the posted OSGi bundle I notice some items that we decided not 
> to include in ours:
>
>         xercesImpl-2.11.0.jar
>         xml-apis-1.4.01.jar
>
> For reasons having to do with differences between Oracle Java and IBM Java, 
> and also issues with development on Macs, we decided to have these be 
> resolved in other ways.
>
> Now, on to the meat of the issue: what, if anything, needs to be done with 
> the provided jar to prepare it for use?
>
> I’ve dropped it into place, as is, and am seeing terrible things :-S  - 
> basically, many of the core dependencies look to have been exported for 
> subsequent import. I was able to confirm this, to some extent, by unjar’ing 
> and loading the bundle into eclipse. There are quite a few unsatisfied 
> exports.
>
> Any suggestions?
>
> Thanks,
>
> Mark
>
>
>
>> On Nov 4, 2014, at 1:58 PM, Mark Feblowitz <markfeblow...@icloud.com> wrote:
>>
>> Basically, I’ve been including everything:
>>
>> Manifest-Version: 1.0
>> Bundle-ManifestVersion: 2
>> Bundle-Name: Jena
>> Bundle-SymbolicName: jena
>> Bundle-Version: 2.11.1.0
>> Bundle-Vendor: IBM repackage of apache-jena
>> Bundle-RequiredExecutionEnvironment: J2SE-1.5
>> Import-Package: org.osgi.framework
>> Bundle-ActivationPolicy: lazy
>> Bundle-ClassPath: lib/jena-core-2.11.1.jar,
>> lib/jena-arq-2.11.1.jar,
>> lib/jena-iri-1.0.1.jar,
>> lib/jena-tdb-1.0.1.jar,
>> lib/jcl-over-slf4j-1.6.4.jar,
>> lib/xercesImpl-2.11.0.jar,
>> lib/xml-apis-1.4.01.jar,
>> lib/log4j-1.2.16.jar,
>> lib/commons-codec-1.6.jar,
>> lib/httpclient-4.2.3.jar,
>> lib/httpcore-4.2.2.jar,
>> lib/slf4j-api-1.6.4.jar,
>> lib/slf4j-log4j12-1.6.4.jar,
>> lib/stax2-api-3.1.1.jar,
>> lib/woodstox-core-asl-4.2.0.jar,
>> .
>> Export-Package: arq,
>> arq.cmd,
>> com.hp.hpl.jena,
>> com.hp.hpl.jena.assembler,
>> com.hp.hpl.jena.datatypes,
>> com.hp.hpl.jena.datatypes.xsd,
>> com.hp.hpl.jena.ontology,
>> com.hp.hpl.jena.ontology.impl,
>> com.hp.hpl.jena.query,
>> com.hp.hpl.jena.rdf.model,
>> com.hp.hpl.jena.rdf.model.impl,
>> com.hp.hpl.jena.reasoner,
>> com.hp.hpl.jena.shared,
>> com.hp.hpl.jena.sparql.core,
>> com.hp.hpl.jena.sparql.engine.http,
>> com.hp.hpl.jena.sparql.function,
>> com.hp.hpl.jena.sparql.graph,
>> com.hp.hpl.jena.sparql.resultset,
>> com.hp.hpl.jena.sparql.sse,
>> com.hp.hpl.jena.update,
>> com.hp.hpl.jena.util,
>> com.hp.hpl.jena.vocabulary,
>> jena,
>> org.apache.commons.codec.digest,
>> org.apache.jena.riot,
>> org.apache.log4j,
>> org.slf4j,
>> org.slf4j.helpers,
>> org.slf4j.impl,
>> org.slf4j.spi
>> Eclipse-BuddyPolicy: boot
>>
>>
>> I’ll be interested in seeing whether the one from GitHub drops in and simply 
>> works. I’ll let you know.
>>
>> Mark
>>
>>
>>
>>> On Oct 31, 2014, at 9:26 PM, Stian Soiland-Reyes 
>>> <soiland-re...@cs.manchester.ac.uk> 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 <markfeblow...@icloud.com> 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 <a...@apache.org> 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 <soiland-re...@cs.manchester.ac.uk>
>>>>>> Date:   2014-10-28T16:03:15Z
>>>>>>
>>>>>>  pom tweaks so it builds
>>>>>>
>>>>>>  .. also a spelling mistake tixed
>>>>>>
>>>>>> commit 5724c31d542d7c8ddf89c4333fbe4809d7783f49
>>>>>> Author: Stian Soiland-Reyes <soiland-re...@cs.manchester.ac.uk>
>>>>>> Date:   2014-10-28T16:34:59Z
>>>>>>
>>>>>>  Embedding all Jena modules in a single OSGi bundle.
>>>>>>
>>>>>> commit 3bb12d0a1472977cfcd51abf392683659bac1e4d
>>>>>> Author: Stian Soiland-Reyes <soiland-re...@cs.manchester.ac.uk>
>>>>>> Date:   2014-10-28T16:38:00Z
>>>>>>
>>>>>>  httpcore-osgi 4.2.5
>>>>>>
>>>>>> commit aa705c9e3e4f3b4c58924e95aa223213358b08e3
>>>>>> Author: Stian Soiland-Reyes <soiland-re...@cs.manchester.ac.uk>
>>>>>> 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 infrastruct...@apache.org 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

Reply via email to