Community
Participate
Working Groups
In bug 245566 we covered decreasing the time spent preparing for an incremental compile and this greatly benefited large projects. However as per comment 35 in that bug ( https://bugs.eclipse.org/bugs/show_bug.cgi?id=245566#c35 ) there is still something wrong for multiple interdependent small projects. This bug is to cover further analysing that situation.
Earlier on, you had introduced the method AsmManager.getModelChangesOnLastBuild(). When there is a change to an aspect on the aspect path, the files affected by it are *not* placed on this file, but they should be.
The case described in comment 1 uncovered a bit of a mess. Analysis of class file changes on the aspectpath is rather incomplete and so I've fleshed it out. A change to a .class file on the aspectpath *which contained an aspect* will now trigger a full build. I think it previously got ignored, which is definetly not the right thing to do. This does mean we may suffer a performance degradation due to the full build but I need to play around with it in a real scenario and see if it is a real issue. I have some ideas for doing things properly but they are non-trivial. This should also address 246476 comment 13.
Not going to make it for 1.6.3
the multi project incremental performance is now being addressed under bug 268827. That bug will cover optimizing for a chain of AspectJ projects and a chain where AspectJ projects depend on JDT projects. The issue of JDT projects depending on AspectJ projects will be the remaining case I haven't even tried - i dont know how slow that is. *** This bug has been marked as a duplicate of bug 268827 ***