load("@bazel_gazelle//:def.bzl", "gazelle") load("@com_github_ash2k_bazel_tools//multirun:def.bzl", "multirun") load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier", "buildifier_test") load("//bazel/sh:def.bzl", "repo_command", "sh_template") gazelle(name = "gazelle_generate") gazelle( name = "gazelle_check", command = "fix", mode = "diff", ) gazelle( name = "gazelle_update_repos", args = [ "-from_file=go.work", "-to_macro=bazel/toolchains/go_module_deps.bzl%go_dependencies", "-build_file_proto_mode=disable_global", "-build_file_generation=on", "-prune", ], command = "update-repos", ) buildifier_test( name = "buildifier_check", timeout = "short", lint_mode = "warn", lint_warnings = ["all"], mode = "diff", no_sandbox = True, verbose = True, workspace = "//:WORKSPACE.bazel", ) buildifier( name = "buildifier_fix", lint_mode = "fix", lint_warnings = ["all"], mode = "fix", verbose = True, ) sh_template( name = "go_mod_tidy", data = [ "@go_sdk//:bin/go", ], substitutions = { "@@GO@@": "$(rootpath @go_sdk//:bin/go)", }, template = "tidy.sh.in", ) sh_template( name = "shfmt", data = [ "@com_github_katexochen_sh_v3//cmd/shfmt", ], substitutions = { "@@SHFMT@@": "$(rootpath @com_github_katexochen_sh_v3//cmd/shfmt)", }, template = "shfmt.sh.in", ) repo_command( name = "gofumpt", args = [ "-l", "-w", ".", ], command = "@cc_mvdan_gofumpt//:gofumpt", ) multirun( name = "tidy", commands = [ ":shfmt", ":gofumpt", ":go_mod_tidy", ":gazelle_update_repos", ":gazelle_generate", ":buildifier_fix", ], jobs = 1, # execute sequentially visibility = ["//visibility:public"], ) multirun( name = "check", testonly = True, commands = [ ":gazelle_check", ":buildifier_check", ], jobs = 0, visibility = ["//visibility:public"], )