Community
Participate
Working Groups
50 I have a full source workspace. I added a source folder to the xerces plugin, this caused the entire project to be rebuilt. Then I added a new class into a new package (org.eclipse.apache.xerces.Helper) Adding an additional class to the same package didn't cause any (visible) compilation Adding another class (in another new package) (org.eclipse.apache.xerces2.Helper3) didn't cause any (visible) compilation. Deleting all of these classes caused "everything" to be compiled. Is the problem because I made up a package with a dangerous name (org.eclipse.apache.xerces)? This is a totally new package that no one knows about. Is the assumption about package name element uniqueness?
The problem is you've added the package 'org', 'org.eclipse', 'org.eclipse.apache', etc. to the xerces plugin & as a result every dependent project sees an 'added' delta for the package 'org'. I need a known package list in each project's build state to know that I can ignore added/removed package deltas from a prereq project's binary delta. Or we just scan the current project's qualified type table for all of the locally known packages.
Also the package name 'org.eclipse.apache' is also problematic because there is a package named 'org.apache'... so when 'apache' is added/removed from 'org.eclipse', we match it in 'org' if the project has a reference to 'org.apache'. So now we only consider a package 'a', 'a.b' or 'a.b.c' added if no source types in the current project are from the same package (takes care of 'org' and 'org.eclipse')... when a remove delta for a package is found, we check to see if the package still exists on the classpath before considering removed.
released fix.