> > Re: Utils changes > > On 10 November 2011 04:21, David Jencks <[email protected]> wrote: > > Apparently I did something wrong when testing these changes and > there seem to be a couple of test problems caused here. > > > > 1. A couple of blueprint tests fail with the new tracker. I think > they are testing blueprint using composite bundles. Since composite > bundles are a non-standard feature I wonder if it would be plausible > to have a switch to turn on composite bundles support in recursive > bundle tracker? > > > > 2. Apparently code compiled against R4.3 can't be used with R4.2? > Compiling aries utils with R4.3 (so the code I added can compile, > since it uses R4.3 classes) results in code that calls > Version.compareTo(Version) which results in a NoSuchMethod error > when called in a R4.2 framework where the method is Version.compareTo(Object). > > This looks like a binary incompatible change was made in the R4.3 spec > without incrementing the major version of the package (it went from > 1.5 to 1.6). The R4.2 Version class implements java.lang.Comparable. > The R4.3 Version class implements java.lang.Comparable<Version> so the > signature has changed. That's worth opening a bugzilla on > osgi.org/bugzilla IMHO.
If I understand correctly, code was compiled against R4.3 (1.6) and those binaries were then executed on R4.2 (1.5). I think we've reversed the logic on the binary compatible requirement. Code compiled against R4.2 (1.5) will run on R4.3 (1.6), which is why a major version increment was not necessary. I'm not aware of any expectations that code compiled against a later version must run on an older version. > > > > > Does anyone have any ideas how to work around these problems? If > anyone wants to revert my commits while we figure out what to do, go ahead. > > > > thanks > > david jencks > > > > > > > > On Nov 9, 2011, at 6:05 PM, David Jencks wrote: > > > >> I made a couple changes to utils (issues 777 and 778) to provide > R43 bundle-to-classloader determination and to make the > RecursiveBundleTracker work with equinox Region based isolation as > well as the obsolete composite bundle support. Aries seems to build > fine for me and I can get the blueprint extender to work in an > isolated region using this, but I didn't try very hard to see if it > broke stuff in earlier frameworks. Please let me know if there are problems. > >> > >> The approach I used for the bundle tracker is to register a > bundle event hook and feed the events to a bundle tracker (code > copied from felix's bundle tracker). This avoids all bundle event > filtering. If anyone thinks this approach is inappropriate please > speak up :-) > >> > >> thanks > >> david jencks > > > > >
