Skip to content

Releases: aspect-build/rules_lint

v0.21.0

11 May 14:01
53ab168
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 = "aspect_rules_lint", version = "0.21.0")

# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v0.21.0/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v0.21.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 = "1e679b081750ca9cedad4f79e371ee5e14d9a157de8018661af9fe45879100b2",
    strip_prefix = "rules_lint-0.21.0",
    url = "https://github.com/aspect-build/rules_lint/releases/download/v0.21.0/rules_lint-v0.21.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")

fetch_ruff()

load("@aspect_rules_lint//lint:vale.bzl", "fetch_vale")

fetch_vale()

load("@aspect_rules_lint//lint:ktlint.bzl", "fetch_ktlint")

fetch_ktlint()

########################
# 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

New Contributors

Full Changelog: v0.20.0...v0.21.0

v0.20.0

10 May 14:21
ee3f7df
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 = "aspect_rules_lint", version = "0.20.0")

# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v0.20.0/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v0.20.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 = "572be80134ce36b0ad17229a37945efdfa1381468ae804008a1a16dc35686a05",
    strip_prefix = "rules_lint-0.20.0",
    url = "https://github.com/aspect-build/rules_lint/releases/download/v0.20.0/rules_lint-v0.20.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")

fetch_ruff()

load("@aspect_rules_lint//lint:vale.bzl", "fetch_vale")

fetch_vale()

load("@aspect_rules_lint//lint:ktlint.bzl", "fetch_ktlint")

fetch_ktlint()

########################
# 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

  • chore(deps): update terraform to latest by @alexeagle in #202
  • feat: remove golangci-lint by @alexeagle in #207
  • Changes by create-pull-request action by @github-actions in #209
  • Changes by create-pull-request action by @github-actions in #213
  • fix: pass flag to shfmt to ignore passed files in check mode by @daewok in #211
  • Changes by create-pull-request action by @github-actions in #214
  • Update flake8 docs by @codrin-lanterne in #206
  • feat(format): Add ability to ignore files by @mrmeku in #210
  • feat(lint): Add Kotlin linter using ktlint by @smocherla-brex in #215
  • chore: add sh_test for ls-files function by @alexeagle in #216
  • ktlint: Add option to use custom rulesets by @smocherla-brex in #220
  • Changes by create-pull-request action by @github-actions in #218
  • fix: use allow_files in lint_ruff_aspect by @lpulley in #217
  • Changes by create-pull-request action by @github-actions in #223
  • chore: don't cancel concurrent main builds by @gregmagolan in #226
  • feat(lint): plumb exit codes as outputs rather than dropping them by @alexeagle in #225
  • Changes by create-pull-request action by @github-actions in #232
  • fix: lint.sh pass norun_validations by @alexeagle in #231
  • refactor: produce report and exit code in the same action with fixes by @alexeagle in #227
  • chore: compatibility with rules_js 2 by @alexeagle in #221

New Contributors

Full Changelog: v0.18.0...v0.20.0

v0.19.0

24 Apr 13:38
7505e28
Compare
Choose a tag to compare
v0.19.0 Pre-release
Pre-release

Using Bzlmod with Bazel 6

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

# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v0.19.0/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v0.19.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 = "5c9ec682c4d25bd05a1140e0a85d120eb379d46e35bf5770c83ffaf0db680c3c",
    strip_prefix = "rules_lint-0.19.0",
    url = "https://github.com/aspect-build/rules_lint/releases/download/v0.19.0/rules_lint-v0.19.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()

load("@aspect_rules_lint//lint:ktlint.bzl", "fetch_ktlint")

fetch_ktlint()

########################
# 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

  • chore(deps): update terraform to latest by @alexeagle in #202
  • feat: remove golangci-lint by @alexeagle in #207
  • Changes by create-pull-request action by @github-actions in #209
  • Changes by create-pull-request action by @github-actions in #213
  • fix: pass flag to shfmt to ignore passed files in check mode by @daewok in #211
  • Changes by create-pull-request action by @github-actions in #214
  • Update flake8 docs by @codrin-lanterne in #206
  • feat(format): Add ability to ignore files by @mrmeku in #210
  • feat(lint): Add Kotlin linter using ktlint by @smocherla-brex in #215
  • chore: add sh_test for ls-files function by @alexeagle in #216

