[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] IWeavingServiceFactory.createWeavingService takes a BundleDescription

Hi Tom,

Thanks for taking a look at this.  AJDT is one of the main consumers
of org.eclipse.equinox.weaving.hook through the
org.eclipse.equinox.weaving.aspectj bundle.  It looks like you have
also updated the org.eclipse.equinox.weaving.aspectj bundle.  I will
get a chance to try this out next week.  Just to be sure, if I check
out this branch of equinox and drop the osgi bundle into Kepler, will
things hang together?

regards,
Andrew

On Fri, Mar 8, 2013 at 12:57 PM, Thomas Watson <tjwatson@xxxxxxxxxx> wrote:
> Keep in mind this is a discussion for Luna, not Kepler.  I have been
> spending some time lately around the new framework implementation based on
> the OSGi R5 generic capability/requirement model.
>
> I was looking at porting the Equinox weaving hooks
> (org.eclipse.equinox.weaving.hook) over to a new Equinox framework
> implementation that is based internally on the generic
> capability/requirement model of the OSGi R5 specification.  This framework
> implementation no longer is based on the old Equinox resolver API
> (org.eclipse.osgi.service.resolver).  As such the weaving hook
> implementation no longer has access to BundleDescription objects or a State
> object at runtime.  Instead it would have access to
> org.osgi.framework.wiring.BundleRevsion/BundleWiring objects.
>
> How disruptive would it be to make a breaking API change to
> org.eclipse.equinox.service.weaving.IWeavingServiceFactory to take a
> org.osgi.framework.wiring.BundleRevsion instead of the old
> org.eclipse.osgi.service.resolver.BundleDescription and no longer take a
> org.eclipse.osgi.service.resolver.State?
>
> I noticed the bundle org.eclipse.equinox.weaving.hook exports the package
> org.eclipse.equinox.service.weaving with no version (defaulting to 0.0.0).
> For the next release I suggest we bump this version to 1.0.0 and indicate a
> breaking change for implementors of
> org.eclipse.equinox.service.weaving.IWeavingServiceFactory.  I'm not sure
> how many others outside of the org.eclipse.equinox.weaving.aspectj bundle
> implement this interface.  But without this type of change I see no way to
> support Equinox Weaving on the new framework.  Beyond this I still want
> someone to investigate moving as much of the Equiniox weaving hooks onto the
> standard OSGi WeavingHook services [1].
>
> If you want to see the work I have done so far then load up the
> twatson/container branches from both the rt.equinox.framework [2] and
> rt.equinox.bundles [3] git repositories.  You should be able to self-host
> Eclipse if you load up the framework project (org.eclipse.osg) and the
> compatibility state project (org.eclipse.osgi.compatibility.state) which
> provides an implementation of the old equinox PlatformAdmin/State mainly to
> support PDE.  I have not done any testing of the weaving hook changes.  I
> only spent the morning getting rid of compile errors which pointed me to
> this API issue with BundleDescription in the Equinox Weaving API.
>
> [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=377422
> [2]
> http://git.eclipse.org/c/equinox/rt.equinox.framework.git/log/?h=twatson/container
> [3]
> http://git.eclipse.org/c/equinox/rt.equinox.bundles.git/log/?h=twatson/container
>
>
> Tom
>
>
> _______________________________________________
> equinox-dev mailing list
> equinox-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>