Skip to content

Releases: aspect-build/rules_lint

v1.0.0-rc4

16 Jun 23:18
7a14cfd
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 = "1.0.0-rc4")

# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v1.0.0-rc4/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v1.0.0-rc4/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 = "f67a1fda0822105c9c3d1cbbe0fb1b1bbddafbd927228cd642ca0cbf761496ed",
    strip_prefix = "rules_lint-1.0.0-rc4",
    url = "https://github.com/aspect-build/rules_lint/releases/download/v1.0.0-rc4/rules_lint-v1.0.0-rc4.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 must provide these tools yourself
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: test on Bazel 7 by @alexeagle in #191
  • Changes by create-pull-request action by @github-actions in #271
  • chore(example): enable proto toolchain resolution by @alexeagle in #267
  • Correct docstring for eslint (#275) by @jmeekhof in #276
  • Changes by create-pull-request action by @github-actions in #274
  • chore: add --check_direct_dependencies to .bazelrc by @gregmagolan in #277
  • feat: Optimize the git ignore checks by @mrmeku in #270
  • chore(deps): update yamlfmt and gofumpt to latest by @hunshcn in #278
  • feat: auto-update multitool versions by @hunshcn in #281
  • Only run aspect actions when input files provided by @psalaberria002 in #273
  • feat: Add Cuda format support by @jsharpe in #285
  • fix(format): print FIX_CMD only when check by @hunshcn in #280
  • Changes by create-pull-request action by @github-actions in #286
  • refactor: combine mirroring into one step by @alexeagle in #289
  • Update mirror.yml by @alexeagle in #291
  • Changes by create-pull-request action by @github-actions in #292
  • Feat: clang-tidy for linting of C/C++ code by @peakschris in #287

New Contributors

Full Changelog: v1.0.0-rc3...v1.0.0-rc4

v1.0.0-rc3

31 May 01:06
0765848
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 = "1.0.0-rc3")

# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v1.0.0-rc3/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v1.0.0-rc3/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 = "6da562afb6e328757eb29f3ad044e273317371139d245eac0a74b60173d36025",
    strip_prefix = "rules_lint-1.0.0-rc3",
    url = "https://github.com/aspect-build/rules_lint/releases/download/v1.0.0-rc3/rules_lint-v1.0.0-rc3.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 must provide these tools yourself
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

  • fix(example): demonstrate use of type definitions in eslint aspect by @jgao54 in #174
  • docs(format): include API docs for each language/tool by @alexeagle in #251
  • fix: move mnemonic to after label in report, exit_code and patch output filename by @gregmagolan in #252
  • Changes by create-pull-request action by @github-actions in #253
  • chore: bump example to bazel-lib 2.7.5 by @gregmagolan in #254
  • chore: show less noisy prettier in example by @alexeagle in #256
  • Changes by create-pull-request action by @github-actions in #258
  • docs: clarify what's not recommended by @alexeagle in #264
  • chore: bump example to bazel-lib 2.7.7 by @gregmagolan in #265
  • prettier log level followup by @alexeagle in #257
  • fix(format): "File name too long" when using --disable_git_attribute_checks by @mattnworb in #262
  • feat: add format_multirun() attribute to disable slow gitattribute checks by @mattnworb in #263
  • chore: bump to Aspect CLI 5.9.36 by @gregmagolan in #268
  • refactor: introduce mnemonic convention for rules_lint linters by @gregmagolan in #266

New Contributors

Full Changelog: v1.0.0-rc2...v1.0.0-rc3

v1.0.0-rc1

23 May 00:16
3d6817a
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 = "1.0.0-rc1")

# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v1.0.0-rc1/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v1.0.0-rc1/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 = "a82dbd056a9048330f01848c38c9689b6d3ca1298777f7bd550bc546a1904695",
    strip_prefix = "rules_lint-1.0.0-rc1",
    url = "https://github.com/aspect-build/rules_lint/releases/download/v1.0.0-rc1/rules_lint-v1.0.0-rc1.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 must provide these tools yourself
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

  • fix: move mnemonic to after label in report, exit_code and patch output filename by @gregmagolan in #252

Full Changelog: v1.0.0-rc0...v1.0.0-rc1

v1.0.0-rc2

30 May 19:22
24843ee
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 = "1.0.0-rc2")

# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v1.0.0-rc2/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v1.0.0-rc2/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 = "11461950471f1b53262828d456a0a0e7ee6996ceca7e6e4402fbad606c69e5b1",
    strip_prefix = "rules_lint-1.0.0-rc2",
    url = "https://github.com/aspect-build/rules_lint/releases/download/v1.0.0-rc2/rules_lint-v1.0.0-rc2.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

Full Changelog: v0.21.0...v1.0.0-rc2

v1.0.0-rc0

22 May 21:06
43971f9
Compare
Choose a tag to compare

📣 first semver-stable release!

Starting with this release, we promise No Breaking Changes until 2.0.

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 = "1.0.0-rc0")

# Next, follow the install instructions for
# - linting: https://github.com/aspect-build/rules_lint/blob/v1.0.0-rc0/docs/linting.md
# - formatting: https://github.com/aspect-build/rules_lint/blob/v1.0.0-rc0/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 = "0dd87ae1dc089444428765ccf085ffb6e115eac3dab496e69461342a665e3908",
    strip_prefix = "rules_lint-1.0.0-rc0",
    url = "https://github.com/aspect-build/rules_lint/releases/download/v1.0.0-rc0/rules_lint-v1.0.0-rc0.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 must provide these tools yourself
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: clarify warning vs error by @alexeagle in #241
  • chore: Real time instead of user time when formatting by @honnix in #240
  • feat: format.sh has same behavior with arguments by @mrmeku in #244
  • chore: bump example to rules_js 2.0.0-alpha.7 by @gregmagolan in #247
  • chore: upgrade example to eslint 9 by @alexeagle in #246
  • feat(format): add SCSS and Less as CSS variants by @alexeagle in #248
  • feat: print better command to fix format check fails by @alexeagle in #249
  • chore(deps): example update to rules_js2 RC by @alexeagle in #250
  • fix(example): demonstrate use of type definitions in eslint aspect by @jgao54 in #174
  • docs(format): include API docs for each language/tool by @alexeagle in #251

New Contributors

Full Changelog: v0.21.0...v1.0.0-rc0

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