Community
Participate
Working Groups
Build 3.0M4 From John Wiegand: The problem is that the pre-check to not write class files is too early. (I also think the pre-check is inaccurate - it says don't even try to optimize too often - I changed one source file and it wrote 300 identical classes). Since it is early, we do the structural compare check even on classfiles with identical bytes.
Actually, we want to ensure we dump newer classfiles for any touched source file (modify a comment only), so that we are resilient with any other tool which is using timestamps. However, in the case we indicted files from binary changes only, we shouldn't force to dump them unless they really did change.
However, unless one true structural change did occur during this project build, this unoptimal behavior shouldn't impact dependent projects (related to bug 14103).
We now set a flag in the initial SourceFiles found in the first source delta walk. Only these source files will ensure that their .class file is updated. Changed AbstractImageBuilder, IncrementalImageBuilder and SourceFile. In a full Eclipse source workspace, adding a method to IResource took 55 seconds instead of 70. Adding a method to Path to 25 seconds instead of 30.
Backported to the 2.1.x stream.
Verified for 3.0M5
Verified for 2.1.3 (M20040225)