Skip to content

Add more bundles for PDE classpath resolving#2673

Merged
hazendaz merged 1 commit intospotbugs:masterfrom
iloveeclipse:2671_fix
Nov 2, 2023
Merged

Add more bundles for PDE classpath resolving#2673
hazendaz merged 1 commit intospotbugs:masterfrom
iloveeclipse:2671_fix

Conversation

@iloveeclipse
Copy link
Copy Markdown
Member

The fix #2671 removed a bit more code as needed to fix slow PDE classpath resolving of the PDE project classpath, resulting in "The following classes needed for SpotBugs analysis on project XYZ were missing" warnings reported for few plugin projects.

This is a corner case, but not nice.

After a bit more evaluation, turned out, we do not need to manually (recursively) resolve plugins classpath looking in each dependent workspace PDE bundle (which caused repetitive classpath resolving and huge overhead), but we still need to add all libraries from all bundle dependencies (recursive), even if they do not contribute to the project runtime classpath (OSGI does that behind the scenes, so PDE doesn't include them by default).

So this patch restores some of that PDE classpath extension logic removed via #2671 (but still solves original issue reported in #2671).

See #2671


Make sure these boxes are checked before submitting your PR -- thank you!

  • Added an entry into CHANGELOG.md if you have changed SpotBugs code

The fix spotbugs#2671 removed a bit more code as needed to fix slow PDE
classpath resolving of the PDE project classpath, resulting in "The
following classes needed for SpotBugs analysis on project XYZ were
missing" warnings reported for few plugin projects.

This is a corner case, but not nice.

After a bit more evaluation, turned out, we do not need to manually
(recursively) resolve plugins classpath looking in each dependent
*workspace* PDE bundle (which caused repetitive classpath resolving and
huge overhead), but we still need to add all libraries from all *bundle
dependencies* (recursive), even if they do not contribute to the project
runtime classpath (OSGI does that behind the scenes, so PDE doesn't
include them by default).

So this patch restores some of that PDE classpath extension logic
removed via spotbugs#2671 (but still solves original issue reported in spotbugs#2671).

See spotbugs#2671
@hazendaz hazendaz self-assigned this Nov 2, 2023
@hazendaz hazendaz merged commit 2541a96 into spotbugs:master Nov 2, 2023
@hazendaz hazendaz added this to the Spotbugs 4.8.1 milestone Dec 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants