blob: 72a6953ddd24821e6b6b54a024ef4d2eec7a6373 [file] [edit]
module(name = "selenium")
bazel_dep(name = "apple_rules_lint", version = "0.4.0")
bazel_dep(name = "aspect_bazel_lib", version = "2.22.5")
bazel_dep(name = "aspect_rules_esbuild", version = "0.26.0")
bazel_dep(name = "aspect_rules_jest", version = "0.25.2")
bazel_dep(name = "aspect_rules_js", version = "3.1.2")
bazel_dep(name = "aspect_rules_ts", version = "3.8.9")
bazel_dep(name = "bazel_features", version = "1.50.0")
bazel_dep(name = "bazel_skylib", version = "1.9.0")
bazel_dep(name = "buildifier_prebuilt", version = "8.5.1.2")
bazel_dep(name = "contrib_rules_jvm", version = "0.33.0")
bazel_dep(name = "llvm", version = "0.8.18")
bazel_dep(name = "package_metadata", version = "0.0.10")
bazel_dep(name = "platforms", version = "1.1.0")
# If you update this, also update the prebuilt version of `protoc` we use below
bazel_dep(name = "protobuf", version = "33.5")
bazel_dep(name = "rules_cc", version = "0.2.22", dev_dependency = True)
# rules_rs pulls protobuf for optional prost support. Keep Selenium on the
# explicitly pinned protobuf version above so it stays paired with prebuilt protoc.
single_version_override(
module_name = "protobuf",
version = "33.5",
)
bazel_dep(name = "rules_closure", version = "0.16.0")
bazel_dep(name = "rules_dotnet", version = "0.21.5")
# See below for actual version used
bazel_dep(name = "rules_java", version = "9.6.1")
bazel_dep(name = "rules_jvm_external", version = "7.0")
bazel_dep(name = "rules_multitool", version = "1.11.1")
bazel_dep(name = "rules_nodejs", version = "6.7.4")
bazel_dep(name = "rules_oci", version = "2.3.0")
bazel_dep(name = "rules_pkg", version = "1.2.0")
bazel_dep(name = "rules_python", version = "1.9.0")
bazel_dep(name = "rules_proto", version = "7.1.0")
bazel_dep(name = "rules_ruby", version = "0.28.0")
bazel_dep(name = "rules_rs", version = "0.0.108")
single_version_override(
module_name = "rules_jvm_external",
patch_strip = 1,
patches = [
"//third_party/bazel:rules_jvm_external_javadoc.patch",
"//third_party/bazel:rules_jvm_external_maven_publisher.patch",
],
)
# aspect_rules_jest 0.25.2 does not declare bazel_lib 3.x as a dep
# (aspect_bazel_lib → bazel_lib rename)
single_version_override(
module_name = "aspect_rules_jest",
patch_strip = 1,
patches = [
"//third_party/bazel:aspect_rules_jest_bazel_lib.patch",
],
)
# Patch support for bazel-contrib/rules_ruby#393 remove in next rules_ruby release
single_version_override(
module_name = "rules_ruby",
patch_strip = 1,
patches = [
"//third_party/bazel:rules_ruby_windows_batch_crlf.patch",
],
)
multitool = use_extension("@rules_multitool//multitool:extension.bzl", "multitool")
multitool.hub(lockfile = "//:multitool.lock.json")
use_repo(multitool, "multitool")
linter = use_extension("@apple_rules_lint//lint:extensions.bzl", "linter")
linter.configure(
name = "java-spotbugs",
config = "//java:spotbugs-config",
)
linter.configure(
name = "rust-rustfmt",
config = "//rust:enable-rustfmt",
)
linter.register(name = "rust-rustfmt")
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
node.toolchain(node_version_from_nvmrc = "//:.nvmrc")
pnpm = use_extension(
"@aspect_rules_js//npm:extensions.bzl",
"pnpm",
dev_dependency = True,
)
use_repo(pnpm, "pnpm")
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
name = "npm",
data = [
"@//:package.json",
"@//:pnpm-workspace.yaml",
"@//javascript/grid-ui:package.json",
"@//javascript/private:package.json",
"@//javascript/selenium-webdriver:package.json",
],
generate_bzl_library_targets = True,
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
use_repo(npm, "npm")
rules_ts_ext = use_extension(
"@aspect_rules_ts//ts:extensions.bzl",
"ext",
dev_dependency = True,
)
rules_ts_ext.deps(
ts_version = "5.8.3",
)
use_repo(rules_ts_ext, "npm_typescript")
esbuild = use_extension("@aspect_rules_esbuild//esbuild:extensions.bzl", "esbuild")
esbuild.toolchain(esbuild_version = "0.23.0")
use_repo(esbuild, "esbuild_toolchains")
register_toolchains("@esbuild_toolchains//:all")
dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet")
dotnet.toolchain(dotnet_version = "10.0.100")
use_repo(dotnet, "dotnet_toolchains")
selenium_paket = use_extension("//dotnet:paket.nuget_extension.bzl", "nuget_extension")
use_repo(selenium_paket, "nuget.nunit3testadapter.v6.2.0", "paket.nuget")
docfx_ext = use_extension("//dotnet/private:docfx_repo.bzl", "docfx_extension")
use_repo(docfx_ext, "docfx")
register_toolchains("@dotnet_toolchains//:all")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
is_default = True,
python_version = "3.10.19",
)
python.toolchain(python_version = "3.11.14")
python.toolchain(python_version = "3.12.12")
python.toolchain(python_version = "3.13.11")
python.toolchain(python_version = "3.14.2")
use_repo(python, "pythons_hub")
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
[
pip.parse(
hub_name = "py_dev_requirements",
python_version = version,
requirements_lock = "//py:requirements_lock.txt",
)
for version in [
"3.10.19",
"3.11.14",
"3.12.12",
"3.13.11",
"3.14.2",
]
]
use_repo(pip, "py_dev_requirements")
register_toolchains("@pythons_hub//:all")
java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolchains")
use_repo(
java_toolchains,
"remote_java_tools",
"remote_java_tools_darwin_arm64",
"remote_java_tools_darwin_x86_64",
"remote_java_tools_linux",
"remote_java_tools_windows",
)
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
name = "maven",
artifacts = [
"com.beust:jcommander:1.82",
"org.checkerframework:checker-qual:4.2.3",
"com.github.javaparser:javaparser-core:3.28.2",
"com.github.spotbugs:spotbugs:4.10.4",
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
"com.google.code.findbugs:jsr305:3.0.2",
"com.google.code.gson:gson:2.14.0",
"com.google.guava:guava:33.7.1-jre",
"com.github.ben-manes.caffeine:caffeine:3.2.4",
"com.google.auto:auto-common:1.2.2",
"com.google.auto.service:auto-service:1.1.1",
"com.google.auto.service:auto-service-annotations:1.1.1",
"com.google.googlejavaformat:google-java-format:1.36.1",
"com.google.protobuf:protobuf-java:4.36.1",
"com.google.protobuf.nano:protobuf-javanano:3.1.0",
"com.graphql-java:graphql-java:26.1",
"com.uber.nullaway:nullaway:0.14.1",
"dev.failsafe:failsafe:3.3.2",
"io.grpc:grpc-context:1.84.0",
"io.fabric8:kubernetes-client:7.9.0",
"io.fabric8:kubernetes-client-api:7.9.0",
"io.fabric8:kubernetes-model-batch:7.9.0",
"io.fabric8:kubernetes-model-core:7.9.0",
"io.lettuce:lettuce-core:7.7.0.RELEASE",
"io.netty:netty-buffer",
"io.netty:netty-codec-http",
"io.netty:netty-codec-http2",
"io.netty:netty-common",
"io.netty:netty-handler",
"io.netty:netty-handler-proxy",
"io.netty:netty-transport",
"io.opentelemetry:opentelemetry-api",
"io.opentelemetry:opentelemetry-context",
"io.opentelemetry:opentelemetry-exporter-logging",
"io.opentelemetry:opentelemetry-sdk",
"io.opentelemetry:opentelemetry-sdk-common",
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure",
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi",
"io.opentelemetry:opentelemetry-sdk-testing",
"io.opentelemetry:opentelemetry-sdk-trace",
"org.testcontainers:testcontainers:2.0.5",
"javax.inject:javax.inject:1",
"net.bytebuddy:byte-buddy:1.18.13",
"org.htmlunit:htmlunit-core-js:5.5.0",
"org.apache.logging.log4j:log4j-core:2.26.1",
"org.assertj:assertj-core:3.27.7",
"org.bouncycastle:bcpkix-jdk18on:1.85",
"org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5",
"org.hsqldb:hsqldb:2.7.4",
"org.jboss.marshalling:jboss-marshalling:2.3.0",
"org.jspecify:jspecify:1.0.1",
"org.junit.jupiter:junit-jupiter-api",
"org.junit.jupiter:junit-jupiter-engine",
"org.junit.jupiter:junit-jupiter-params",
"org.junit.platform:junit-platform-launcher",
"org.junit.platform:junit-platform-reporting",
"org.junit.platform:junit-platform-commons",
"org.junit.platform:junit-platform-engine",
"org.mockito:mockito-core:5.23.0",
"org.redisson:redisson:4.7.0",
"org.slf4j:slf4j-api:2.0.19",
"org.slf4j:slf4j-jdk14:2.0.19",
"org.tomlj:tomlj:1.1.1",
"org.zeromq:jeromq:0.6.0",
"uk.org.webcompere:system-stubs-jupiter:2.1.8",
"uk.org.webcompere:system-stubs-core:2.1.8",
],
boms = [
"io.opentelemetry:opentelemetry-bom:1.65.0",
"io.netty:netty-bom:4.2.17.Final",
"org.junit:junit-bom:6.1.3",
],
excluded_artifacts = [
"org.hamcrest:hamcrest-all", # Replaced by hamcrest 2
"org.hamcrest:hamcrest-core",
"io.netty:netty-all", # Depend on the actual things you need
],
fail_if_repin_required = True,
fail_on_missing_checksum = True,
fetch_sources = True,
known_contributing_modules = [
"protobuf",
"rules_closure",
"rules_web_testing_java",
"selenium",
],
lock_file = "//java:maven_install.json",
repositories = [
"https://repo1.maven.org/maven2",
],
resolver = "maven",
strict_visibility = True,
)
use_repo(maven, "maven", "unpinned_maven")
ruby = use_extension("@rules_ruby//ruby:extensions.bzl", "ruby")
ruby.toolchain(
name = "ruby",
msys2_packages = [
"curl",
"libyaml",
],
portable_ruby = True,
version_file = "//:rb/.ruby-version",
)
ruby.bundle_fetch(
name = "bundle",
srcs = [
"//:rb/lib/selenium/devtools/version.rb",
"//:rb/lib/selenium/webdriver/version.rb",
"//:rb/selenium-devtools.gemspec",
"//:rb/selenium-webdriver.gemspec",
],
gem_checksums = {
"addressable-2.9.0": "7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af",
"ast-2.4.3": "954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383",
"base64-0.3.0": "27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b",
"bigdecimal-4.1.2": "53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd",
"bigdecimal-4.1.2-java": "ccc836eab720a525529f70ed0de26a206fdbc9a9e8ac67b3b4ac7318b03e114d",
"concurrent-ruby-1.3.8": "b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1",
"crack-1.0.1": "ff4a10390cd31d66440b7524eb1841874db86201d5b70032028553130b6d4c7e",
"csv-3.3.6": "aba61e7e507a66f03d45cb1f3c4b6359861c3504038b422962875dce099e4456",
"debug-1.11.1": "2e0b0ac6119f2207a6f8ac7d4a73ca8eb4e440f64da0a3136c30343146e952b6",
"diff-lcs-1.6.2": "9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962",
"erb-6.0.7": "c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92",
"erb-6.0.7-java": "ef8339f928aa33be9205534be19e9c0daf310c4cc4eb85fd409141c094c57d61",
"ffi-1.17.4": "bcd1642e06f0d16fc9e09ac6d49c3a7298b9789bcb58127302f934e437d60acf",
"ffi-1.17.4-java": "449281c799727413eb367e396a838328e767a41fd76a14ae2dfbee0c37f0a279",
"fileutils-1.8.0": "8c6b1df54e2540bdb2f39258f08af78853aa70bad52b4d394bbc6424593c6e02",
"git-1.19.1": "b0a422d9f6517353c48a330d6114de4db9e0c82dbe7202964a1d9f1fbc827d70",
"hashdiff-1.2.1": "9c079dbc513dfc8833ab59c0c2d8f230fa28499cc5efb4b8dd276cf931457cd1",
"io-console-0.9.2": "efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08",
"io-console-0.9.2-java": "929c09163ad227cda17f5dc57861b995dbecf69c7ca2ce7b0c5f941f1f3da7d3",
"irb-1.18.0": "de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3",
"jar-dependencies-0.6.0-java": "9f40c13696b7590d890c119c37860ab1ce87ecaa66f4edfa4ca06a443a30d82c",
"json-3.0.0": "1ff82a28c05c5cc7b646f3e3a3ac710e4ae2aa933690cba12f1f650b0ecdeb99",
"json-3.0.0-java": "6e08c7614cdf00547e174342af74ba517ee1e40d1b7546682dc47e305bb37f72",
"language_server-protocol-3.17.0.6": "5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0",
"lint_roller-1.1.0": "2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87",
"listen-3.10.0": "c6e182db62143aeccc2e1960033bebe7445309c7272061979bb098d03760c9d2",
"logger-1.7.0": "196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203",
"parallel-2.2.0": "e1059c5fd7b649558a0aec38a769f06a42942bdb40503d005a59c352fe011cd8",
"parser-3.3.12.0": "21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828",
"pp-0.6.4": "dfcb0fce700c41456265922884f9fe195d7fbb0674a3578e6c0f69588e82b570",
"prettyprint-0.2.0": "2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193",
"prism-1.9.0": "7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85",
"public_suffix-7.0.5": "1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623",
"racc-1.8.1": "4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f",
"racc-1.8.1-java": "54f2e6d1e1b91c154013277d986f52a90e5ececbe91465d29172e49342732b98",
"rack-2.2.24": "ef16526a0d871c43753452338c754040a664c8b41bf0dd7450b85f7772adca5f",
"rainbow-3.1.1": "039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a",
"rake-13.4.2": "cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701",
"rb-fsevent-0.11.2": "43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe",
"rb-inotify-0.11.1": "a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e",
"rbs-4.2.0": "51f7b886dcc05bc09e10b901daa6a81829f6adc03101d6ca9ea4aac6103e0674",
"rbs-4.2.0-java": "a19282d89c307dd6d33c6a72cc60f75b10d6d35a5996796e864789c903cddb3c",
"rchardet-1.10.2": "e041cb195f464dc10e49ab130f78c8b5956cd9a4f4f6df84e0c183b87c135f33",
"rdoc-8.0.0": "03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469",
"regexp_parser-2.12.0": "35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb",
"reline-0.7.0": "5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d",
"rexml-3.4.4": "19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142",
"rspec-3.13.2": "206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587",
"rspec-core-3.13.6": "a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d",
"rspec-expectations-3.13.5": "33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836",
"rspec-mocks-3.13.8": "086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47",
"rspec-support-3.13.7": "0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c",
"rubocop-1.90.0": "9eb4c065b5c5154e4ef554c547972f3905a9eb6b53e657e580b6796b54bf8242",
"rubocop-ast-1.50.0": "b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db",
"rubocop-performance-1.27.0": "eeeb1374d062a368ee1c787b70eb0b0cc4b184cb1f8565f424760946146d61ce",
"rubocop-rake-0.7.1": "3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d",
"rubocop-rspec-3.10.2": "0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2",
"ruby-progressbar-1.13.0": "80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33",
"rubyzip-3.6.0": "268994d44d62282d1cfd99bf10eae48d7267199158ad7ea3e1fee2da9458b695",
"securerandom-0.4.1": "cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1",
"steep-2.1.0": "1daf53573283b0e6d404a7273cca41fe5c15b14ece05167934f5ffc179e171d9",
"strscan-3.1.8": "aae2db611a225559f21ffbb71765c9a4e60fd262534a9ea84f4f11c7f32f679e",
"strscan-3.1.8-java": "07c9fb169931fc7327e9ae64b27999e355c2eadd0eaae4ed0f1e7d4e05a2b429",
"terminal-table-4.0.0": "f504793203f8251b2ea7c7068333053f0beeea26093ec9962e62ea79f94301d2",
"tsort-0.2.0": "9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f",
"unicode-display_width-3.2.0": "0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42",
"unicode-emoji-4.2.0": "519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f",
"uri-1.1.1": "379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6",
"webmock-3.26.4": "8d8da206d217ebe6968cfb09c77f4533c23074e1432bad865f3994eacbaad50d",
"webrick-1.9.2": "beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131",
"websocket-1.2.11": "b7e7a74e2410b5e85c25858b26b3322f29161e300935f70a0e0d3c35e0462737",
"yard-0.9.45": "52e211493f7cb8a3ebf7e104a25a1e73937a3103092545d34cb88fafebb3dc51",
},
gemfile = "//:rb/Gemfile",
gemfile_lock = "//:rb/Gemfile.lock",
jar_checksums = {
"org.snakeyaml:snakeyaml-engine:2.10": "c99d9fd66c7c251d881a9cd95089b7c8044c29a1b02983d7036981bd4354ec37",
},
)
use_repo(ruby, "bundle", "ruby", "ruby_toolchains")
register_toolchains("@ruby_toolchains//:all")
rules_rust = use_extension("@rules_rs//rs:rules_rust.bzl", "rules_rust")
# Carries hermeticbuild/rules_rust#54: gcc <= 12 doesn't pass `-ffile-prefix-map`
# to the assembler, so ring and zstd-sys `.S` debug info trips the hermeticity check.
rules_rust.patch(
patches = ["//third_party/bazel:rules_rust_debug_prefix_map.patch"],
strip = 1,
)
use_repo(rules_rust, "rules_rust")
rust_toolchains = use_extension("@rules_rs//rs/toolchains:module_extension.bzl", "toolchains")
rust_toolchains.toolchain(
edition = "2024",
# Keep in sync with RUST_VERSION in .github/workflows/ci-rust.yml
version = "1.98.1",
)
use_repo(rust_toolchains, "default_rust_toolchains")
register_toolchains("@default_rust_toolchains//...")
# TODO: Register only Windows exec for now, full @llvm migration can be done as followup.
llvm_toolchains = use_extension("@llvm//extensions:toolchain.bzl", "toolchain")
llvm_toolchains.exec(
arch = "x86_64",
os = "windows",
)
llvm_toolchains.exec(
arch = "aarch64",
os = "windows",
)
llvm_toolchains.exec(
arch = "aarch64",
os = "macos",
)
llvm_toolchains.exec(
arch = "x86_64",
os = "macos",
)
use_repo(llvm_toolchains, "llvm_toolchains")
register_toolchains("@llvm_toolchains//:all")
crate = use_extension("@rules_rs//rs:extensions.bzl", "crate")
crate.from_cargo(
name = "crates",
cargo_lock = "//rust:Cargo.lock",
cargo_toml = "//rust:Cargo.toml",
platform_triples = [
"aarch64-apple-darwin",
"aarch64-pc-windows-msvc",
"aarch64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"x86_64-unknown-linux-gnu",
],
)
crate.annotation(
crate = "bzip2-sys",
gen_build_script = "on",
)
crate.annotation(
crate = "lzma-sys",
gen_build_script = "on",
)
crate.annotation(
crate = "zstd-sys",
gen_build_script = "on",
)
use_repo(crate, "crates")
selenium_manager_artifacts = use_extension("//common:selenium_manager.bzl", "selenium_manager_artifacts")
use_repo(
selenium_manager_artifacts,
"download_sm_linux",
"download_sm_macos",
"download_sm_notice",
"download_sm_sbom",
"download_sm_windows",
)
webref_cddl_extension = use_extension("//common:webref_cddl.bzl", "webref_cddl_extension")
use_repo(
webref_cddl_extension,
"at_driver_all_cddl",
"digital_credentials_all_cddl",
"permissions_all_cddl",
"permissions_dfns",
"prefetch_all_cddl",
"prefetch_dfns",
"ua_client_hints_all_cddl",
"ua_client_hints_dfns",
"web_bluetooth_all_cddl",
"web_bluetooth_dfns",
"webdriver_bidi_all_cddl",
"webdriver_bidi_dfns",
"webdriver_bidi_spec_html",
)
pin_browsers_extension = use_extension("//common:repositories.bzl", "pin_browsers_extension")
use_repo(
pin_browsers_extension,
"linux_beta_chrome",
"linux_beta_chromedriver",
"linux_beta_firefox",
"linux_chrome",
"linux_chromedriver",
"linux_edge",
"linux_edgedriver",
"linux_firefox",
"linux_geckodriver",
"mac_beta_chrome",
"mac_beta_chromedriver",
"mac_beta_firefox",
"mac_chrome",
"mac_chromedriver",
"mac_edge",
"mac_edgedriver",
"mac_firefox",
"mac_geckodriver",
)
local_drivers = use_repo_rule("//common/private:drivers.bzl", "local_drivers")
local_drivers(name = "local_drivers")