I've raised ARIES-860 to cover the fix for this. My plan was to split both proxy api and proxy impl bundles into two bundles, one with the weaving dependency, and one without. However, I've just looked at the proxy-api pom again, and the weaving packages are already marked as optional imports. So I think the intention was definitely that the proxy-api bundle should work with OSGi 4.2 frameworks, and all that's missing for that to happen is the version range for the OSGi imports. Unless you object, Jeremy, I think this fix would be simpler than a major restructuring, and in line with the original intention of the code. I'll add tests to make sure everything works both with 4.2 and 4.3 frameworks.
Holly On Fri, May 25, 2012 at 3:14 PM, Jeremy Hughes <[email protected]> wrote: > On 25 May 2012 14:59, Holly Cummins <[email protected]> wrote: >> I've just looked at how the rest of the proxy bundles build and they >> use OSGi 4.3, but override the osgi framework package import version >> so that things still work with OSGi 4.2. They also make the weaving >> code optional. That's probably what the proxy.api bundle should do as >> well: >> >> org.osgi.framework;version="[1.5,2)", >> org.osgi.framework.hooks.weaving;resolution:=optional, >> org.osgi.framework.wiring;resolution:=optional, > > I don't think that's a good idea. proxy-api needs > org.osgi.framework.hooks.weaving. If the proxy-api bundle imports > [1.5,2) and is run on a '1.5' framework there could be > ClassNotFoundExceptions. > > So that raises the question as to how the other proxy bundles cope with this. > >> >> Do you want to raise a JIRA, Balázs? >> >> Holly >> >> On Fri, May 25, 2012 at 2:47 PM, Holly Cummins >> <[email protected]> wrote: >>> On Fri, May 25, 2012 at 2:09 PM, Balázs Zsoldos >>> <[email protected]> wrote: >>>> Hi, >>>> >>>> as I look at it org.apache.aries.proxy.api needs at least >>>> org.osgi.framework 1.6 which is part of OSGI 4.3. Is it knowingly changed? >>>> Based on this proxy will not work with older OSGI containers (e.g. >>>> glassfish till version 3.1.1). >>> >>> I was wondering about this as well. It doesn't seem ideal, does it? >>>> >>>> This problem may occurs at other places as well where the osgi.core >>>> dependency was changed to 4.3. >>> >>> It looks like the proxy changes were made as part of ARIES-826. I >>> think the original intention of the weaving code was that it would >>> still be compatible with OSGi 4.2. I guess our options are to do >>> something like what we've done with util-42, or split off an optional >>> advanced.api bundle with the 4.3-dependent classes. >>> >>> Holly
