1*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:macros.bzl", "gazelle") 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Workerpackage( 4*c8dee2aaSAndroid Build Coastguard Worker default_applicable_licenses = ["//:license"], 5*c8dee2aaSAndroid Build Coastguard Worker) 6*c8dee2aaSAndroid Build Coastguard Worker 7*c8dee2aaSAndroid Build Coastguard Workerlicenses(["notice"]) 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard Workergazelle( 10*c8dee2aaSAndroid Build Coastguard Worker name = "gazelle", 11*c8dee2aaSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 12*c8dee2aaSAndroid Build Coastguard Worker) 13*c8dee2aaSAndroid Build Coastguard Worker 14*c8dee2aaSAndroid Build Coastguard Workeralias( 15*c8dee2aaSAndroid Build Coastguard Worker name = "mockery", 16*c8dee2aaSAndroid Build Coastguard Worker actual = "@com_github_vektra_mockery_v2//:v2", 17*c8dee2aaSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 18*c8dee2aaSAndroid Build Coastguard Worker) 19*c8dee2aaSAndroid Build Coastguard Worker 20*c8dee2aaSAndroid Build Coastguard Worker# Non-predefined variables must be escaped with "$$" (e.g. "$$FOO"); see 21*c8dee2aaSAndroid Build Coastguard Worker# https://bazel.build/reference/be/make-variables#predefined_label_variables. 22*c8dee2aaSAndroid Build Coastguard Worker# 23*c8dee2aaSAndroid Build Coastguard Worker# Based on 24*c8dee2aaSAndroid Build Coastguard Worker# https://skia.googlesource.com/buildbot/+/c397c94283b79a792a76812cd43a6ac5d5282ddf/bazel/tools/errcheck/BUILD.bazel#1. 25*c8dee2aaSAndroid Build Coastguard Worker_ERRCHECK_SCRIPT = """ 26*c8dee2aaSAndroid Build Coastguard Worker# Add the "go" binary to PATH. 27*c8dee2aaSAndroid Build Coastguard WorkerGO_PATH=$$(realpath $$(dirname $(rootpath @go_sdk//:bin/go))) 28*c8dee2aaSAndroid Build Coastguard Workerexport PATH=$$GO_PATH:$$PATH 29*c8dee2aaSAndroid Build Coastguard Worker 30*c8dee2aaSAndroid Build Coastguard Worker# Path to the "errcheck" binary. 31*c8dee2aaSAndroid Build Coastguard WorkerERRCHECK=$$(realpath $(rootpath @com_github_kisielk_errcheck//:errcheck)) 32*c8dee2aaSAndroid Build Coastguard Worker 33*c8dee2aaSAndroid Build Coastguard Worker# Change into the directory where Bazel was invoked. 34*c8dee2aaSAndroid Build Coastguard Workercd $$BUILD_WORKING_DIRECTORY 35*c8dee2aaSAndroid Build Coastguard Worker 36*c8dee2aaSAndroid Build Coastguard Worker$$ERRCHECK $$@ 37*c8dee2aaSAndroid Build Coastguard Worker""" 38*c8dee2aaSAndroid Build Coastguard Worker 39*c8dee2aaSAndroid Build Coastguard Worker# Based on 40*c8dee2aaSAndroid Build Coastguard Worker# https://skia.googlesource.com/buildbot/+/c397c94283b79a792a76812cd43a6ac5d5282ddf/bazel/tools/errcheck/BUILD.bazel#17. 41*c8dee2aaSAndroid Build Coastguard Workergenrule( 42*c8dee2aaSAndroid Build Coastguard Worker name = "gen_errcheck", 43*c8dee2aaSAndroid Build Coastguard Worker outs = ["errcheck.sh"], 44*c8dee2aaSAndroid Build Coastguard Worker cmd = "echo '%s' > $@" % _ERRCHECK_SCRIPT, 45*c8dee2aaSAndroid Build Coastguard Worker tools = [ 46*c8dee2aaSAndroid Build Coastguard Worker "@com_github_kisielk_errcheck//:errcheck", 47*c8dee2aaSAndroid Build Coastguard Worker "@go_sdk//:bin/go", 48*c8dee2aaSAndroid Build Coastguard Worker ], 49*c8dee2aaSAndroid Build Coastguard Worker) 50*c8dee2aaSAndroid Build Coastguard Worker 51*c8dee2aaSAndroid Build Coastguard Worker# Wrapper script around the "errcheck" binary. 52*c8dee2aaSAndroid Build Coastguard Worker# 53*c8dee2aaSAndroid Build Coastguard Worker# Errcheck requires the "go" binary to be in PATH. This scripts adds the Bazel-downloaded "go" 54*c8dee2aaSAndroid Build Coastguard Worker# binary to PATH, then forwards all command-line arguments to the "errcheck" binary. 55*c8dee2aaSAndroid Build Coastguard Worker# 56*c8dee2aaSAndroid Build Coastguard Worker# Reference: https://bazel.build/reference/be/shell#sh_binary. 57*c8dee2aaSAndroid Build Coastguard Worker# 58*c8dee2aaSAndroid Build Coastguard Worker# Based on 59*c8dee2aaSAndroid Build Coastguard Worker# https://skia.googlesource.com/buildbot/+/c397c94283b79a792a76812cd43a6ac5d5282ddf/bazel/tools/errcheck/BUILD.bazel#27 60*c8dee2aaSAndroid Build Coastguard Workersh_binary( 61*c8dee2aaSAndroid Build Coastguard Worker name = "errcheck", 62*c8dee2aaSAndroid Build Coastguard Worker srcs = ["errcheck.sh"], 63*c8dee2aaSAndroid Build Coastguard Worker data = [ 64*c8dee2aaSAndroid Build Coastguard Worker "@com_github_kisielk_errcheck//:errcheck", 65*c8dee2aaSAndroid Build Coastguard Worker "@go_sdk//:bin/go", 66*c8dee2aaSAndroid Build Coastguard Worker ], 67*c8dee2aaSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 68*c8dee2aaSAndroid Build Coastguard Worker) 69