Skip to content

Commit

Permalink
chore: bring in aspect_rules_lint and add format task to Aspect Workf…
Browse files Browse the repository at this point in the history
…lows
  • Loading branch information
gregmagolan committed Dec 7, 2023
1 parent 9911b46 commit 9a60af9
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .aspect/workflows/config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# See https://docs.aspect.build/v/workflows/config
---
tasks:
format:
soft_fail: false
buildifier:
test:
7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,10 @@ repos:
- hooks/license_header
- --comment-style
- /*| *| */
- repo: local
hooks:
- id: aspect_rules_lint
name: Format
language: system
entry: bazel run //:format
files: .*
5 changes: 5 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -137,3 +137,8 @@ buildifier(
lint_mode = "warn",
mode = "diff",
)

alias(
name = "format",
actual = "//tools:format",
)
18 changes: 18 additions & 0 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,13 @@ http_archive(
url = "https://github.com/aspect-build/rules_js/releases/download/v1.34.1/rules_js-v1.34.1.tar.gz",
)

http_archive(
name = "aspect_rules_lint",
sha256 = "604666ec7ffd4f5f2636001ae892a0fbc29c77401bb33dd10601504e3ba6e9a7",
strip_prefix = "rules_lint-0.6.1",
url = "https://github.com/aspect-build/rules_lint/releases/download/v0.6.1/rules_lint-v0.6.1.tar.gz",
)

http_archive(
name = "bazel_skylib",
sha256 = "66ffd9315665bfaafc96b52278f57c7e2dd09f5ede279ea6d39b2be471e7e3aa",
Expand Down Expand Up @@ -234,3 +241,14 @@ register_llvm_toolchains()
load("@buildifier_prebuilt//:defs.bzl", "buildifier_prebuilt_register_toolchains")

buildifier_prebuilt_register_toolchains()

# Use whichever formatter binaries you need:
load(
"@aspect_rules_lint//format:repositories.bzl",
"fetch_shfmt",
"fetch_terraform",
)

fetch_shfmt()

fetch_terraform()
36 changes: 36 additions & 0 deletions tools/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
"""BUILD definition for the formatter binary
This is in its own package because it has so many loading-time symbols,
we don't want to trigger eager fetches of these for builds that don't want to run format.
"""

load("@aspect_rules_lint//format:defs.bzl", "multi_formatter_binary")

package(default_visibility = ["//:__subpackages__"])

alias(
name = "shfmt",
actual = select({
"@bazel_tools//src/conditions:darwin_arm64": "@shfmt_darwin_aarch64//file:shfmt",
"@bazel_tools//src/conditions:darwin_x86_64": "@shfmt_darwin_x86_64//file:shfmt",
"@bazel_tools//src/conditions:linux_aarch64": "@shfmt_linux_aarch64//file:shfmt",
"@bazel_tools//src/conditions:linux_x86_64": "@shfmt_linux_x86_64//file:shfmt",
}),
)

alias(
name = "terraform",
actual = select({
"@bazel_tools//src/conditions:darwin_arm64": "@terraform_macos_aarch64//:terraform",
"@bazel_tools//src/conditions:darwin_x86_64": "@terraform_macos_x86_64//:terraform",
"@bazel_tools//src/conditions:linux": "@terraform_linux_x86_64//:terraform",
}),
)

multi_formatter_binary(
name = "format",
go = "@go_sdk//:bin/gofmt",
sh = ":shfmt",
starlark = "@buildifier_prebuilt//:buildifier",
terraform = ":terraform",
)

0 comments on commit 9a60af9

Please sign in to comment.