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

Hey Tom!

I would love to discuss this with you, but unfortunately I will not be at EclipseCon (neither Andrew). Andy (Clement) will be, so you should be able to chat with him there.

Aside of that I was wondering how you are going to port over the equinox weaving hook framework extension to your new framework implementation (since it is using all the old equinox framework extension hooks at the moment, that I thought wouldn't be there in the new implementation). But I think I should take a look at your code before I waste your time here with theoretical discussions... ;-)

Anyway, if the equinox weaving hook would work for the new implementation, that would be awesome. It is by far not a brilliant piece of code, but it would let us reuse the old caching and aspectj weaving implementation, I guess. That would save us a lot of time.

Will try to take a look as well, but not before next week.

Cheers,
-Martin


On 12.03.13 13:43, Thomas Watson wrote:
I will be at EclipseCon.  If you and/or Martin are there, perhaps we can
get together to discuss the details there as well.

Tom



Inactive hide details for Andrew Eisenberg ---03/11/2013 06:11:01
PM---Thanks for the advice. I have the workspace set up now aAndrew
Eisenberg ---03/11/2013 06:11:01 PM---Thanks for the advice. I have the
workspace set up now and the hook is being activated.  Unfortunate

From: Andrew Eisenberg <andrew@xxxxxxxxxxxx>
To: Thomas Watson/Austin/IBM@IBMUS,
Cc: Equinox development mailing list <equinox-dev@xxxxxxxxxxx>,
mlippert@xxxxxxxxxx
Date: 03/11/2013 06:11 PM
Subject: Re: [equinox-dev] IWeavingServiceFactory.createWeavingService
takes a BundleDescription
Sent by: andrew.eisenberg@xxxxxxxxx

------------------------------------------------------------------------



Thanks for the advice. I have the workspace set up now and the hook is
being activated.  Unfortunately, the weaving is not happening.  I'll
have to explore a bit more and I'll bring Martin Lippert into the
conversation as well (since he's the original author of Equinox
Weaving).  After we learn a bit more, we'll get back to you.

On Fri, Mar 8, 2013 at 1:48 PM, Thomas Watson <_tjwatson@xxxxxxxxxxx
<mailto:tjwatson@xxxxxxxxxx>> wrote:

    It is a bit more involved to deploy this into your Kepler instance.
      You have to be running a Kepler instance with a workspace that has
    loaded both the org.eclipse.osgi and
    org.eclipse.osgi.compatibility.state projects.  Then you have to
    export the projects using "Export->Plug-in Development->Deployable
    plug-ins and fragments" and for the destination you have to select
    "Install into host. Repository:".  This will deploy the new
    framework to your running installation and you must then restart
    Eclipse.  If all goes well Eclipse will restart successfully on the
    new framework.

    Note that this is not ready for prime-time, so I suggest you do this
    on a Kepler installation that you don't mind blowing up.  I find it
    easier to just run Eclipse on the new framework by launching a
    self-hosted Eclipse instance from your Eclipse workspace while you
    have the org.eclipse.osgi and org.eclipse.osgi.compatibility.state
    projects loaded.

    Tom



    Inactive hide details for Andrew Eisenberg ---03/08/2013 03:34:50
    PM---Hi Tom, Thanks for taking a look at this. AJDT is one oAndrew
    Eisenberg ---03/08/2013 03:34:50 PM---Hi Tom, Thanks for taking a
    look at this.  AJDT is one of the main consumers

    From: Andrew Eisenberg <_andrew@xxxxxxxxxxxxx
    <mailto:andrew@xxxxxxxxxxxx>>
    To: Equinox development mailing list <_equinox-dev@xxxxxxxxxxxx
    <mailto:equinox-dev@xxxxxxxxxxx>>,
    Date: 03/08/2013 03:34 PM
    Subject: Re: [equinox-dev]
    IWeavingServiceFactory.createWeavingService takes a BundleDescription
    Sent by: _equinox-dev-bounces@xxxxxxxxxxxx
    <mailto:equinox-dev-bounces@xxxxxxxxxxx>
    ------------------------------------------------------------------------




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@xxxxxxxxxxx <mailto: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@xxxxxxxxxxxx <mailto:equinox-dev@xxxxxxxxxxx>
     > _https://dev.eclipse.org/mailman/listinfo/equinox-dev_
     >
    _______________________________________________
    equinox-dev mailing list_
    __equinox-dev@xxxxxxxxxxxx <mailto:equinox-dev@xxxxxxxxxxx>_
    __https://dev.eclipse.org/mailman/listinfo/equinox-dev_




_______________________________________________ equinox-dev mailing list equinox-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/equinox-dev