| """Bazel Modules used by the Skia Infra repository.""" |
| |
| bazel_dep(name = "aspect_bazel_lib", version = "2.21.1") |
| bazel_dep(name = "aspect_rules_esbuild", version = "0.22.1") |
| bazel_dep(name = "aspect_rules_js", version = "2.5.0") |
| bazel_dep(name = "aspect_rules_ts", version = "3.7.0") |
| bazel_dep(name = "rules_browsers", version = "0.2.0") |
| bazel_dep(name = "rules_distroless", version = "0.6.1") |
| bazel_dep(name = "rules_nodejs", version = "6.5.0") |
| bazel_dep(name = "rules_pkg", version = "1.1.0") |
| bazel_dep(name = "rules_python", version = "0.31.0") |
| bazel_dep(name = "bazel_skylib", version = "1.8.2") |
| |
| http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") |
| |
| #################################################################################################### |
| # aspect_rules_ts setup |
| #################################################################################################### |
| |
| rules_ts_ext = use_extension( |
| "@aspect_rules_ts//ts:extensions.bzl", |
| "ext", |
| dev_dependency = True, |
| ) |
| rules_ts_ext.deps( |
| ts_version_from = "//:package.json", |
| ) |
| use_repo(rules_ts_ext, "npm_typescript") |
| |
| #################################################################################################### |
| # pnpm setup |
| #################################################################################################### |
| |
| node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node") |
| node.toolchain(node_version = "18.15.0") |
| use_repo(node, "nodejs_toolchains") |
| use_repo(node, "nodejs") |
| |
| pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm") |
| pnpm.pnpm( |
| name = "pnpm", |
| pnpm_version = "10.13.1", |
| ) |
| use_repo(pnpm, "pnpm") |
| |
| npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") |
| npm.npm_translate_lock( |
| name = "npm", |
| additional_file_contents = {}, |
| bins = {}, |
| custom_postinstalls = {}, |
| data = [ |
| "//:package.json", |
| ], |
| dev = False, |
| external_repository_action_cache = ".aspect/rules/external_repository_action_cache", |
| lifecycle_hooks = { |
| "*": [ |
| "preinstall", |
| "install", |
| "postinstall", |
| ], |
| }, |
| lifecycle_hooks_envs = {}, |
| lifecycle_hooks_execution_requirements = { |
| "*": [ |
| "no-sandbox", |
| ], |
| }, |
| no_optional = False, |
| npm_package_lock = "//:package-lock.json", |
| npm_package_target_name = "{dirname}", |
| npmrc = "//:.npmrc", |
| package_visibility = {}, |
| patch_args = { |
| "*": [ |
| "-p0", |
| ], |
| }, |
| patches = {}, |
| pnpm_lock = "//:pnpm-lock.yaml", |
| preupdate = [], |
| prod = False, |
| quiet = False, |
| update_pnpm_lock = True, |
| verify_node_modules_ignored = "//:.bazelignore", |
| ) |
| use_repo( |
| npm, |
| "npm", |
| ) |
| |
| #################################################################################################### |
| # rules_python setup |
| #################################################################################################### |
| |
| python = use_extension("@rules_python//python/extensions:python.bzl", "python") |
| python.toolchain( |
| configure_coverage_tool = True, |
| ignore_root_user_error = True, |
| python_version = "3.11", |
| ) |
| use_repo(python, "python_3_11") |
| |
| #################################################################################################### |
| # rules_distroless setup |
| #################################################################################################### |
| |
| apt = use_extension("@rules_distroless//apt:extensions.bzl", "apt") |
| |
| # These are sets of packages installed in various images. |
| apt.install( |
| name = "autoroll-be-apt-install", |
| lock = "//autoroll:autoroll-be.lock.json", |
| manifest = "//autoroll:autoroll-be.yaml", |
| ) |
| use_repo(apt, "autoroll-be-apt-install") |
| apt.install( |
| name = "task-scheduler-jc-apt-install", |
| lock = "//task_scheduler:task-scheduler-jc.lock.json", |
| manifest = "//task_scheduler:task-scheduler-jc.yaml", |
| ) |
| use_repo(apt, "task-scheduler-jc-apt-install") |
| |
| #################################################################################################### |
| # Bazelisk |
| #################################################################################################### |
| |
| # This is sort of a circular dependency, but some of our Docker images need a |
| # copy of Bazelisk to perform builds. It's convenient to define that here. |
| http_file( |
| name = "bazelisk", |
| downloaded_file_path = "bazelisk", |
| executable = True, |
| sha256 = "e1508323f347ad1465a887bc5d2bfb91cffc232d11e8e997b623227c6b32fb76", |
| url = "https://github.com/bazelbuild/bazelisk/releases/download/v1.27.0/bazelisk-linux-amd64", |
| ) |
| |
| #################################################################################################### |
| # bazel_skylib |
| #################################################################################################### |
| |
| # These are used for unit tests. |
| register_toolchains( |
| "@bazel_skylib//toolchains/unittest:cmd_toolchain", |
| ) |