Community
Participate
Working Groups
Step to repreduce : 1) create a project P1. 2) add an abstract class A in P1. 3) create a project P2 with P1 in build path. 4) add a class B which extends A in P2. 5) add an abstract in A ( e.g. public abstract void foo(); ). no error signaled in B. NOTES: DA (6/11/01 4:23:13 AM) bugs already exist in build 0.120. DA (6/11/01 5:09:50 AM) bugs already exist in build 0.101. but doesn't exist in 0.046. PM (6/12/01 12:31:47 AM) Related to 1GF5UG8: ITPJCORE:WINNT - Incremental build doesn't detect disappearance of field. I believe both are the same scenario. What appears is that since build 101 (when we put in the changes for using incremental deltas from other projects, as opposed to my code for binary book-keeping), inter-project dependencies are no longer sensitive to structural changes in binaries. JW (6/12/01 5:44:15 PM) How much work is this to bring forward? PM (6/12/01 6:44:15 PM) I have a naive way to make this work, by changing the code of IncrementalImageBuilder.changedSourceElement(SourceEntry) in the case of non-source change to mark dependents of the changed binary for recompile. This is way too much requesting for recompile... I think the right solution should be to perform indictments on the binary, but unfortunately at this point it does not have a builder type or a principal structure... I was looking at a simple way to queue those binary changes for considerating them along when the updateState is performed, but could not figure how to do this easily again. Are we stuck with saying the bug is there, or can you think of a way to solve this one ? PM (6/13/2001 3:44:30 PM) NE assesses the bug is real, and there is no easy work-around. The naive fix would provide the same behavior as pre101 change. NE suggested adding a CRC check, but this is already more change than what we can put in at this point. I think there should be some deep change to apply to the builder, but this is post-june. It should really compile the changed sources, producing some new binaries, and add the externally changed binaries in the update/indictment loop. Note: there should not be any need to remember the structure of binaries in memory, since it would only compute a binary delta upon replacing the existing class file. Those binary deltas would be the only things remembered in memory for the duration of an incremental build.
PRODUCT VERSION: build 0.122
Closed - not reproducable with new builder.