Skip to content

bazel-contrib/bazel-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bazel helpers library

Base Starlark libraries and basic Bazel rules which are useful for constructing rulesets and BUILD files.

Relationship to bazel-skylib

This module depends on bazel-skylib. In theory all these utilities could be upstreamed to bazel-skylib, but the declared scope of that project is narrow and it no longer accepts feature requests, see https://github.com/orgs/bazelbuild/discussions/3. It's possible that we may instead remove the dependency on bazel-skylib and entirely replace it, in an ABI-compatible sense. See #927.

Installation

Installation instructions are included on each release: https://github.com/bazel-contrib/bazel-lib/releases

To use a commit rather than a release, you can point at any SHA of the repo. However, this adds more "dev dependencies", as you'll have to build our helper programs (such as copy_to_directory, expand_template) from their Go sources rather than download pre-built binaries.

For example to use commit abc123 in MODULE.bazel:

# Automatically picks up new Go dev dependencies
git_override(
    module_name = "bazel_lib",
    commit = "abc123",
    remote = "[email protected]:bazel-contrib/bazel-lib.git",
)

Or in WORKSPACE:

  1. Replace url = "https://github.com/bazel-contrib/bazel-lib/releases/download/v0.1.0/bazel-lib-v0.1.0.tar.gz" with a GitHub-provided source archive like url = "https://github.com/bazel-contrib/bazel-lib/archive/abc123.tar.gz"
  2. Replace strip_prefix = "bazel-lib-0.1.0" with strip_prefix = "bazel-lib-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.
  4. load("@bazel_lib//:deps.bzl", "go_dependencies") and then call go_dependencies()

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