### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: model/org/eclipse/jdt/internal/core/builder/IncrementalImageBuilder.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IncrementalImageBuilder.java,v retrieving revision 1.97 diff -u -r1.97 IncrementalImageBuilder.java --- model/org/eclipse/jdt/internal/core/builder/IncrementalImageBuilder.java 27 Jun 2007 19:48:44 -0000 1.97 +++ model/org/eclipse/jdt/internal/core/builder/IncrementalImageBuilder.java 27 Sep 2007 18:45:47 -0000 @@ -501,10 +501,15 @@ if (!isExcluded) { IPath addedPackagePath = resource.getFullPath().removeFirstSegments(segmentCount); createFolder(addedPackagePath, md.binaryFolder); // ensure package exists in the output folder - // add dependents even when the package thinks it exists to be on the safe side - if (JavaBuilder.DEBUG) - System.out.println("Found added package " + addedPackagePath); //$NON-NLS-1$ - addDependentsOf(addedPackagePath, true); + // see if any known source file is from the same package... classpath already includes new package + if (sourceLocations.length > 1 && newState.isKnownPackage(addedPackagePath.toString())) { + if (JavaBuilder.DEBUG) + System.out.println("Skipped dependents of added package " + addedPackagePath); //$NON-NLS-1$ + } else { + if (JavaBuilder.DEBUG) + System.out.println("Found added package " + addedPackagePath); //$NON-NLS-1$ + addDependentsOf(addedPackagePath, true); + } } // fall thru & collect all the source files case IResourceDelta.CHANGED :