fix(detector): find Eclipse plugins in the macOS p2 shared bundle pool - #189
Open
rksharma95 wants to merge 1 commit into
Open
fix(detector): find Eclipse plugins in the macOS p2 shared bundle pool#189rksharma95 wants to merge 1 commit into
rksharma95 wants to merge 1 commit into
Conversation
Installs created by the Eclipse Installer keep their units in a shared p2
bundle pool rather than under the app bundle: features/ is absent and
plugins/ holds only the launcher jar. macOS detection only ever looked at
<app>/Contents/Eclipse/{features,dropins}, so every plugin on such an
install went unreported — verified on a real 4.41.0 install where 0 were
detected while 12 third-party features (Amazon Q, Spring Tools, DBeaver,
PMD) were present.
- scan <pool>/features alongside the install-local features/, resolving the
pool from eclipse.p2.data.area in configuration/config.ini (a Java
properties value with escaped colons) and falling back to ~/.p2/pool
- report feature groups only: one entry per installed product rather than
the dozens of OSGi bundles it ships (parsing bundles.info instead yielded
147 records for the same 12 products, mostly DBeaver internals)
- route dropins through collectDropins so nested <feature>/eclipse/plugins
layouts are picked up and the source is tagged "dropins" rather than
mislabelled "user_installed"
- dedupe on id@version since a feature can be present both install-locally
and in the pool
- tests: pool layout, self-contained layout, pool resolution from
config.ini and the ~/.p2/pool fallback, no-pool, no-install, and
cross-source dedup
Signed-off-by: rksharma95 <ramakant@stepsecurity.io>
swarit-stepsecurity
approved these changes
Aug 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Installs created by the Eclipse Installer keep their units in a shared p2 bundle pool rather than under the app bundle: features/ is absent and plugins/ holds only the launcher jar. macOS detection only ever looked at /Contents/Eclipse/{features,dropins}, so every plugin on such an install went unreported — verified on a real 4.41.0 install where 0 were detected while 12 third-party features (Amazon Q, Spring Tools, DBeaver, PMD) were present.
What does this PR do?
Type of change
Testing
./stepsecurity-dev-machine-guard --verbose./stepsecurity-dev-machine-guard --json | python3 -m json.toolmake lintmake testRelated Issues