feat(local_which): make local binaries non-mandatory
This allows the implicit `:resolved` target to be used even when the local binary is not provided. Technically, we can avoid that because one could set up both `local` _and_ `resolved` repository rules. That is a boilerplate pain though. This moves the error to execution time which is a bit of a pain. Previously, because the repository was only resolved when a target explicitly requested the local toolchain the error would be caught before execution time. However, moving the convenience `:resolved` target into the `local` repository nullifies that because the repository needs to be resolved for _any_ toolchain because the `:resolved` target is re-used. The trade-off here seems worth it for simple `MODULE.bazel` repository definitions.
Loading