Community
Participate
Working Groups
Build ID: M20071023-1652 Steps To Reproduce: 1. Look at AJDT 1.5.1 (AJ 1.5.4): Weaving.Adaptor.weaveClass() has a changed changed signature. 2. Take Equinox Aspects 1.0.4: OSGiWeavingAdaptor.weaveClass() still has the old signature and also makes a super call with the old signature => Compiler error! More information: I will provide a fix soon ...
Created attachment 86804 [details] Suggested patch for this bug This patch affects two classes: OSGiWeavingAdaptor and WeavingService. I think that for OSGiWeavingAdaptor it works fine, but for WeavingService I am not quite sure. Martin, could you please take a look?
Thanks a lot for the patch. One question: Why is the default value for the new "mustWeave" parameter false in our case? I am not sure what the best strategy is for this. I tend to ask the ApsectJ team to reintroduce the old method signature (for compatibility reasons) but that might take some time. We should definitely wait with a new release of equinox aspects until we have a new stable release of AJDT available (current state is rc, if I am right). But that means also to cut off users of Eclipse 3.2 or AJDT older than 1.5.1.
To correct myself: current stable release version of AJDT is 1.5.1. This means we should go with the patch and have a new version of equinox aspects out soon, I think.
>Why is the default value for the new "mustWeave" parameter false in our case? That is a good question that also should be asked the AspectJ team. Martin, could you please go for AspectJ team? From the JavaDoc comment "@param mustWeave if true then this class *must* get woven (used for concrete aspects generated from XML)" I guessed that "false" is a good starting point. But I also left a comment in WeavingService (should also add a //TODO) stating that this has to be revised. For the version problem: Like AJDT we could also have different versions targeting different Equinox/AJDT versions. For example: 1.0.x for AJDT up to 1.5.0 (Europa release) and 1.1.x for AJDT form 1.5.1. Anyway we should go for 1.1 because of the caching service ... What do you think?
Regarding the version issue: Lets update equinox aspects to work with AsjectJ 1.5.4 and AJDT 1.5.1 only, integrate a caching service (for non-IBM vms) and put a 1.1.0 release out. People depending on AspectJ <= 1.5.3 and/or AJDT <= 1.5.0 could use equinox aspects 1.0.4.
Patch applied to HEAD. Mark as fixed. HEAD development of equinox aspects now depends on the latest AJDT release (1.5.1). I investigated the "false" parameter value and it seems to be correct.