[shac] Make default clang-format tool parameter a function call.
In fuchsia.git, shac checks need access to the 'ctx' variable
in order to determine the location of the prebuilt tools.
This changes the default tool parameter from a string to
a lambda, so this check can be used in both environments.
Tested by pinning this change in fuchsia.git and running the tools.
Change-Id: I641616402d0cc8ae0aa161adc74bd36ceef1643c
Reviewed-on: https://fuchsia-review.googlesource.com/c/shac-project/checks-cpp/+/1040134
Reviewed-by: Darren Chan <chandarren@google.com>
diff --git a/checks/clang-format/clang_format.star b/checks/clang-format/clang_format.star
index 6f70332..c2d7837 100644
--- a/checks/clang-format/clang_format.star
+++ b/checks/clang-format/clang_format.star
@@ -4,7 +4,7 @@
def _clang_format(
ctx,
- tool = "clang-format",
+ tool_ctx = lambda ctx: "clang-format",
extra_args = [],
emit_level = "error",
emit_message = "File is not formatted.",
@@ -12,6 +12,7 @@
# For testing
file_filter = lambda x: True):
"""Formats C/C++ files using clang-format."""
+ tool = tool_ctx(ctx)
base_cmd = [tool]
diff --git a/register.star b/register.star
index 672d03d..0658943 100644
--- a/register.star
+++ b/register.star
@@ -7,8 +7,9 @@
def register_clang_format(**kwargs):
# Available arguments:
#
- # tool: Path to buildifier host-tool
- # Must exist in and be rlative to the local workspace.
+ # tool_ctx: Lambda function returning a path to clang-format host-tool
+ # Takes one parameter of type "ctx".
+ # Must exist in and be relative to the local workspace.
#
# extra_args: Additional arguments passed directly to buildifier.
# list of strings