load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_cross_binary", "go_library") load("//bazel/sh:def.bzl", "sh_template") platforms = [ "darwin_amd64", "darwin_arm64", "linux_amd64", "linux_arm64", ] go_library( name = "pseudo-version_lib", srcs = ["pseudo-version.go"], importpath = "github.com/edgelesssys/constellation/v2/hack/pseudo-version", visibility = ["//visibility:private"], deps = [ "//hack/pseudo-version/internal/git", "//internal/logger", "@org_golang_x_mod//module", "@org_uber_go_zap//:zap", "@org_uber_go_zap//zapcore", ], ) go_binary( name = "pseudo-version", embed = [":pseudo-version_lib"], # keep pure = "on", visibility = ["//visibility:public"], ) [ go_cross_binary( name = "pseudo_version_%s" % platform, platform = "@io_bazel_rules_go//go/toolchain:" + platform, target = ":pseudo-version", visibility = ["//visibility:public"], ) for platform in platforms ] sh_template( name = "pseudo_version_tool_freshness", data = [ ":pseudo_version_" + platform for platform in platforms ], substitutions = { "@@PSEUDO_VERSION_%s@@" % platform: "$(rootpath :pseudo_version_%s)" % platform for platform in platforms }, template = "pseudo_version_tool_freshness.sh.in", visibility = ["//visibility:public"], )