Community
Participate
Working Groups
While verifying the combined fix for bug 274515 I found that a full was occurring when I would add / remove API problem filters for jdt.core. Steps: 1. remove the final keyword from CompilationParticipant#READY_FOR_BUILD 2. save Expected CompilationParticipant is rebuilt Happens all of jdt.core is rescanned by the API tools builder - notice in the progress view that all packages are re-scanned for unsupported tags and usage
Sadly, this is working as designed, our builder has logic that looks for changes to the manifest and / or filters file and switches to a full build if changes have been made to either. This code was added to handle CVS changes to the filters file to ensure everything got built properly - I just forgot about it. Investigating if we need to do this or not, or if there is a simple-ish fix we could use to preserve incremental build speed in the editing phase.
Created attachment 135152 [details] proposed fix This patch does a little extra examination of the deltas were are getting when we find one for the .api_filters file. Specifically, it only defaults to a full build if the delta is an ADD / REMOVE delta or if the CHANGED delta has an accompanying delta to the hidden CVS resource as well. With this patch I don't even see the build appear in the progress view any more for the source editing case and using the property page to remove filters (but the associated resources are built properly).
Olivier please give the patch a try, and make sure I have not forgotten an edge case.
Olivier raised a valid point that this patch will not work with alternate SCM's, investigating what can be done for this.
Created attachment 135194 [details] updated fix This updated patch considers the alternate flags for the delta instead of accompanying deltas and also fixes up a boo boo in our build job code to make sure the right thing happens when auto-building is on in the workspace.
applied patch to HEAD please verify Olivier
Verified. +1.