I found a few things, concerning Eclipse-buddyPolicy on the web.  [1] describes
it, [2] says it isn't implemented in Felix and won't be, because it causes
problems (with GC and other things), [3] is a general discussion of workarounds.

We actually put one of these kinds of workarounds into UIMA for logging [4],
although not in an OSGi context.  However [5] notes that that workaround has
issues, and that the proposal for adding this to OSGi itself, "fell out of the
specification for OSGi R4 V4.2
core specification."

I think this needs more careful thinking :-) ...  -Marshall

[1] http://wiki.eclipse.org/index.php/Context_Class_Loader_Enhancements
[2]
http://markmail.org/message/2smf5ntjhzwalkmm#query:+page:1+mid:epvakx66wz5auvmu+state:results
[3] http://njbartlett.name/2010/08/30/osgi-readiness-loading-classes.html
[4] https://issues.apache.org/jira/browse/UIMA-1714
[5] http://www.mail-archive.com/equinox-dev@eclipse.org/msg03304.html
On 7/20/2011 4:15 PM, Marshall Schor wrote:
> Here's my summary of this thread, so far:
>
> 1) there's lots of interest in OSGi for UIMA components (annotators, shared 
> type
> systems, shared resources)
>
> 2) the current addon-osgi packaging should be altered:
>   2a) to have individual dependent Jars which are not otherwise available as
> OSGi bundles, included as Jars, not unpacked, so they don't overlay one 
> another
>   2b) to add OSGi *dependencies* for the base UIMA framework, instead of
> including it in every bundle.
>   2c) to remove unneeded dependencies from the OSGi packaging (for instance, 
> the
> many apparently extra Jars in the ConfigurableFeatureExtractor OSGi 
> packaging).
>
> 3) longer-term: need to come up with a proposal for better OSGi support, as 
> the
> current one only works with Eclipse-buddy kinds of things (which is not 
> official
> OSGi).  This new support should be along the lines of enabling UIMA framework
> itself, and annotators, to be OSGi components, to be run within any one of a
> number of OSGi containers.
> Installation should be as easy as dropping a new annotator into a special spot
> in the file system :-) .
>
> 4) I didn't really hear a consensus on actually *releasing* the OSGi bundles 
> of
> the add-ons; is there any real use expect of this kind of packaging with the
> current state of things?  Would it even work if we removed the UIMA framework
> itself from being included in each OSGi bundle of an add-on annotator?  Is it
> only usable with the Eclipse-buddy style of embedding?
>
> -Marshall
>
> On 7/19/2011 6:51 PM, Marshall Schor wrote:
>> Moving this from the RC4 release discussion to a new thread ...
>>
>> I've now tried the following:
>>
>> Change the build instructions so
>>
>> a) the dependency goal doesn't unpack the jars
>> b) the OSGi build instruction doesn't say to "inline" the jars.
>>
>> The result - it builds, no error messages, and has a result which includes 
>> lots
>> of Jars at the top level, plus a META-INF directory, and nothing else.
>>
>> I tried this with the ConfigurableFeatureExtractor-osgi project.  The Jars 
>> that
>> get included are all the ones shown by giving the command:  mvn 
>> dependency:tree 
>> in the project directory.  There are many jars, including all of Ant, the
>> Ant-launcher Jar, a bunch of eclipse jars including things like
>> org.eclipse.core.jobs, the junit jar, and more.  Many of these are 
>> unnecessary,
>> I think, and including them in the distribution causes us to work to verify 
>> the
>> appropriate LICENSEs/NOTICEs are created.
>>
>> It seems very unlikely that the CFE needs all these to run, normally.   
>> Running
>> the non-OSGi CFE maven dependency:tree does not show the ant dependency - 
>> I'll
>> have to track down why those are different.  Looking at the 2.3.0 release, 
>> the
>> CFE non-OSGi had many fewer included Jars.
>>
>> I think we can fix the build instructions to excluded the unneeded Jars.
>>
>> I don't have any setup for testing the OSGi packaged artifacts - if anyone 
>> else
>> does, let's figure out how to test these - either by collaborating or by 
>> helping
>> me learn how to setup something locally to test this packaging result.
>>
>> -Marshall
>>
>>
>>
>>
>>
>>
>>
>> On 7/19/2011 3:44 PM, Marshall Schor wrote:
>>> Thanks, Richard.
>>>
>>> I think you are right - some of the dependencies (for example, the
>>> AlchemyApiAnnotator depends on Apache commons-digester, etc.) don't have 
>>> OSGi
>>> packagings.
>>>
>>> The build strategy for the OSGi modules currently gets all the dependencies 
>>> and
>>> unpacks them into .../target/classes directory, where a later step "jars" 
>>> them up.
>>>
>>> This approach overlays files being unzipped, with later versions.  Some 
>>> examples
>>> where this might be an issue:
>>> There is at the top level a license directory, containing one "LICENSE" 
>>> file.
>>> There is at the top level a "plugin.xml" file.
>>> There is at the top level a META-INF dir, with LICENSE and NOTICE files 
>>> among
>>> other things.
>>>
>>> Perhaps it would be better to package the dependencies that are not OSGi in 
>>> a
>>> way that doesn't need to unpack, and then potentially overlay, files.
>>>
>>> It seems that OSGi and the bundle plugin support this, via the 
>>> Embed-Dependency
>>> instruction.  Is there a reason we're not using that, instead of the 
>>> "unpacking"
>>> approach?
>>>
>>> -Marshall
>>>
>>> On 7/19/2011 11:17 AM, Richard Eckart de Castilho wrote:
>>>> I wanted to package the DKPro Core UIMA modules as OSGi bundle. These have 
>>>> lots of dependencies on various JARs that are not available as OSGi 
>>>> bundles and sometimes not even available in public Maven repositories - 
>>>> this is why we set up a public repository of our own for the moment. It 
>>>> may be less an issue for the UIMA sandbox, as the individual components 
>>>> may not depend on third-party libraries. 
>>>>
>>>> Looking the Add Ons repository, I would suspect that Tika, Solr, Rhino, 
>>>> BeanShell and maybe some of the Apache Commons JARs may not be OSGi 
>>>> bundles. 
>>>>
>>>> I guess you aim for a mixed setup where some dependencies (namely UIMA) 
>>>> are imported via package-imports and others (namely the above) are 
>>>> packaged inside the bundles?
>>>>
>>>> Cheers,
>>>>
>>>> Richard
>>>>
>>>> Am 19.07.2011 um 17:08 schrieb Marshall Schor:
>>>>
>>>>> I suspect that the Jars are now available as OSGi bundles; do you know of
>>>>> specific ones that are not?
>>>>>
>>>>> Thanks. -Marshall
>>>>>
>>>>> On 7/19/2011 10:24 AM, Richard Eckart de Castilho wrote:
>>>>>> Hi Marshall,
>>>>>>
>>>>>> I am very interested in this. Some time back I mostly gave up on 
>>>>>> packaging UIMA components as OSGi bundles because of this. If you do not 
>>>>>> bundle all jars (*jikes*) and use package imports instead, the questions 
>>>>>> is: where do the dependencies come from? Who prepares the bundles and 
>>>>>> who installs them? Many JARs are not available as OSGi bundles.
>>>>>>
>>>>>> -- Richard
>>>>>>
>>>>>> Am 19.07.2011 um 16:13 schrieb Marshall Schor:
>>>>>>
>>>>>>> I'll take a look at the OSGi build.
>>>>>>>
>>>>>>> -Marshall
>>>>>>>
>>>>>>> On 7/17/2011 12:16 PM, Marshall Schor wrote:
>>>>>>>> Since this is (I think) the first time we're releasing the OSGi 
>>>>>>>> packaging of the
>>>>>>>> annotators, I think some work on their license/notice files might be 
>>>>>>>> needed,
>>>>>>>> because:
>>>>>>>>
>>>>>>>> - there are duplicate License files - one at the top level, and one in 
>>>>>>>> the
>>>>>>>> META_INF directory
>>>>>>>> - both of these are the plain vanilla license files.  For projects 
>>>>>>>> which are
>>>>>>>> incorporating other libraries which are under other than the Apache v 
>>>>>>>> 2.0
>>>>>>>> license, those licenses have to be included.
>>>>>>>> - the NOTICE file is present in the META_INF directory, but is the 
>>>>>>>> plain one,
>>>>>>>> rather than the project specific one.
>>>>>>>>
>>>>>>>> Finally, I wonder if the OSGi packaging strategy is correct - in that 
>>>>>>>> it
>>>>>>>> "bundles" every dependency into the OSGi file.  This certainly makes 
>>>>>>>> the file
>>>>>>>> easier to use, but if a user uses 2 OSGi components from UIMA, won't 
>>>>>>>> there be a
>>>>>>>> lot of unnecessary duplication (or does OSGi notice this and avoid it 
>>>>>>>> somehow)? 
>>>>>>>> I'm not sure of an alternative, but I do recall that OSGi allows for
>>>>>>>> dependencies on other packages; perhaps that could be useful?
>>>>>>>>
>>>>>>>> -Marshall
>>>>>>>>
>>>>>>>> On 7/15/2011 8:29 AM, Tommaso Teofili wrote:
>>>>>>>>> Hi all,
>>>>>>>>> I've prepared the new RC (4) for UIMA Addons release.
>>>>>>>>>
>>>>>>>>> The following is a list of issues addressed in this release:
>>>>>>>>> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310570&version=12316093
>>>>>>>>>
>>>>>>>>> The source zip and binary files are available here:
>>>>>>>>> http://people.apache.org/~tommaso/uima-addons-2.3.1-rc4
>>>>>>>>>
>>>>>>>>> SVN Tag Checkout:
>>>>>>>>> svn co
>>>>>>>>> http://svn.apache.org/repos/asf/uima/addons/tags/uima-addons-2.3.1-rc4/
>>>>>>>>>
>>>>>>>>> Please cast your vote for UIMA Addons 2.3.1 release:
>>>>>>>>>
>>>>>>>>> [ ] +1 Approve the release
>>>>>>>>> [ ] -1 Veto the release (please provide specific comments)
>>>>>>>>> [ ] 0   Don't care
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Tommaso
>>>>>>>>>
>>>> Richard Eckart de Castilho
>>>>

Reply via email to