Bug 249881 - [incremental] Incremental compilation optimizations
Summary: [incremental] Incremental compilation optimizations
Status: RESOLVED FIXED
Alias: None
Product: AJDT
Classification: Tools
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 1.6.1   Edit
Assignee: AJDT-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-06 18:48 EDT by Andrew Eisenberg CLA
Modified: 2009-05-15 00:30 EDT (History)
1 user (show)

See Also:


Attachments
patch that properly applies compiler options change flag to the compiler (44.15 KB, patch)
2008-10-06 18:56 EDT, Andrew Eisenberg CLA
andrew.eisenberg: iplog+
Details | Diff
patch to fix failing tests on optimizations (10.62 KB, patch)
2008-10-22 19:40 EDT, Andrew Eisenberg CLA
andrew.eisenberg: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Eisenberg CLA 2008-10-06 18:48:37 EDT
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.
Comment 1 Andrew Eisenberg CLA 2008-10-06 18:56:36 EDT
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.
Comment 2 Andrew Clement CLA 2008-10-06 19:36:33 EDT
patch from comment 1 is in and passed all Core tests on windoze. iplog.
Comment 3 Andrew Eisenberg CLA 2008-10-22 19:40:33 EDT
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.
Comment 4 Andrew Clement CLA 2008-10-22 19:45:21 EDT
patch from comment 3 is in
Comment 5 Andrew Clement CLA 2008-10-24 20:07:27 EDT
done