mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
The `.cargo/config.toml` override based workaround wasn't really working, as while `cargo build|check` was reading that, `cargo metadata` wasn't, ending up in a completely broken IDE experience. For the moment, we just use a unified workspace `Cargo.toml` for all extractors using the shared tree-sitter code, which has the downside of making bazel pull in dependencies for all of them, and not being able to do sparse checkouts for them. We should investigate and rivist this in the future.
197 lines
5.9 KiB
Python
197 lines
5.9 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.50.0")
|
|
bazel_dep(name = "rules_pkg", version = "1.0.1")
|
|
bazel_dep(name = "rules_nodejs", version = "6.2.0-codeql.1")
|
|
bazel_dep(name = "rules_python", version = "0.35.0")
|
|
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.3")
|
|
|
|
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")
|
|
|
|
# deps for ruby+rust, but shortened due to windows file paths
|
|
r = use_extension(
|
|
"@rules_rust//crate_universe:extension.bzl",
|
|
"crate",
|
|
isolate = True,
|
|
)
|
|
r.from_cargo(
|
|
name = "r",
|
|
cargo_lockfile = "//:Cargo.lock",
|
|
manifests = [
|
|
"//:Cargo.toml",
|
|
"//ruby/extractor:Cargo.toml",
|
|
"//rust/extractor:Cargo.toml",
|
|
"//shared/tree-sitter-extractor:Cargo.toml",
|
|
],
|
|
)
|
|
use_repo(r, tree_sitter_extractors_deps = "r")
|
|
|
|
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",
|
|
)
|