Skip to content

Commit a71e0a7

Browse files
authored
docs: Document how to ship pre-built tools (#117)
Fixes #57
1 parent 38be0c1 commit a71e0a7

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Copy this template to create a Bazel ruleset.
44

55
Features:
66

7-
- follows the official style guide at https://docs.bazel.build/versions/main/skylark/deploying.html
7+
- follows the official style guide at https://bazel.build/rules/deploying
88
- allows for both WORKSPACE.bazel and bzlmod (MODULE.bazel) usage
99
- includes Bazel formatting as a pre-commit hook (using [buildifier])
1010
- includes stardoc API documentation generator
@@ -13,10 +13,6 @@ Features:
1313
- release using GitHub Actions just by pushing a tag
1414
- the release artifact doesn't need to be built by Bazel, but can still exclude files and stamp the version
1515

16-
See https://docs.bazel.build/versions/main/skylark/deploying.html#readme
17-
18-
[buildifier]: https://github.com/bazelbuild/buildtools/tree/master/buildifier#readme
19-
2016
Ready to get started? Copy this repo, then
2117

2218
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
2824
1. (optional) install the [Renovate app](https://github.com/apps/renovate) to get auto-PRs to keep the dependencies up-to-date.
2925
1. delete this section of the README (everything up to the SNIP).
3026

27+
Optional: if you write tools for your rules to call, you should avoid toolchain dependencies for those tools leaking to all users.
28+
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
29+
fetch a working Rust toolchain. Instead we want to ship pre-built binaries on our GH releases, and the ruleset fetches these as toolchains.
30+
See https://blog.aspect.build/releasing-bazel-rulesets-rust for information on how to do this.
31+
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.
32+
3133
---- SNIP ----
3234

3335
# Bazel rules for mylang

0 commit comments

Comments
 (0)