v0.18.0
Using Bzlmod with Bazel 6
- Enable with
common --enable_bzlmod
in.bazelrc
. - Add to your
MODULE.bazel
file:
bazel_dep(name = "aspect_rules_lint", version = "0.18.0")
# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v0.18.0/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v0.18.0/docs/formatting.md
Using WORKSPACE
Paste this snippet into your file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_lint",
sha256 = "a3e07f07216b6b406d2297c273e7af4cc8096b43288952020cdf4dc12f45b5e8",
strip_prefix = "rules_lint-0.18.0",
url = "https://github.com/aspect-build/rules_lint/releases/download/v0.18.0/rules_lint-v0.18.0.tar.gz",
)
# aspect_rules_lint depends on aspect_bazel_lib. Either 1.x or 2.x works.
http_archive(
name = "aspect_bazel_lib",
sha256 = "979667bb7276ee8fcf2c114c9be9932b9a3052a64a647e0dcaacfb9c0016f0a3",
strip_prefix = "bazel-lib-2.4.1",
url = "https://github.com/aspect-build/bazel-lib/releases/download/v2.4.1/bazel-lib-v2.4.1.tar.gz",
)
load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies")
# aspect_bazel_lib depends on bazel_skylib
aspect_bazel_lib_dependencies()
load(
"@aspect_rules_lint//format:repositories.bzl",
# Fetch additional formatter binaries you need:
"fetch_java_format",
"fetch_ktfmt",
"fetch_swiftformat",
"rules_lint_dependencies",
)
rules_lint_dependencies()
fetch_java_format()
fetch_ktfmt()
fetch_swiftformat()
load("@aspect_rules_lint//lint:pmd.bzl", "fetch_pmd")
fetch_pmd()
load("@aspect_rules_lint//lint:ruff.bzl", "fetch_ruff")
# https://github.com/astral-sh/ruff/pull/8631#issuecomment-2022746290
fetch_ruff("v0.3.2")
load("@aspect_rules_lint//lint:vale.bzl", "fetch_vale")
fetch_vale()
########################
# Optional: multitool provides defaults for some tools such as yamlfmt
# If you do not set up multitool, you will be forced to either set an explicit tool
# for languages that have a default, or set explicit False value, e.g.
# format_multirun(jsonnet = False)
load("@rules_multitool//multitool:multitool.bzl", "multitool")
multitool(
name = "multitool",
lockfiles = [
"@aspect_rules_lint//format:multitool.lock.json",
"@aspect_rules_lint//lint:multitool.lock.json",
],
)
What's Changed
- docs: update install docs for non-multitool linters by @alexeagle in #204
- refactor: bring linters under rules_multitool by @alexeagle in #203
Full Changelog: v0.17.0...v0.18.0