diff --git a/README.md b/README.md index 20a04a3..32c657a 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Copy this template to create a Bazel ruleset. Features: -- follows the official style guide at https://docs.bazel.build/versions/main/skylark/deploying.html +- follows the official style guide at https://bazel.build/rules/deploying - allows for both WORKSPACE.bazel and bzlmod (MODULE.bazel) usage - includes Bazel formatting as a pre-commit hook (using [buildifier]) - includes stardoc API documentation generator @@ -13,10 +13,6 @@ Features: - release using GitHub Actions just by pushing a tag - the release artifact doesn't need to be built by Bazel, but can still exclude files and stamp the version -See https://docs.bazel.build/versions/main/skylark/deploying.html#readme - -[buildifier]: https://github.com/bazelbuild/buildtools/tree/master/buildifier#readme - Ready to get started? Copy this repo, then 1. search for "com_myorg_rules_mylang" and replace with the name you'll use for your workspace @@ -28,6 +24,12 @@ Ready to get started? Copy this repo, then 1. (optional) install the [Renovate app](https://github.com/apps/renovate) to get auto-PRs to keep the dependencies up-to-date. 1. delete this section of the README (everything up to the SNIP). +Optional: if you write tools for your rules to call, you should avoid toolchain dependencies for those tools leaking to all users. +For example, https://github.com/aspect-build/rules_py actions rely on a couple of binaries written in Rust, but we don't want users to be forced to +fetch a working Rust toolchain. Instead we want to ship pre-built binaries on our GH releases, and the ruleset fetches these as toolchains. +See https://blog.aspect.build/releasing-bazel-rulesets-rust for information on how to do this. +Note that users who *do* want to build tools from source should still be able to do so, they just need to register a different toolchain earlier. + ---- SNIP ---- # Bazel rules for mylang