load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_cross_binary", "go_library") load("//bazel/sh:def.bzl", "sh_template") load("//hack/pseudo-version:platforms.bzl", "platforms") 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"], )