Copy this template to create a Bazel ruleset.
Features:
- follows the official style guide at https://docs.bazel.build/versions/main/skylark/deploying.html
- includes Bazel formatting as a pre-commit hook (using buildifier)
- includes stardoc API documentation generator
- includes typical toolchain setup
- CI configured with GitHub Actions
- Release on GitHub Actions when pushing a tag
See https://docs.bazel.build/versions/main/skylark/deploying.html#readme
Ready to get started? Copy this repo, then
- search for "com_myorg_rules_mylang" and replace with the name you'll use for your workspace
- search for "myorg" and replace with GitHub org
- search for "mylang" and replace with the language/tool your rules are for
- rename directory "mylang" similarly
- run
pre-commit install
to get lints (see CONTRIBUTING.md) - if you don't need to fetch platform-dependent tools, then remove anything toolchain-related.
- update the
actions/cache@v2
bazel cache key in .github/workflows/ci.yaml and .github/workflows/release.yml to be a hash of your source files. - delete this section of the README (everything up to the SNIP).
---- SNIP ----
From the release you wish to use:
https://github.com/myorg/rules_mylang/releases
copy the WORKSPACE snippet into your WORKSPACE
file.