mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-26 16:09:45 -05:00
eb11e9ac8a
Required for bootstrapping bazel stamping since we cannot use "bazel build" during the workspace_status command. Adds a small script that builds the pseudo-version tool in bazel (without stamping) and uploads it to the mirror. On the first bazel build with stamping, the pseudo-version tool is downloaded.
56 lines
1.4 KiB
Python
56 lines
1.4 KiB
Python
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"],
|
|
)
|