bazelbuild / rules_swift

Bazel rules to build Swift on Apple and Linux platforms
Apache License 2.0
307 stars 133 forks source link

Separate toolchain configuration logic from the rest of the rules' business logic #1243

Closed brentleyjones closed 1 month ago

brentleyjones commented 1 month ago

The tool/action config logic had previously been exported as a single module. Since I wanted to separate that out, it required updating all the call sites, so I took the opportunity to remove the tool/action config function wrappers and just expose the actual "providers" that back them, using new provider initializers to massage/validate the arguments before they are set as fields. I also removed the swift_action_names struct and just made those names top-level constants.

PiperOrigin-RevId: 451429760 (cherry picked from commit 699ffd5b1997a28aa4e5f18e4dc4b04bab786d34)