New Contributors

Full Changelog: v0.18.0...v0.19.0

v0.18.0

09 Apr 15:12
5ac8a21
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 = "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

v0.17.0

08 Apr 21:25
7e8f210
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 = "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

Full Changelog: v0.16.0...v0.17.0

v0.16.0

05 Apr 19:19
bbb7db9
Compare
Choose a tag to compare
v0.16.0 Pre-release
Pre-release

Using Bzlmod with Bazel 6

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

# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v0.16.0/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v0.16.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 = "140ae8a51758d5cdec43d97ccf94b4069a571347f0919e606debcd57e62ac745",
    strip_prefix = "rules_lint-0.16.0",
    url = "https://github.com/aspect-build/rules_lint/releases/download/v0.16.0/rules_lint-v0.16.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

New Contributors

Full Changelog: v0.15.0...v0.16.0

v0.15.0

27 Mar 22:31
a5245ff
Compare
Choose a tag to compare
v0.15.0 Pre-release
Pre-release

Using Bzlmod with Bazel 6

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

# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v0.15.0/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v0.15.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 = "e5be0ba6935d2749790a19314088692e8b51f53d15f8030df0a18734988d74b2",
    strip_prefix = "rules_lint-0.15.0",
    url = "https://github.com/aspect-build/rules_lint/releases/download/v0.15.0/rules_lint-v0.15.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",
    "fetch_terraform",
    "rules_lint_dependencies",
)

rules_lint_dependencies()

fetch_pmd()

fetch_terraform()

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

  • ruff: force exclude honoring in check mode too by @alexeagle in #172
  • Changes by create-pull-request action by @github-actions in #173
  • Changes by create-pull-request action by @github-actions in #177
  • chore: update aspect-cli to latest by @alexeagle in #180
  • Update lint.sh by @alexeagle in #181
  • Revert "Revert "Use multirun (#160)" (#171)" by @alexeagle in #182
  • chore: upgrade rules_multitool for WORKSPACE users by @alexeagle in #183
  • chore: fix ci, need newer bazel_features version by @alexeagle in #184
  • fix(format): don't bail check mode on first error by @alexeagle in #185

Full Changelog: v0.14.2...v0.15.0

v0.14.2

14 Mar 19:38
1fbcfee
Compare
Choose a tag to compare
v0.14.2 Pre-release
Pre-release

BREAKING CHANGES

Getting ready for 1.0 so a bunch of breaking changes have landed since v0.13.

  • Many renames: Public API symbol symbols now prefixed with lint_
  • WORKSPACE users should check the snippet below:
    • must now call rules_lint_dependencies()
    • must either install rules_multitool, or set some languages to False in call to format_multirun
  • multi_formatter_binary renamed to format_multirun
    • attribute protobuf renamed to protocol_buffer

Using Bzlmod with Bazel 6

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

# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v0.14.2/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v0.14.2/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 = "07dd6258894757e44db1a5dd3650731c1432cad7795afdaa6d945d4ba3b84f68",
    strip_prefix = "rules_lint-0.14.2",
    url = "https://github.com/aspect-build/rules_lint/releases/download/v0.14.2/rules_lint-v0.14.2.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",
    "fetch_terraform",
    "rules_lint_dependencies",
)

rules_lint_dependencies()

fetch_pmd()

fetch_terraform()

fetch_java_format()

fetch_ktfmt()

fetch_swiftformat()

load("@aspect_rules_lint//lint:ruff.bzl", "fetch_ruff")

fetch_ruff()

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

Full Changelog: v0.14.1...v0.14.2

v0.14.1

13 Mar 03:53
d77295e
Compare
Choose a tag to compare
v0.14.1 Pre-release
Pre-release

Broken due to #169, do not use

v0.14.0

12 Mar 19:34
452edf8
Compare
Choose a tag to compare
v0.14.0 Pre-release
Pre-release

Broken due to #169, do not use