#198565: Compiler cache interferes with class renames on Windows

Jan Lahoda <[email protected]> Thu, 30 Jun 2011 10:48:59 +0200
Newsgroups gmane.comp.java.netbeans.reviewers
Message-ID <[email protected]>
http://netbeans.org/bugzilla/show_bug.cgi?id=198565

The effect of this bug is that deploy on save does not work when a 
case-sensitive-only rename occurs on Windows.

The deploy on save is broken after such rename until some uneasy 
workaround is performed (requiring at least one restart of the IDE, and 
possibly deleting var/cache/index).

The fix has three parts:
-not using FileUtil.normalizeFile in BuildArtifactsMapperImpl:
http://hg.netbeans.org/main-golden/rev/ad241dfb5678
As the File here is (to my knowledge) used only to copy content from one 
file to another, this risk of breaking something should be relatively low.
This is basically a workaround for:
http://netbeans.org/bugzilla/show_bug.cgi?id=199471
-preventing absorbing of file parsing tasks in such a way that a file 
parse work is run incorrectly before corresponding delete file work:
http://hg.netbeans.org/main-golden/rev/a049b6b8a833
The main risk is slowing indexing a bit even in cases it is not strictly 
necessary. But other options to resolve this problem would be more risky.
-correcting content of FileRenameEvent in case of case-sensitive rename 
on Windows (by jtulach):
http://hg.netbeans.org/main-golden/rev/c7827a9c39fd
http://netbeans.org/bugzilla/show_bug.cgi?id=199616
I do not see any risk in this patch.

The patches were tested by stezeb and only unrelated problem (#158704) 
was found during the testing. The first two patches were reviewed by 
tzezula and the third one by me.

Thanks,
     Jan