mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-02-25 17:21:24 -05:00
bazel: add gofumpt to tidy target
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
This commit is contained in:
parent
33fbac87fb
commit
88c2e14c64
@ -1,7 +1,7 @@
|
|||||||
load("@bazel_gazelle//:def.bzl", "gazelle")
|
load("@bazel_gazelle//:def.bzl", "gazelle")
|
||||||
load("@com_github_ash2k_bazel_tools//multirun:def.bzl", "multirun")
|
load("@com_github_ash2k_bazel_tools//multirun:def.bzl", "multirun")
|
||||||
load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier", "buildifier_test")
|
load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier", "buildifier_test")
|
||||||
load(":def.bzl", "sh_template")
|
load(":def.bzl", "repo_command", "sh_template")
|
||||||
|
|
||||||
gazelle(name = "gazelle_generate")
|
gazelle(name = "gazelle_generate")
|
||||||
|
|
||||||
@ -57,15 +57,26 @@ sh_template(
|
|||||||
"@go_sdk//:bin/go",
|
"@go_sdk//:bin/go",
|
||||||
],
|
],
|
||||||
substitutions = {
|
substitutions = {
|
||||||
"@@BASE_LIB@@": "$(location :base_lib)",
|
"@@BASE_LIB@@": "$(rootpath :base_lib)",
|
||||||
"@@GO@@": "$(location @go_sdk//:bin/go)",
|
"@@GO@@": "$(rootpath @go_sdk//:bin/go)",
|
||||||
},
|
},
|
||||||
template = "tidy.sh.in",
|
template = "tidy.sh.in",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
repo_command(
|
||||||
|
name = "gofumpt",
|
||||||
|
args = [
|
||||||
|
"-l",
|
||||||
|
"-w",
|
||||||
|
".",
|
||||||
|
],
|
||||||
|
command = "@cc_mvdan_gofumpt//:gofumpt",
|
||||||
|
)
|
||||||
|
|
||||||
multirun(
|
multirun(
|
||||||
name = "tidy",
|
name = "tidy",
|
||||||
commands = [
|
commands = [
|
||||||
|
":gofumpt",
|
||||||
":go_mod_tidy",
|
":go_mod_tidy",
|
||||||
":gazelle_update_repos",
|
":gazelle_update_repos",
|
||||||
":gazelle_generate",
|
":gazelle_generate",
|
||||||
|
@ -8,7 +8,6 @@ def _sh_template_impl(ctx):
|
|||||||
substitutions = {}
|
substitutions = {}
|
||||||
for k, v in ctx.attr.substitutions.items():
|
for k, v in ctx.attr.substitutions.items():
|
||||||
sub = ctx.expand_location(v, ctx.attr.data)
|
sub = ctx.expand_location(v, ctx.attr.data)
|
||||||
sub = shell.quote(sub)
|
|
||||||
substitutions[k] = sub
|
substitutions[k] = sub
|
||||||
|
|
||||||
ctx.actions.expand_template(
|
ctx.actions.expand_template(
|
||||||
@ -63,3 +62,31 @@ def sh_template(name, **kwargs):
|
|||||||
srcs = [script_name],
|
srcs = [script_name],
|
||||||
**kwargs
|
**kwargs
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def repo_command(name, **kwargs):
|
||||||
|
"""Build a sh_binary that executes a single command.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
name: name
|
||||||
|
**kwargs: **kwargs
|
||||||
|
"""
|
||||||
|
cmd = kwargs.pop("command")
|
||||||
|
args = shell.array_literal(kwargs.pop("args", []))
|
||||||
|
|
||||||
|
substitutions = {
|
||||||
|
"@@ARGS@@": args,
|
||||||
|
"@@BASE_LIB@@": "$(rootpath :base_lib)",
|
||||||
|
"@@CMD@@": "$(rootpath %s)" % cmd,
|
||||||
|
}
|
||||||
|
|
||||||
|
data = kwargs.pop("data", [])
|
||||||
|
data.append(":base_lib")
|
||||||
|
data.append(cmd)
|
||||||
|
|
||||||
|
sh_template(
|
||||||
|
name = name,
|
||||||
|
data = data,
|
||||||
|
substitutions = substitutions,
|
||||||
|
template = "repo_command.sh.in",
|
||||||
|
**kwargs
|
||||||
|
)
|
||||||
|
15
bazel/ci/repo_command.sh.in
Normal file
15
bazel/ci/repo_command.sh.in
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
lib=$(realpath @@BASE_LIB@@) || exit 1
|
||||||
|
cmd=$(realpath @@CMD@@) || exit 1
|
||||||
|
args=@@ARGS@@
|
||||||
|
|
||||||
|
# shellcheck source=lib.bash
|
||||||
|
if ! source "${lib}"; then
|
||||||
|
echo "Error: could not find import"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "${BUILD_WORKSPACE_DIRECTORY}" || exit 1
|
||||||
|
|
||||||
|
"${cmd}" "${args[@]}"
|
Loading…
x
Reference in New Issue
Block a user