mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Go: introduce universal binaries on macOS
This commit is contained in:
@@ -13,7 +13,8 @@ local_path_override(
|
||||
|
||||
# see https://registry.bazel.build/ for a list of available packages
|
||||
|
||||
bazel_dep(name = "platforms", version = "0.0.8")
|
||||
bazel_dep(name = "apple_support", version = "1.15.1")
|
||||
bazel_dep(name = "platforms", version = "0.0.9")
|
||||
bazel_dep(name = "rules_go", version = "0.47.0")
|
||||
bazel_dep(name = "rules_pkg", version = "0.10.1")
|
||||
bazel_dep(name = "rules_nodejs", version = "6.0.3")
|
||||
|
||||
0
go/BUILD.bazel
Normal file
0
go/BUILD.bazel
Normal file
@@ -1,6 +1,7 @@
|
||||
load("@rules_go//go:def.bzl", "go_library")
|
||||
|
||||
# gazelle:prefix github.com/github/codeql-go/extractor
|
||||
# gazelle:map_kind go_binary codeql_go_binary //go:rules.bzl
|
||||
|
||||
go_library(
|
||||
name = "extractor",
|
||||
|
||||
5
go/extractor/cli/go-autobuilder/BUILD.bazel
generated
5
go/extractor/cli/go-autobuilder/BUILD.bazel
generated
@@ -1,4 +1,5 @@
|
||||
load("@rules_go//go:def.bzl", "go_binary", "go_library")
|
||||
load("@rules_go//go:def.bzl", "go_library")
|
||||
load("//go:rules.bzl", "codeql_go_binary")
|
||||
|
||||
go_library(
|
||||
name = "go-autobuilder_lib",
|
||||
@@ -15,7 +16,7 @@ go_library(
|
||||
],
|
||||
)
|
||||
|
||||
go_binary(
|
||||
codeql_go_binary(
|
||||
name = "go-autobuilder",
|
||||
embed = [":go-autobuilder_lib"],
|
||||
visibility = ["//visibility:public"],
|
||||
|
||||
5
go/extractor/cli/go-bootstrap/BUILD.bazel
generated
5
go/extractor/cli/go-bootstrap/BUILD.bazel
generated
@@ -1,4 +1,5 @@
|
||||
load("@rules_go//go:def.bzl", "go_binary", "go_library")
|
||||
load("@rules_go//go:def.bzl", "go_library")
|
||||
load("//go:rules.bzl", "codeql_go_binary")
|
||||
|
||||
go_library(
|
||||
name = "go-bootstrap_lib",
|
||||
@@ -7,7 +8,7 @@ go_library(
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
go_binary(
|
||||
codeql_go_binary(
|
||||
name = "go-bootstrap",
|
||||
embed = [":go-bootstrap_lib"],
|
||||
visibility = ["//visibility:public"],
|
||||
|
||||
5
go/extractor/cli/go-build-runner/BUILD.bazel
generated
5
go/extractor/cli/go-build-runner/BUILD.bazel
generated
@@ -1,4 +1,5 @@
|
||||
load("@rules_go//go:def.bzl", "go_binary", "go_library")
|
||||
load("@rules_go//go:def.bzl", "go_library")
|
||||
load("//go:rules.bzl", "codeql_go_binary")
|
||||
|
||||
go_library(
|
||||
name = "go-build-runner_lib",
|
||||
@@ -11,7 +12,7 @@ go_library(
|
||||
],
|
||||
)
|
||||
|
||||
go_binary(
|
||||
codeql_go_binary(
|
||||
name = "go-build-runner",
|
||||
embed = [":go-build-runner_lib"],
|
||||
visibility = ["//visibility:public"],
|
||||
|
||||
5
go/extractor/cli/go-extractor/BUILD.bazel
generated
5
go/extractor/cli/go-extractor/BUILD.bazel
generated
@@ -1,4 +1,5 @@
|
||||
load("@rules_go//go:def.bzl", "go_binary", "go_library")
|
||||
load("@rules_go//go:def.bzl", "go_library")
|
||||
load("//go:rules.bzl", "codeql_go_binary")
|
||||
|
||||
go_library(
|
||||
name = "go-extractor_lib",
|
||||
@@ -11,7 +12,7 @@ go_library(
|
||||
],
|
||||
)
|
||||
|
||||
go_binary(
|
||||
codeql_go_binary(
|
||||
name = "go-extractor",
|
||||
embed = [":go-extractor_lib"],
|
||||
visibility = ["//visibility:public"],
|
||||
|
||||
5
go/extractor/cli/go-gen-dbscheme/BUILD.bazel
generated
5
go/extractor/cli/go-gen-dbscheme/BUILD.bazel
generated
@@ -1,4 +1,5 @@
|
||||
load("@rules_go//go:def.bzl", "go_binary", "go_library")
|
||||
load("@rules_go//go:def.bzl", "go_library")
|
||||
load("//go:rules.bzl", "codeql_go_binary")
|
||||
|
||||
go_library(
|
||||
name = "go-gen-dbscheme_lib",
|
||||
@@ -8,7 +9,7 @@ go_library(
|
||||
deps = ["//go/extractor/dbscheme"],
|
||||
)
|
||||
|
||||
go_binary(
|
||||
codeql_go_binary(
|
||||
name = "go-gen-dbscheme",
|
||||
embed = [":go-gen-dbscheme_lib"],
|
||||
visibility = ["//visibility:public"],
|
||||
|
||||
5
go/extractor/cli/go-tokenizer/BUILD.bazel
generated
5
go/extractor/cli/go-tokenizer/BUILD.bazel
generated
@@ -1,4 +1,5 @@
|
||||
load("@rules_go//go:def.bzl", "go_binary", "go_library")
|
||||
load("@rules_go//go:def.bzl", "go_library")
|
||||
load("//go:rules.bzl", "codeql_go_binary")
|
||||
|
||||
go_library(
|
||||
name = "go-tokenizer_lib",
|
||||
@@ -7,7 +8,7 @@ go_library(
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
go_binary(
|
||||
codeql_go_binary(
|
||||
name = "go-tokenizer",
|
||||
embed = [":go-tokenizer_lib"],
|
||||
visibility = ["//visibility:public"],
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
load("@rules_go//go:def.bzl", "go_binary")
|
||||
load("//misc/bazel:universal_binary.bzl", "wrap_as_universal_binary")
|
||||
|
||||
def codeql_go_binary(**kwargs):
|
||||
wrap_as_universal_binary(go_binary, **kwargs)
|
||||
|
||||
24
misc/bazel/universal_binary.bzl
Normal file
24
misc/bazel/universal_binary.bzl
Normal file
@@ -0,0 +1,24 @@
|
||||
load("@apple_support//rules:universal_binary.bzl", _universal_binary = "universal_binary")
|
||||
|
||||
def wrap_as_universal_binary(rule, *, name, visibility = None, **kwargs):
|
||||
internal_name = "internal/%s" % name
|
||||
universal_name = "universal/%s" % name
|
||||
rule(
|
||||
name = internal_name,
|
||||
visibility = ["//visibility:private"],
|
||||
**kwargs
|
||||
)
|
||||
_universal_binary(
|
||||
name = universal_name,
|
||||
target_compatible_with = ["@platforms//os:macos"],
|
||||
binary = internal_name,
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
native.alias(
|
||||
name = name,
|
||||
actual = select({
|
||||
"@platforms//os:macos": universal_name,
|
||||
"//conditions:default": internal_name,
|
||||
}),
|
||||
visibility = visibility,
|
||||
)
|
||||
Reference in New Issue
Block a user