Skip to content

Releases: theoremlp/rules_multitool

v0.7.1

16 Apr 01:24
60a5472
Compare
Choose a tag to compare

Using Bzlmod (preferred)

  1. Create a multitool.lock.json (schema)
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_multitool", version = "0.7.1")

multitool = use_extension("@rules_multitool//multitool:extension.bzl", "multitool")
multitool.hub(lockfile = "//:multitool.lock.json")
use_repo(multitool, "multitool")

Using WORKSPACE

  1. Create a multitool.lock.json (schema)
  2. Add to your WORKSPACE file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "bazel_features",
    sha256 = "06f02b97b6badb3227df2141a4b4622272cdcd2951526f40a888ab5f43897f14",
    strip_prefix = "bazel_features-1.9.0",
    url = "https://github.com/bazel-contrib/bazel_features/releases/download/v1.9.0/bazel_features-v1.9.0.tar.gz",
)

http_archive(
    name = "rules_multitool",
    sha256 = "b354be5278ef326dbf613e5d52ac5d897c0b410bcdc2b577b8a7a682ed1c5a37",
    strip_prefix = "rules_multitool-0.7.1",
    url = "https://github.com/theoremlp/rules_multitool/releases/download/v0.7.1/rules_multitool-0.7.1.tar.gz",
)

load("@bazel_features//:deps.bzl", "bazel_features_deps")

bazel_features_deps()

load("@rules_multitool//multitool:multitool.bzl", "multitool")

multitool(
    name = "multitool",
    lockfile = "//:multitool.lock.json",
)

What's Changed

Full Changelog: v0.7.0...v0.7.1

v0.7.0

16 Apr 01:09
6d0487b
Compare
Choose a tag to compare

Using Bzlmod (preferred)

  1. Create a multitool.lock.json (schema)
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_multitool", version = "0.7.0")

multitool = use_extension("@rules_multitool//multitool:extension.bzl", "multitool")
multitool.hub(lockfile = "//:multitool.lock.json")
use_repo(multitool, "multitool")

Using WORKSPACE

  1. Create a multitool.lock.json (schema)
  2. Add to your WORKSPACE file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "bazel_features",
    sha256 = "06f02b97b6badb3227df2141a4b4622272cdcd2951526f40a888ab5f43897f14",
    strip_prefix = "bazel_features-1.9.0",
    url = "https://github.com/bazel-contrib/bazel_features/releases/download/v1.9.0/bazel_features-v1.9.0.tar.gz",
)

http_archive(
    name = "rules_multitool",
    sha256 = "4e9647b7a49cac5c777febad09d454ce70265a50f987607831ce109b3a5d80e9",
    strip_prefix = "rules_multitool-0.7.0",
    url = "https://github.com/theoremlp/rules_multitool/releases/download/v0.7.0/rules_multitool-0.7.0.tar.gz",
)

load("@bazel_features//:deps.bzl", "bazel_features_deps")

bazel_features_deps()

load("@rules_multitool//multitool:multitool.bzl", "multitool")

multitool(
    name = "multitool",
    lockfile = "//:multitool.lock.json",
)

What's Changed

  • Fix release automation script by @mark-thm in #25
  • Document how to run tools on the command line by @alexeagle in #26
  • Add convenience target for running in the current working directory by @mark-thm in #29

Full Changelog: v0.6.0...v0.7.0

v0.6.0

21 Mar 21:27
724c28a
Compare
Choose a tag to compare

Note: breaking change for WORKSPACE users -- bazel_features must now be included, see instructions below.

Using Bzlmod (preferred)

  1. Create a multitool.lock.json (schema)
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_multitool", version = "0.6.0")

multitool = use_extension("@rules_multitool//multitool:extension.bzl", "multitool")
multitool.hub(lockfile = "//:multitool.lock.json")
use_repo(multitool, "multitool")

