Can we decide on a solution for OSGi-enabling 3rd party libs (either in the distribution or using virtual bundles), so that we can start tackling issues like versioning (https://issues.apache.org/jira/browse/TUSCANY-2343)?
On 5/16/08, Simon Nash <[EMAIL PROTECTED]> wrote: > > Jean-Sebastien Delfino wrote: > >> Simon Nash wrote: >> ... snip >> >> I believe that if we are serious about making OSGi-enablement of Tuscany >>>>> a >>>>> first class option, we should consider doing 1). For the longer term to >>>>> support versioning of 3rd party jars, 1) will provide a standard OSGi >>>>> mechanism. As more and more 3rd-party libraries are being OSGi-enabled, >>>>> this >>>>> can be seen as an intermediate step which enables users of Tuscany to >>>>> install Tuscany in the same standard OSGi way, into an OSGi runtime. >>>>> >>>> >>>> I agree and think we should do (1) everywhere we can. >>>> >>>> I don't think Tuscany should modify third-party jars that we >>> are redistributing as part of Tuscany. I think we should use >>> some variant of (3) for all third-party jars that aren't >>> already OSGi-enabled. >>> >>> >> Can you say why? >> >> At the moment we are redistributing these libraries as a convenience > for people who want to run Tuscany "out of the box". If people want > to obtain these libraries in some other way (e.g., from a maven repo, > by direct download from the third-party project, or as part of some > other download), that's fine too. > > This change would alter that picture considerably. For people > using Tuscany within OSGi, it would be necessary to use the modified > libraries distributed by Tuscany. This might or might not be required > outside the OSGi environment, depending on how we set up the distro > and the way our extensions locate their third-party dependencies. > > I looked at ServiceMix4 and I see that it is doing something like > this with the org.apache.servicemix.bundles.* files. For example, > there's one of these that wraps the JAXB implementation in an OSGi > bundle. If we do the same in Tuscany, anyone wanting to use Tuscany > with ServiceMix4 in an OSGi environment will need the ServiceMix+JAXB > bundle and also the Tuscany+JAXB bundle, duplicating all the JAXB > implementation classes. Now add SpringSource and a few other > projects into the mix and how many copies of the same JAXB code will > the user need? Any number greater than one is the wrong answer. > > Another more minor point is that for Graham's minimal OSGi test > that's going to be part of the main build, it will be necessary to > build these "wrapper" bundles, increasing the disk space used by > the build because of the need to duplicate the contents of all the > third-party jars, which are already in my local maven repo. > > Simon > > May you could look at what other projects that have spent time working on >> OSGi are doing. Two examples: >> - servicemix 4 >> - springsource app platform >> >> There's probably more good examples out there. >> > > -- Thank you... Regards, Rajini