Community
Participate
Working Groups
RC2 has a problem in that it sometimes doesnt build depending projects when you make a change to a project. If B depends on A, and you make a change to A such that B should notice, B was not being built - this is due to incorrect delta processing in AJBuilder.build() when building B.
Fix is to the delta processing - when building project B we should look at the delta for B *and* the delta for A - if there was a source code change in A we should call the compiler for B. Also improved the logic that examines deltas to avoid processing unnecessary changes in the 'bin' folder of a project.
Tests for this bug can now be found in org.eclipse.ajdt.core.tests.Bug99133Test. These have been put both into the AJDT1.2 and AJDT 1.3 streams.
Reopenning this bug because with the latest changes to incremental compilation, the tests related to this bug are failing.
Actually, can't reopen. Maybe someone else can.
Created attachment 115319 [details] patch that fixes the failing tests The tests were failing because the timestamp of the last change of an aspect and the timestamp of last build of a project that depends on the aspect were too close together. AjState assumes that if timestamps of a class file and the last build timestamp of a project that depends on it are within 1 second (ie- the class file was touched up to 1 second *before* the build completed), then the class file is considered to have changed since the last build. Now that we are able to complete builds faster, successive builds of dependent projects may run into this limit. In these tests, I have added a one second delay between the creation of the first and second projects. In the real world, this may happen sporadically and may be difficult to track down. All this would mean is that there will be some full builds occurring when there doesn't need to be. Will open an AspectJ bug to track this.
patch from c5 applied - tests reactivated
still work to do
No longer slated for the next release.