Using WORKSPACE

  1. Create a multitool.lock.json (schema)
  2. Add to your WORKSPACE file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "bazel_features",
    sha256 = "06f02b97b6badb3227df2141a4b4622272cdcd2951526f40a888ab5f43897f14",
    strip_prefix = "bazel_features-1.9.0",
    url = "https://github.com/bazel-contrib/bazel_features/releases/download/v1.9.0/bazel_features-v1.9.0.tar.gz",
)

http_archive(
    name = "rules_multitool",
    sha256 = "557b71b7d8d9975afc7fc2381c4c0e4220d43a581fb019217ca0a040d6cbebff",
    strip_prefix = "rules_multitool-0.6.0",
    url = "https://github.com/theoremlp/rules_multitool/releases/download/v0.6.0/rules_multitool-0.6.0.tar.gz",
)

load("@bazel_features//:deps.bzl", "bazel_features_deps")

bazel_features_deps()

load("@rules_multitool//multitool:multitool.bzl", "multitool")

multitool(
    name = "multitool",
    lockfile = "//:multitool.lock.json",
)

What's Changed

  • Improve schema, support 'type' for archives and 'headers' for all binary kinds (breaking change for WORKSPACE) by @mark-thm in #23

Full Changelog: v0.5.0...v0.6.0

v0.5.0

17 Mar 22:25
81842f6
Compare
Choose a tag to compare

Using Bzlmod with Bazel 6

  1. Enable with common --enable_bzlmod in .bazelrc.
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_multitool", version = "0.5.0")

What's Changed

  • feat: allow multiple lockfiles for WORKSPACE users as well by @alexeagle in #21

Full Changelog: v0.4.0...v0.5.0

v0.4.0

08 Mar 16:53
23ec04e
Compare
Choose a tag to compare

Using Bzlmod with Bazel 6

  1. Enable with common --enable_bzlmod in .bazelrc.
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_multitool", version = "0.4.0")

What's Changed

  • feat: add a JSON schema so that tools like editors give completion an… by @alexeagle in #15
  • Split exec and target toolchain definitions by @mark-thm in #18
  • Move _declare_toolchain to toolchain_info.bzl by @mark-thm in #19
  • README: add $schema for tooling assistance by @alexeagle in #20

Full Changelog: v0.3.0...v0.4.0

v0.3.0

08 Mar 15:24
64b15e5
Compare
Choose a tag to compare

Using Bzlmod with Bazel 6

  1. Enable with common --enable_bzlmod in .bazelrc.
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_multitool", version = "0.3.0")

What's Changed

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

27 Feb 03:36
bba11b3
Compare
Choose a tag to compare

Using Bzlmod with Bazel 6

  1. Enable with common --enable_bzlmod in .bazelrc.
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_multitool", version = "0.2.0")

What's Changed

rules_multitool has a completely new interface, both for defining tools to make available and for accessing tools/toolchains.

Tools are now defined using a lockfile (a precursor and generator of this lockfile will follow in a subsequent release).

Tools are now accessed through a hub repo as @multitool//tools/<tool name>.

As before, tools are backed by a Bazel toolchain, and the toolchains may be sparsely populated with OS/CPUs that matter for your builds.

See the updated readme and/or #9 for more details.

Full Changelog: v0.1.1...v0.2.0

v0.1.1

10 Nov 19:30
c49abe8
Compare
Choose a tag to compare

Using Bzlmod with Bazel 6

  1. Enable with common --enable_bzlmod in .bazelrc.
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_multitool", version = "0.1.1")

What's Changed

  • Fix maintainers/fixedReleaser signatures for BCR by @mark-thm in #5

Full Changelog: v0.1.0...v0.1.1

v0.1.0

10 Nov 19:19
38a4928
Compare
Choose a tag to compare

Using Bzlmod with Bazel 6

  1. Enable with common --enable_bzlmod in .bazelrc.
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_multitool", version = "0.1.0")

What's Changed

Full Changelog: v0.0.10...v0.1.0

0.0.10

10 Nov 08:06
875689d
Compare
Choose a tag to compare

Using Bzlmod with Bazel 6

  1. Enable with common --enable_bzlmod in .bazelrc.
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_multitool", version = "0.0.10")