It seems that an OGSi module is supposed to provide a "service" which can
be activated.

Our daffodil jars are nothing like organized as separate service providers.
They're more ad-hoc libraries of code with shared concerns.

A sensible "service" from daffodil would involve running code from several
of the jars.

Can you comment on this - when a sensible OGSI service requires code that
is distributed across many jars?

On Thu, Mar 31, 2022 at 10:03 AM Mike Beckerle <mbecke...@apache.org> wrote:

> Created https://issues.apache.org/jira/browse/DAFFODIL-2683 to track this
> issue.
>
>
>
> On Thu, Mar 31, 2022 at 9:55 AM Mike Beckerle <mbecke...@apache.org>
> wrote:
>
>> So, it seems there is, in general, an assumption in OGSi that a package
>> does not get contributions from multiple jar files?
>>
>> I expect that the org.apache.daffodil.api conflict is only the first of
>> many such conflicts you would hit. Several of our packages are split across
>> the jars. Participation in a package is kind of orthogonal to presence in a
>> jar in Daffodil right now.
>>
>> org.apache.daffodil.processors is split across 5 modules. 6 if you count
>> the test code.
>>
>> This can of course be fixed but this is our first experience with this
>> requirement.
>>
>> I will create a JIRA ticket for this.
>>
>> In the mean time, I'm not sure what to suggest as a workaround. Perhaps
>> you have to unjar everything, put all the files in a common directory tree,
>> and re-jar it all?
>>
>>
>> On Thu, Mar 31, 2022 at 1:42 AM Martin Lichtin <lich...@yahoo.com> wrote:
>>
>>> Hi
>>>
>>> Trying to run Daffodil inside Apache Karaf (OSGi container) I noticed
>>> that the Daffodil JARs are not built as bundles. That's not a problem,
>>> they can be bundle'ized on the fly.
>>>
>>> However, what's an issue is that two JARs contain the same package. Both
>>> daffodil-runtime1_2.12 and daffodil-lib_2.12 expose
>>> "org.apache.daffodil.api" and therefore this package is split and causes
>>> a conflict.
>>>
>>> Could perhaps this package moved into an "api" JAR, or one of the two
>>> JARs renames it such that there's no longer a split-package situation.
>>>
>>> - Martin
>>>
>>>
>>>

Reply via email to