Files
codeql/swift/BUILD.bazel
Chris Smowton a1ba584b20 Autoformat
2025-02-20 19:31:00 +00:00

133 lines
2.8 KiB
Python

load("@rules_pkg//pkg:mappings.bzl", "pkg_filegroup")
load(
"//misc/bazel:pkg.bzl",
"codeql_pack",
"codeql_pkg_files",
"codeql_pkg_runfiles",
)
load("//misc/bazel:utils.bzl", "select_os")
filegroup(
name = "schema",
srcs = ["schema.py"],
visibility = ["//swift:__subpackages__"],
)
filegroup(
name = "schema_includes",
srcs = glob(["*.dbscheme"]),
visibility = ["//swift:__subpackages__"],
)
filegroup(
name = "codegen_conf",
srcs = ["codegen.conf"],
visibility = ["//swift:__subpackages__"],
)
codeql_pkg_files(
name = "incompatible-os",
exes = ["//swift/tools/incompatible-os"],
renames = select_os(
otherwise = {},
windows = {
"//swift/tools/incompatible-os": "extractor.exe",
},
),
)
codeql_pkg_runfiles(
name = "autobuilder-files",
exes = ["//swift/swift-autobuilder"],
)
pkg_filegroup(
name = "autobuilder",
srcs = select_os(
macos = [
":autobuilder-files",
],
otherwise = [
":incompatible-os",
],
),
prefix = "tools/{CODEQL_PLATFORM}",
)
pkg_filegroup(
name = "tools",
srcs = ["//swift/tools"],
prefix = "tools",
)
pkg_filegroup(
name = "extractor",
srcs = select_os(
posix = [
"//swift/extractor:pkg",
],
),
prefix = "tools/{CODEQL_PLATFORM}",
)
pkg_filegroup(
name = "incompatible-linux-extractor",
srcs = ["//swift/extractor:incompatible"],
prefix = "tools/{CODEQL_PLATFORM}",
target_compatible_with = ["@platforms//os:linux"],
)
codeql_pkg_files(
name = "root-files",
srcs = [
"codeql-extractor.yml",
"ql/lib/swift.dbscheme.stats",
"//:LICENSE",
"//swift/extractor/trap:generated_dbscheme",
],
)
zip_map = {
"//swift/third_party/resources:dir": "resource-dir/{CODEQL_PLATFORM}",
}
[
codeql_pack(
name = "swift-linux-included" if linux_included else "swift",
srcs = [
":autobuilder",
":root-files",
":tools",
"//swift/downgrades",
] + select_os(
linux = [":extractor"] if linux_included else [":incompatible-linux-extractor"],
macos = [":extractor"],
windows = [],
),
installer_alias = "install-linux" if linux_included else "install-other",
pack_prefix = "swift",
zips = select_os(
linux = zip_map if linux_included else {},
macos = zip_map,
windows = {},
),
)
for linux_included in [
True,
False,
]
]
alias(
name = "create-extractor-pack",
actual = ":install",
)
alias(
name = "install",
actual = select_os(
linux = ":install-linux",
otherwise = ":install-other",
),
)