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.11") bazel_dep(name = "rules_go", version = "0.50.1") 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.40.0") bazel_dep(name = "rules_shell", version = "0.3.0") bazel_dep(name = "bazel_skylib", version = "1.7.1") bazel_dep(name = "abseil-cpp", version = "20240116.1", 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 = "2.1.3-codeql.1") bazel_dep(name = "gazelle", version = "0.40.0") bazel_dep(name = "rules_dotnet", version = "0.17.4") bazel_dep(name = "googletest", version = "1.14.0.bcr.1") bazel_dep(name = "rules_rust", version = "0.58.0") bazel_dep(name = "zstd", version = "1.5.5.bcr.1") bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True) # Keep edition and version approximately in sync with internal repo. # the versions there are canonical, the versions here are used for CI in github/codeql, as well as for the vendoring of dependencies. RUST_EDITION = "2024" # run buildutils-internal/scripts/fill-rust-sha256s.py when updating (internal repo) RUST_VERSION = "1.86.0" rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") rust.toolchain( edition = RUST_EDITION, # We need those extra target triples so that we can build universal binaries on macos extra_target_triples = [ "x86_64-apple-darwin", "aarch64-apple-darwin", ], # generated by buildutils-internal/scripts/fill-rust-sha256s.py (internal repo) sha256s = { "rustc-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "4438b809ce4a083af31ed17aeeedcc8fc60ccffc0625bef1926620751b6989d7", "rustc-1.86.0-x86_64-apple-darwin.tar.xz": "42b76253626febb7912541a30d3379f463dec89581aad4cb72c6c04fb5a71dc5", "rustc-1.86.0-aarch64-apple-darwin.tar.xz": "23b8f52102249a47ab5bc859d54c9a3cb588a3259ba3f00f557d50edeca4fde9", "rustc-1.86.0-x86_64-pc-windows-msvc.tar.xz": "fdde839fea274529a31e51eb85c6df1782cc8479c9d1bc24e2914d66a0de41ab", "clippy-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "02aaff2c1407d2da8dba19aa4970dd873e311902b120a66cbcdbe51eb8836edf", "clippy-1.86.0-x86_64-apple-darwin.tar.xz": "bb85efda7bbffaf124867f5ca36d50932b1e8f533c62ee923438afb32ff8fe9a", "clippy-1.86.0-aarch64-apple-darwin.tar.xz": "239fa3a604b124f0312f2af08537874a1227dba63385484b468cca62e7c4f2f2", "clippy-1.86.0-x86_64-pc-windows-msvc.tar.xz": "d00498f47d49219f032e2c5eeebdfc3d32317c0dc3d3fd7125327445bc482cb4", "cargo-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "c5c1590f7e9246ad9f4f97cfe26ffa92707b52a769726596a9ef81565ebd908b", "cargo-1.86.0-x86_64-apple-darwin.tar.xz": "af163eb02d1a178044d1b4f2375960efd47130f795f6e33d09e345454bb26f4e", "cargo-1.86.0-aarch64-apple-darwin.tar.xz": "3cb13873d48c3e1e4cc684d42c245226a11fba52af6b047c3346ed654e7a05c0", "cargo-1.86.0-x86_64-pc-windows-msvc.tar.xz": "e57a9d89619b5604899bac443e68927bdd371e40f2e03e18950b6ceb3eb67966", "llvm-tools-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "282145ab7a63c98b625856f44b905b4dc726b497246b824632a5790debe95a78", "llvm-tools-1.86.0-x86_64-apple-darwin.tar.xz": "b55706e92f7da989207c50c13c7add483a9fedd233bc431b106eca2a8f151ec9", "llvm-tools-1.86.0-aarch64-apple-darwin.tar.xz": "04d3618c686845853585f036e3211eb9e18f2d290f4610a7a78bdc1fcce1ebd9", "llvm-tools-1.86.0-x86_64-pc-windows-msvc.tar.xz": "721a17cc8dc219177e4277a3592253934ef08daa1e1b12eda669a67d15fad8dd", "rust-std-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "67be7184ea388d8ce0feaf7fdea46f1775cfc2970930264343b3089898501d37", "rust-std-1.86.0-x86_64-apple-darwin.tar.xz": "3b1140d54870a080080e84700143f4a342fbd02a410a319b05d9c02e7dcf44cc", "rust-std-1.86.0-aarch64-apple-darwin.tar.xz": "0fb121fb3b8fa9027d79ff598500a7e5cd086ddbc3557482ed3fdda00832c61b", "rust-std-1.86.0-x86_64-pc-windows-msvc.tar.xz": "3d5354b7b9cb950b58bff3fce18a652aa374bb30c8f70caebd3bd0b43cb41a33", }, versions = [RUST_VERSION], ) use_repo(rust, "rust_toolchains") register_toolchains("@rust_toolchains//:all") # deps for python extractor # keep in sync by running `misc/bazel/3rdparty/update_cargo_deps.sh` py_deps = use_extension("//misc/bazel/3rdparty:py_deps_extension.bzl", "p") use_repo( py_deps, "vendor_py__anyhow-1.0.95", "vendor_py__cc-1.2.14", "vendor_py__clap-4.5.30", "vendor_py__regex-1.11.1", "vendor_py__tree-sitter-0.20.4", "vendor_py__tree-sitter-graph-0.7.0", ) # deps for ruby+rust # keep in sync by running `misc/bazel/3rdparty/update_cargo_deps.sh` tree_sitter_extractors_deps = use_extension("//misc/bazel/3rdparty:tree_sitter_extractors_extension.bzl", "r") use_repo( tree_sitter_extractors_deps, "vendor_ts__anyhow-1.0.98", "vendor_ts__argfile-0.2.1", "vendor_ts__chalk-ir-0.103.0", "vendor_ts__chrono-0.4.41", "vendor_ts__clap-4.5.40", "vendor_ts__dunce-1.0.5", "vendor_ts__either-1.15.0", "vendor_ts__encoding-0.2.33", "vendor_ts__figment-0.10.19", "vendor_ts__flate2-1.1.0", "vendor_ts__glob-0.3.2", "vendor_ts__globset-0.4.15", "vendor_ts__itertools-0.14.0", "vendor_ts__lazy_static-1.5.0", "vendor_ts__mustache-0.9.0", "vendor_ts__num-traits-0.2.19", "vendor_ts__num_cpus-1.17.0", "vendor_ts__proc-macro2-1.0.95", "vendor_ts__quote-1.0.40", "vendor_ts__ra_ap_base_db-0.0.288", "vendor_ts__ra_ap_cfg-0.0.288", "vendor_ts__ra_ap_hir-0.0.288", "vendor_ts__ra_ap_hir_def-0.0.288", "vendor_ts__ra_ap_hir_expand-0.0.288", "vendor_ts__ra_ap_hir_ty-0.0.288", "vendor_ts__ra_ap_ide_db-0.0.288", "vendor_ts__ra_ap_intern-0.0.288", "vendor_ts__ra_ap_load-cargo-0.0.288", "vendor_ts__ra_ap_parser-0.0.288", "vendor_ts__ra_ap_paths-0.0.288", "vendor_ts__ra_ap_project_model-0.0.288", "vendor_ts__ra_ap_span-0.0.288", "vendor_ts__ra_ap_stdx-0.0.288", "vendor_ts__ra_ap_syntax-0.0.288", "vendor_ts__ra_ap_vfs-0.0.288", "vendor_ts__rand-0.9.1", "vendor_ts__rayon-1.10.0", "vendor_ts__regex-1.11.1", "vendor_ts__serde-1.0.219", "vendor_ts__serde_json-1.0.140", "vendor_ts__serde_with-3.13.0", "vendor_ts__syn-2.0.103", "vendor_ts__toml-0.8.23", "vendor_ts__tracing-0.1.41", "vendor_ts__tracing-flame-0.2.0", "vendor_ts__tracing-subscriber-0.3.19", "vendor_ts__tree-sitter-0.24.6", "vendor_ts__tree-sitter-embedded-template-0.23.2", "vendor_ts__tree-sitter-json-0.24.8", "vendor_ts__tree-sitter-ql-0.23.1", "vendor_ts__tree-sitter-ruby-0.23.1", "vendor_ts__triomphe-0.1.14", "vendor_ts__ungrammar-1.16.1", "vendor_ts__zstd-0.13.3", ) http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # rust-analyzer sources needed by the rust ast-generator (see `rust/ast-generator/README.md`) RUST_ANALYZER_SRC_TAG = "2025-01-07" http_archive( name = "rust-analyzer-src", build_file = "//rust/ast-generator:BUILD.rust-analyzer-src.bazel", integrity = "sha256-eo8mIaUafZL8LOM65bDIIIXw1rNQ/P/x5RK/XUtgo5g=", patch_args = ["-p1"], patches = [ "//rust/ast-generator:patches/rust-analyzer.patch", ], strip_prefix = "rust-analyzer-%s" % RUST_ANALYZER_SRC_TAG, url = "https://github.com/rust-lang/rust-analyzer/archive/refs/tags/%s.tar.gz" % RUST_ANALYZER_SRC_TAG, ) dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet") dotnet.toolchain(dotnet_version = "9.0.100") 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.12", 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-linux", "swift-prebuilt-linux-download-only", "swift-prebuilt-macos", "swift-prebuilt-macos-download-only", "swift-resource-dir-linux", "swift-resource-dir-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.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-2.1.0-Beta1", "kotlin-compiler-2.1.20-Beta1", "kotlin-compiler-2.2.0-Beta1", "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-compiler-embeddable-2.1.0-Beta1", "kotlin-compiler-embeddable-2.1.20-Beta1", "kotlin-compiler-embeddable-2.2.0-Beta1", "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", "kotlin-stdlib-2.1.0-Beta1", "kotlin-stdlib-2.1.20-Beta1", "kotlin-stdlib-2.2.0-Beta1", ) go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") go_sdk.download(version = "1.24.0") 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_archive = use_repo_rule("//misc/bazel:lfs.bzl", "lfs_archive") lfs_archive( name = "ripunzip-linux", src = "//misc/ripunzip:ripunzip-Linux.zip", build_file = "//misc/ripunzip:BUILD.ripunzip.bazel", ) lfs_archive( name = "ripunzip-windows", src = "//misc/ripunzip:ripunzip-Windows.zip", build_file = "//misc/ripunzip:BUILD.ripunzip.bazel", ) lfs_archive( name = "ripunzip-macos", src = "//misc/ripunzip:ripunzip-macOS.zip", build_file = "//misc/ripunzip:BUILD.ripunzip.bazel", ) register_toolchains( "@nodejs_toolchains//:all", )