v0.17.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.17.0")
# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v0.17.0/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v0.17.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 = "e8b26aab8d587e596d1463545f799a601edfb5f31b84db3f39a751f03407e2e5",
strip_prefix = "rules_lint-0.17.0",
url = "https://github.com/aspect-build/rules_lint/releases/download/v0.17.0/rules_lint-v0.17.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_pmd",
"fetch_swiftformat",
"rules_lint_dependencies",
)
rules_lint_dependencies()
fetch_pmd()
fetch_java_format()
fetch_ktfmt()
fetch_swiftformat()
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:golangci-lint.bzl", "fetch_golangci_lint")
fetch_golangci_lint()
load("@aspect_rules_lint//lint:shellcheck.bzl", "fetch_shellcheck")
fetch_shellcheck()
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",
lockfile = "@aspect_rules_lint//format:multitool.lock.json",
)
What's Changed
- fix: format[_test] macros handle common attrs by @alexeagle in #200
- feat: shellcheck apply fixes by @alexeagle in #196
- feat(format): expose print_command and change default to False by @alexeagle in #198
Full Changelog: v0.16.0...v0.17.0