rules_swift
rules_swift copied to clipboard
Flip defaults of hermetic options
Currently some options like swift.cacheable_swiftmodules and swift.remap_xcode_path are disabled by default. This leads to surprising non-hermetic behavior when users attempt to make sure their builds are cacheable. I think we should flip the defaults on these features so that users get the "right" behavior for the common bazel use case by default. This has the downside of potentially requiring some extra work, like having a custom lldbinit, to get valid debugging. I think this trade off might be ok as long as we have documentation like this showing users what sort of setup they need to do.
Alternatively we could have a single feature that flipped all these flags to their on values, like swift.hermetic, and encourage that highly if we didn't want to flip defaults.