mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
This should allow us to build our python and ruby code independently - in particular, we can now do shallow checkouts of one without the other. Previously, the modext introduced cross-dependency. This also reduces the amount of work we do in the crate universe processing for the other language, even though it's unused. This does need renaming the module, as otherwise the generated paths from rules_rust get too long for Windows :(
195 lines
5.8 KiB
Python
195 lines
5.8 KiB
Python
module(
|
|
name = "ql",
|
|
version = "0.0",
|
|
repo_name = "codeql",
|
|
)
|
|
|
|
# this points to our internal repository when `codeql` is checked out as a submodule thereof
|
|
# when building things from `codeql` independently this is stubbed out in `.bazelrc`
|
|
bazel_dep(name = "semmle_code", version = "0.0")
|
|
local_path_override(
|
|
module_name = "semmle_code",
|
|
path = "..",
|
|
)
|
|
|
|
# see https://registry.bazel.build/ for a list of available packages
|
|
|
|
bazel_dep(name = "platforms", version = "0.0.10")
|
|
bazel_dep(name = "rules_go", version = "0.49.0")
|
|
bazel_dep(name = "rules_pkg", version = "0.10.1")
|
|
bazel_dep(name = "rules_nodejs", version = "6.2.0-codeql.1")
|
|
bazel_dep(name = "rules_python", version = "0.32.2")
|
|
bazel_dep(name = "bazel_skylib", version = "1.6.1")
|
|
bazel_dep(name = "abseil-cpp", version = "20240116.0", repo_name = "absl")
|
|
bazel_dep(name = "nlohmann_json", version = "3.11.3", repo_name = "json")
|
|
bazel_dep(name = "fmt", version = "10.0.0")
|
|
bazel_dep(name = "rules_kotlin", version = "1.9.4-codeql.1")
|
|
bazel_dep(name = "gazelle", version = "0.38.0")
|
|
bazel_dep(name = "rules_dotnet", version = "0.15.1")
|
|
bazel_dep(name = "googletest", version = "1.14.0.bcr.1")
|
|
bazel_dep(name = "rules_rust", version = "0.49.1")
|
|
|
|
bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True)
|
|
|
|
# crate_py but shortened due to Windows file path considerations
|
|
cp = use_extension(
|
|
"@rules_rust//crate_universe:extension.bzl",
|
|
"crate",
|
|
isolate = True,
|
|
)
|
|
cp.from_cargo(
|
|
name = "py_deps",
|
|
cargo_lockfile = "//python/extractor/tsg-python:Cargo.lock",
|
|
manifests = [
|
|
"//python/extractor/tsg-python:Cargo.toml",
|
|
"//python/extractor/tsg-python/tsp:Cargo.toml",
|
|
],
|
|
)
|
|
use_repo(cp, "py_deps")
|
|
|
|
# crate_ruby, but shortened due to windows file paths
|
|
r = use_extension(
|
|
"@rules_rust//crate_universe:extension.bzl",
|
|
"crate",
|
|
isolate = True,
|
|
)
|
|
r.from_cargo(
|
|
name = "rd",
|
|
cargo_lockfile = "//ruby/extractor:Cargo.lock",
|
|
manifests = [
|
|
"//ruby/extractor:Cargo.toml",
|
|
"//ruby/extractor/codeql-extractor-fake-crate:Cargo.toml",
|
|
],
|
|
)
|
|
use_repo(r, "rd")
|
|
|
|
dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet")
|
|
dotnet.toolchain(dotnet_version = "8.0.101")
|
|
use_repo(dotnet, "dotnet_toolchains")
|
|
|
|
register_toolchains("@dotnet_toolchains//:all")
|
|
|
|
csharp_main_extension = use_extension("//csharp:paket.main_extension.bzl", "main_extension")
|
|
use_repo(csharp_main_extension, "paket.main")
|
|
|
|
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
|
|
pip.parse(
|
|
hub_name = "codegen_deps",
|
|
python_version = "3.11",
|
|
requirements_lock = "//misc/codegen:requirements_lock.txt",
|
|
)
|
|
use_repo(pip, "codegen_deps")
|
|
|
|
swift_deps = use_extension("//swift/third_party:load.bzl", "swift_deps")
|
|
|
|
# following list can be kept in sync with `bazel mod tidy`
|
|
use_repo(
|
|
swift_deps,
|
|
"binlog",
|
|
"picosha2",
|
|
"swift_prebuilt_darwin_x86_64",
|
|
"swift_prebuilt_linux",
|
|
"swift_toolchain_linux",
|
|
"swift_toolchain_macos",
|
|
)
|
|
|
|
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
|
|
node.toolchain(
|
|
name = "nodejs",
|
|
node_urls = [
|
|
"https://nodejs.org/dist/v{version}/{filename}",
|
|
"https://mirrors.dotsrc.org/nodejs/release/v{version}/{filename}",
|
|
],
|
|
node_version = "18.15.0",
|
|
)
|
|
use_repo(node, "nodejs", "nodejs_toolchains")
|
|
|
|
kotlin_extractor_deps = use_extension("//java/kotlin-extractor:deps.bzl", "kotlin_extractor_deps")
|
|
|
|
# following list can be kept in sync by running `bazel mod tidy` in `codeql`
|
|
use_repo(
|
|
kotlin_extractor_deps,
|
|
"codeql_kotlin_defaults",
|
|
"codeql_kotlin_embeddable",
|
|
"kotlin-compiler-1.5.0",
|
|
"kotlin-compiler-1.5.10",
|
|
"kotlin-compiler-1.5.20",
|
|
"kotlin-compiler-1.5.30",
|
|
"kotlin-compiler-1.6.0",
|
|
"kotlin-compiler-1.6.20",
|
|
"kotlin-compiler-1.7.0",
|
|
"kotlin-compiler-1.7.20",
|
|
"kotlin-compiler-1.8.0",
|
|
"kotlin-compiler-1.9.0-Beta",
|
|
"kotlin-compiler-1.9.20-Beta",
|
|
"kotlin-compiler-2.0.0-RC1",
|
|
"kotlin-compiler-2.0.20-Beta2",
|
|
"kotlin-compiler-embeddable-1.5.0",
|
|
"kotlin-compiler-embeddable-1.5.10",
|
|
"kotlin-compiler-embeddable-1.5.20",
|
|
"kotlin-compiler-embeddable-1.5.30",
|
|
"kotlin-compiler-embeddable-1.6.0",
|
|
"kotlin-compiler-embeddable-1.6.20",
|
|
"kotlin-compiler-embeddable-1.7.0",
|
|
"kotlin-compiler-embeddable-1.7.20",
|
|
"kotlin-compiler-embeddable-1.8.0",
|
|
"kotlin-compiler-embeddable-1.9.0-Beta",
|
|
"kotlin-compiler-embeddable-1.9.20-Beta",
|
|
"kotlin-compiler-embeddable-2.0.0-RC1",
|
|
"kotlin-compiler-embeddable-2.0.20-Beta2",
|
|
"kotlin-stdlib-1.5.0",
|
|
"kotlin-stdlib-1.5.10",
|
|
"kotlin-stdlib-1.5.20",
|
|
"kotlin-stdlib-1.5.30",
|
|
"kotlin-stdlib-1.6.0",
|
|
"kotlin-stdlib-1.6.20",
|
|
"kotlin-stdlib-1.7.0",
|
|
"kotlin-stdlib-1.7.20",
|
|
"kotlin-stdlib-1.8.0",
|
|
"kotlin-stdlib-1.9.0-Beta",
|
|
"kotlin-stdlib-1.9.20-Beta",
|
|
"kotlin-stdlib-2.0.0-RC1",
|
|
"kotlin-stdlib-2.0.20-Beta2",
|
|
)
|
|
|
|
go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk")
|
|
go_sdk.download(version = "1.22.2")
|
|
|
|
go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps")
|
|
go_deps.from_file(go_mod = "//go/extractor:go.mod")
|
|
use_repo(go_deps, "org_golang_x_mod", "org_golang_x_tools")
|
|
|
|
lfs_files = use_repo_rule("//misc/bazel:lfs.bzl", "lfs_files")
|
|
|
|
lfs_files(
|
|
name = "ripunzip-linux",
|
|
srcs = ["//misc/ripunzip:ripunzip-linux"],
|
|
executable = True,
|
|
)
|
|
|
|
lfs_files(
|
|
name = "ripunzip-windows",
|
|
srcs = ["//misc/ripunzip:ripunzip-windows.exe"],
|
|
executable = True,
|
|
)
|
|
|
|
lfs_files(
|
|
name = "ripunzip-macos",
|
|
srcs = ["//misc/ripunzip:ripunzip-macos"],
|
|
executable = True,
|
|
)
|
|
|
|
lfs_files(
|
|
name = "swift-resource-dir-linux",
|
|
srcs = ["//swift/third_party/resource-dir:resource-dir-linux.zip"],
|
|
)
|
|
|
|
lfs_files(
|
|
name = "swift-resource-dir-macos",
|
|
srcs = ["//swift/third_party/resource-dir:resource-dir-macos.zip"],
|
|
)
|
|
|
|
register_toolchains(
|
|
"@nodejs_toolchains//:all",
|
|
)
|