Bug 6443 - Incremental java builder doesn't handle folder create/delete nicely
Summary: Incremental java builder doesn't handle folder create/delete nicely
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 2.0 M2   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-11-29 16:10 EST by John Arthorne CLA
Modified: 2002-01-14 11:47 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Arthorne CLA 2001-11-29 16:10:31 EST
Add or remove a folder called "org" anywhere under the source folder of any 
eclipse project.  The entire project and all dependent projects get recompiled.  
For example, in my workspace, I start with:

/org.eclipse.core.resources/src/org/eclipse/core/resources/

Then I create:

/org.eclipse.core.resources/src/org/eclipse/core/resources/org/

It recompiles everything.  Deletion does the same.

On folder additions/removals, it seems to invalid any type that has a dependency 
on any package that contains that folder name.  This is too coarse-grained.
Comment 1 Philipe Mulet CLA 2001-11-30 06:50:26 EST
Just to clarify. Had you switched to using the new builder ?
Comment 2 Philipe Mulet CLA 2001-11-30 07:01:36 EST
The new builder is recompiling the entire project where 'org' got added, but 
does not recompile any of the dependent projects, since none of the classfiles 
got actually refreshed (since identical).

It is though questionable whether or not the initiating project should be that 
much refreshed...
Comment 3 John Arthorne CLA 2001-11-30 09:42:19 EST
This was in build 20011127.  I'm guessing this uses the new builder, the 
behaviour seems generally different.

It seems to be recompiling dependent projects as well, but I can't be sure.  I 
get messages saying "Compiling contents of ..." for packages in other projects, 
but I don't know if this really means it's compiling or just doing the 
incremental analysis.
Comment 4 Philipe Mulet CLA 2001-11-30 18:55:36 EST
The new builder isn't officially enabled yet, so unless you changed your 
org.eclipse.jdt.core/plugin.xml, you are running the old builder implementation.

Recently (around 20011120), we released a fix into the old builder which causes 
it to recompile all dependents of any touched classfile (in dependent 
projects). Without this change, there was quite simple scenarii which the 
builder was not handling, causing grief to many end-users.

The new builder should deal far better with these scenarii. 
Comment 5 Kent Johnson CLA 2001-12-10 14:05:59 EST
The new builder was recompiling too much since "org" is a well known name.

Released a fix to improve the behaviour, now only references to 
org.eclipse.core.resources are recompiled.
Comment 6 Kent Johnson CLA 2001-12-12 12:12:45 EST
The 7 well known names will have less than optimal behaviour but its worth the 
trade off to save the space.