Bug 20659

Summary: Compile/rebuild analysis: white space causes large rebuild
Product: [Eclipse Project] JDT Reporter: Andrew Irvine <airvine>
Component: CoreAssignee: Kent Johnson <kent_johnson>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3    
Version: 2.0   
Target Milestone: 2.1 M1   
Hardware: PC   
OS: Windows 2000   
Whiteboard:

Description Andrew Irvine CLA 2002-06-19 11:37:39 EDT
eclipse-SDK-20020612
sun jdk 1.3.1_01
windows 2000

I added some white space noise to IType.java (changed format to use spaces 
rather than tabs).  When I then saved the file (first time only) a large 
rebuild was triggered.  

How expensive is it to check the generated byte code to determine if the 
before/after build is the same?  If it is not too expensive this may save time 
when base classes are changed for formatting/commenting type purposes, an 
entire rebuild is not required.
Comment 1 Jerome Lanneluc CLA 2002-06-19 11:54:14 EDT
I thought that we already checked for structure change. Kent, could you have a 
look?
Comment 2 Kent Johnson CLA 2002-06-19 12:43:08 EDT
If it was only the first time and could not be reproduced then I suspect your 
workspace was not built & a full build kicked in...

Do you remember seeing messages like: 'Scrubbing Output Folder'?
Do you remember how you built the workspace?
Was Auto-build enabled?
Can you reproduce this?
Comment 3 Andrew Irvine CLA 2002-06-19 13:48:47 EDT
A full build of my workspace was performed prior to this activity.  With a 
clean workspace import all eclipse plugins.  Automatic Build is active (all 
defaults are active I never bothered to change any values).

To reproduce this scenario,
1/ load all eclipse plugins as described above
2/ window > preferences > java > editor  -- check insert space for tabs
3/ window > preferences > java > code formatter > style -- clear indentation is 
represented by tab
4/ in java perspective find IType.java
5/ format IType.java
6/ save IType.java


When I referred to first time only, what I meant was subsequent changes to the 
file IType.java did not behave the same way.  For example if I change the 
settings in 2/ and 3/ back to their original values and save I see less 
activity being performed.

I do not recall seeing the 'Scrubbing Output Folder' message.  A full build was 
not performed as I have all plugins installed, the full build takes much longer 
than the activity I observed.  Basically I see lots of messages in the bottom 
status bar, some which don't make sense (to me) if only whitespace was changed

Comment 4 Kent Johnson CLA 2002-06-19 14:37:41 EDT
Could not reproduce... the build took 1-2 seconds.

Did not see anything out of the ordinary printed on the status line.
Comment 5 Kent Johnson CLA 2002-06-19 15:23:40 EDT
Closing... Andrew has saved & restarted his workspace so he saw all 
the 'Reading build state' messages.