blob: d38227cfed4ab527c2e5650caeb03398e3cc6dee [file]
load("@bazel_skylib//rules:write_file.bzl", "write_file")
load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_files")
load("@aspect_bazel_lib_host//:defs.bzl", "host")
load("//js:defs.bzl", "js_binary")
load(":js_library_test.bzl", "js_library_test_suite")
####################################################################################################
# Write a js_binary launcher to the source tree so it is shell checked on commit
write_file(
name = "shellcheck_js",
out = "shellcheck.js",
)
js_binary(
name = "shellcheck_launcher",
entry_point = "shellcheck.js",
)
# Make sed replacements for consistency on different platform
genrule(
name = "shell_launcher_sed",
srcs = [":shellcheck_launcher"],
outs = ["shellcheck_launcher_sed.sh"],
cmd = "cat $(execpath :shellcheck_launcher) | sed \"s#$(BINDIR)#bazel-out/k8-fastbuild/bin#\" | sed \"s#%s#linux_amd64#\" | sed \"s#\\\"%s\\\"#\\\"k8\\\"#\" > $@" % (
host.platform,
host.os,
),
)
write_source_files(
name = "write_shellcheck_launcher",
files = {
"shellcheck_launcher.sh": ":shell_launcher_sed",
},
)
js_library_test_suite(name = "js_library_test")