Community
Participate
Working Groups
Bug 245566 has dealt with incremental compilation on multiple projects on the aspectj side. This bug addresses another part of the problem on the AJDT side. Currently, AJDT doesn't send the compiler the correct changed flags when compiler options have changed. In particular, I need to properly apply the following flags OUTJAR_CHANGED, NONSTANDARDOPTIONS_CHANGED, and JAVAOPTIONS_CHANGED. The way to address this is to monitor the .settings folder of an aspectj project. I will conservatively say that whenever a file in the .settings folder changes, then all of these flags will be set. Patch is forthcoming.
Created attachment 114362 [details] patch that properly applies compiler options change flag to the compiler This patch forms the last piece of the incremental compiler optimizations described in bug 245566. Now all compiler changed flags are used properly (if conservatively). Also in this patch, I created the AJBuildJob, which asynchronously starts an AspectJ build. I removed several build requests and added uses of this Job instead. The result is that more building occurs in the background and annoying dialog boxes do not appear when builds occur.
patch from comment 1 is in and passed all Core tests on windoze. iplog.
Created attachment 115886 [details] patch to fix failing tests on optimizations This patch contains small change to the way other projects are looked at to see if the current project needs a build. Now, if no source files have changed, compiler options haven't changed, and the classpath hasn't changed on the other project, then the current project ignores the other project regarding builds. In the past, only source files were looked at. Also, this patch fixes two tests that fail because of it. Also this patch contains a change to the DeleteAndUpdateAJMarkersJob such that it doesn't explicitly wait for builds to complete before running. This now happens implicitly as it acquires the workspace lock.
patch from comment 3 is in
done