Replies: 2 comments
-
|
Thanks for the detailed proposal! I opened #9253 implementing this. One naming note: mise already has a [tools]
"spm:swiftlang/swiftly" = { version = "latest", filter_bins = ["swiftly"] }
# or
"spm:swiftlang/swiftly" = { version = "latest", filter_bins = "swiftly" }As you suggested, filtering happens before This comment was generated by an AI coding assistant. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks !! It looks so good !! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I’d like to propose adding a
binsoption to thespmbackend so users can restrict which executable products are built and linked.Right now, when a Swift package exposes multiple executable products,
miseappears to build and link all of them. In some cases, that means executables intended only for testing or internal use are also installed intobinand added toPATH.A concrete example is
swiftlang/swiftly:https://github.com/swiftlang/swiftly/blob/c4dc2419106bfc02ea0c698632e8dbee6d7c53e7/Package.swift#L14-L23
In normal usage, I only want swiftly. I do not want test-swiftly to be built or linked into PATH.
A config like this would solve the issue cleanly:
Expected behavior:
binsis not set, keep the current behavior for backward compatibilitybinsis set, only the listed executable products are built and linkedThis seems preferable to filtering only at the symlink step, because it would also avoid unnecessary builds.
If this direction makes sense, I’d be happy to work on a PR.
Beta Was this translation helpful? Give feedback.
All reactions