mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-01-27 07:47:02 -05:00
54878ddc56
* deps: update bazel (modules) * deps: tidy all modules * Copy private go_bin_for_host rule from `rules_go` to `/bazel/ci` --------- Signed-off-by: Daniel Weiße <dw@edgeless.systems> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: edgelessci <edgelessci@users.noreply.github.com> Co-authored-by: Daniel Weiße <dw@edgeless.systems>
30 lines
894 B
Python
30 lines
894 B
Python
"""
|
|
Go toolchain for the host platformS
|
|
Inspired by https://github.com/bazel-contrib/rules_go/blob/6e4fdcfeb1a333b54ab39ae3413d4ded46d8958d/go/private/rules/go_bin_for_host.bzl
|
|
"""
|
|
|
|
load("@local_config_platform//:constraints.bzl", "HOST_CONSTRAINTS")
|
|
|
|
GO_TOOLCHAIN = "@io_bazel_rules_go//go:toolchain"
|
|
|
|
def _ensure_target_cfg(ctx):
|
|
if "-exec" in ctx.bin_dir.path or "/host/" in ctx.bin_dir.path:
|
|
fail("exec not found")
|
|
|
|
def _go_bin_for_host_impl(ctx):
|
|
_ensure_target_cfg(ctx)
|
|
sdk = ctx.toolchains[GO_TOOLCHAIN].sdk
|
|
sdk_files = ctx.runfiles([sdk.go] + sdk.headers + sdk.libs + sdk.srcs + sdk.tools)
|
|
return [
|
|
DefaultInfo(
|
|
files = depset([sdk.go]),
|
|
runfiles = sdk_files,
|
|
),
|
|
]
|
|
|
|
go_bin_for_host = rule(
|
|
implementation = _go_bin_for_host_impl,
|
|
toolchains = [GO_TOOLCHAIN],
|
|
exec_compatible_with = HOST_CONSTRAINTS,
|
|
)
|