Skip to content

I20260311-1800

@iloveeclipse iloveeclipse tagged this 11 Mar 19:35
Before this change, full build could be triggered instead of incremental
one for projects with external libraries on classpath, if the first
segment of the external library path matches some workspace project
name. In such case, instead of the expected external folders project
that hosts the library, some fully unrelated project is returned as
required by the builder. With that, no delta is found for the actually
required external folders project during incremental build. No delta for
some project on classpath means full rebuild for the project.

The patch tries to improve the way the corresponding projects found for
the binary classpath entries, checking first to match existing external
folders and only after that the (possibly wrong) workspace match on
first path segment.

Additionally binaryLocationsPerProject map, which used in the delta
handling, changed to linked one (code iterates over this map few times),
to have more reproducible builder behavior in general.

See https://github.com/eclipse-pde/eclipse.pde/issues/2244#issuecomment-4039334006

Fix https://github.com/eclipse-jdt/eclipse.jdt.core/issues/4921
Assets 2
Loading