GitXplorerGitXplorer
t

rules_gnu

public
0 stars
0 forks
0 issues

Commits

List of commits on branch main.

No commits found

There are no commits on branch main.

README

The README file for this repository.

Template for Bazel rules

Copy this template to create a Bazel ruleset.

Features:

  • follows the official style guide at https://docs.bazel.build/versions/main/skylark/deploying.html
  • 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
  • includes typical toolchain setup
  • CI configured with GitHub Actions
  • 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

Ready to get started? Copy this repo, then

  1. search for "rules_gnu" and replace with the name you'll use for your workspace
  2. search for "thesayyn" and replace with GitHub org
  3. search for "gnu" and replace with the language/tool your rules are for
  4. rename directory "gnu" similarly
  5. run pre-commit install to get lints (see CONTRIBUTING.md)
  6. if you don't need to fetch platform-dependent tools, then remove anything toolchain-related.
  7. 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.
  8. (optional) install the Renovate app to get auto-PRs to keep the dependencies up-to-date.
  9. delete this section of the README (everything up to the SNIP).

---- SNIP ----

Bazel rules for GNU Software

Installation

From the release you wish to use: https://github.com/thesayyn/rules_gnu/releases copy the WORKSPACE snippet into your WORKSPACE file.

To use a commit rather than a release, you can point at any SHA of the repo.

For example to use commit abc123:

  1. Replace url = "https://github.com/thesayyn/rules_gnu/releases/download/v0.1.0/rules_gnu-v0.1.0.tar.gz" with a GitHub-provided source archive like url = "https://github.com/thesayyn/rules_gnu/archive/abc123.tar.gz"
  2. Replace strip_prefix = "rules_gnu-0.1.0" with strip_prefix = "rules_gnu-abc123"
  3. Update the sha256. The easiest way to do this is to comment out the line, then Bazel will print a message with the correct value. Note that GitHub source archives don't have a strong guarantee on the sha256 stability, see https://github.blog/2023-02-21-update-on-the-future-stability-of-source-code-archives-and-hashes/