Rajini Sivaram wrote:

Yes, "stands a chance of working in most situations", where "most" is the
key word. We will work in all situations where applications dont install
different versions of Tuscany's 3rd party libs. Once we have an application
and Tuscany within one OSGi runtime with multiple versions of 3rd party
libraries installed, there will always remain some situations where we dont
work as expected. The default behaviour for maven-bundle-plugin (which we
will probably end up using to generate our bundles) is [current.version,
infinity). If we go out of our way to modify this for individual 3rd
party bundles, I doubt that is in anyway going to be "arbitrary". It really
needs to be based on real scenarios.

[current.version, next.major.version) gives the best starting point IMO. In
past notes about multiple extensions in Tuscany running with different
versions of a 3rd party lib, I am not sure if the examples involved
different major versions of a 3rd party lib. I would really like to
understand real scenarios:

   1. Why do we want two Tuscany extensions to use two different versions of
   a 3rd party library? Would these ever involve two minor versions at the same
   major version level? If so, couldn't both extensions just work with the
   higher of those two - do we really want to force one of them to work with
   the lower version?
This might happen because of cross-dependencies created when using some substantial 3rd party package (I'm thinking of stuff like ODE, where out of necessity Tuscany code and the 3rd party code directly share some other package like the Derby database). We then get the Tuscany code tied to the level of the code required by the 3rd party package.

Different Tuscany code links to different 3rd party packages and pick up the dependency levels required by the 3rd party packages....

   2. Why would an end user want to run Tuscany and an application with two
   different versions of a 3rd party library? Would these ever involve two
   minor versions at the same major version level? If so, what stops both from
   using the higher of the two?


Depends on whether we think that minor version revisions could end up trashing the operation of the Tuscany code - or the application code. It CAN happen where you get bug fixes which cause behavioural changes - sometimes folk code around a known bug, but when the bug fix arrives, the work around can fail....





Reply via email to