Community
Participate
Working Groups
Created attachment 288122 [details] Screenshot.png starting with 2021-12 (4.22) we experience a nasty behaviour that eclipse is autobuilding the whole workspace on ever startup. As far as i have debugged that happens because PDEs classpath seems to be different on every startup. see screenshot jdt detects that change in dependencies and requests a new build in org.eclipse.jdt.internal.core.JavaModelManager.containerPutIfInitializingWithSameEntries(IPath, IJavaProject[], IClasspathContainer[]):798
problem is the use of org.eclipse.osgi.service.resolver.BundleDescription.getFragments() in org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.addDependency(BundleDescription, HashSet<BundleDescription>, Map<BundleDescription, ArrayList<Rule>>, ArrayList<IClasspathEntry>, boolean) .getFragments() returns a list without specific order - and in case of osgi seems to depend on the race conditions which class was loaded first
New Gerrit change created: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/191218
This problem has already been addressed in Equinox with Bug 578564 and was fixed in 2022-03 M3. Marking as duplicate therefore. Please re-open if the problem persists. *** This bug has been marked as a duplicate of bug 578564 ***
Reloading the target platform still triggers a full build even though the target platform did not change. Is this expected?
(In reply to Lars Vogel from comment #4) > Reloading the target platform still triggers a full build even though the > target platform did not change. Is this expected? If a single dependency changed a full build would be necessary. If nothing changed there would not have been a reason to update target platform. So even though it is unnecessary to full build then, it is not a likely usecase.