Skip to content

fix: expand binary globs in hermit info --json - #621

Open
Bortlesboat wants to merge 1 commit into
cashapp:masterfrom
Bortlesboat:fix-info-json-binary-globs
Open

Bortlesboat wants to merge 1 commit into
cashapp:masterfrom
Bortlesboat:fix-info-json-binary-globs

Conversation

@Bortlesboat

Copy link
Copy Markdown

Fixes #161.

hermit info --json marshalled the packages straight from the manifest, so Binaries held the globs (["bin/*"]) instead of what they match. The plain text output already resolves them; this does the same for JSON, keeping paths relative to the package root (["bin/bar", "bin/foo"]) so the field keeps the same shape.

On the question in the issue about globs that don't resolve: if ResolveBinaries fails (eg. the package isn't installed yet) the package is emitted unchanged, so JSON consumers still see the manifest values rather than an empty list. The IntelliJ plugin only reads Reference and Root from this output, so it isn't affected.

Added a test that installs files under the package root and checks the expanded list, and an assertion on the existing test for the unresolved case. The new test fails on master without the change.

The JSON output marshalled packages as resolved from the manifest, so
`Binaries` contained the raw globs (eg. `bin/*`) rather than the files they
match. Expand them relative to the package root. Globs that can't be
resolved, eg. because the package isn't installed, are left unchanged.

Fixes cashapp#161

This branch has not been deployed

No deployments
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.

hermit info --json <pkg> does not expand binaries globs

1 participant