blob: 123c9285d248ad60091e3ff84b3936ab32136c0a [file] [log] [blame]
module(name = "selenium")
bazel_dep(name = "apple_rules_lint", version = "0.4.0")
bazel_dep(name = "aspect_bazel_lib", version = "2.14.0")
bazel_dep(name = "aspect_rules_esbuild", version = "0.21.0")
bazel_dep(name = "aspect_rules_jest", version = "0.24.3")
bazel_dep(name = "aspect_rules_js", version = "2.3.7")
bazel_dep(name = "aspect_rules_ts", version = "3.6.0")
bazel_dep(name = "bazel_features", version = "1.32.0")
bazel_dep(name = "bazel_skylib", version = "1.8.2")
bazel_dep(name = "buildifier_prebuilt", version = "7.3.1")
bazel_dep(name = "contrib_rules_jvm", version = "0.27.0")
bazel_dep(name = "platforms", version = "1.0.0")
# Required for rules_rust to import the crates properly
bazel_dep(name = "rules_cc", version = "0.2.8", dev_dependency = True)
bazel_dep(name = "rules_closure", version = "0.15.0")
bazel_dep(name = "rules_dotnet", version = "0.20.5")
bazel_dep(name = "rules_java", version = "8.7.1")
bazel_dep(name = "rules_jvm_external", version = "6.8")
bazel_dep(name = "rules_multitool", version = "1.3.0")
bazel_dep(name = "rules_nodejs", version = "6.3.2")
bazel_dep(name = "rules_oci", version = "1.8.0")
bazel_dep(name = "rules_pkg", version = "1.0.1")
bazel_dep(name = "rules_python", version = "1.6.3")
bazel_dep(name = "rules_proto", version = "7.0.2")
bazel_dep(name = "rules_ruby", version = "0.19.0")
bazel_dep(name = "rules_rust", version = "0.67.0")
# Until `rules_jvm_external` 6.8 ships
single_version_override(
module_name = "rules_jvm_external",
patch_strip = 1,
patches = ["//java:rules_jvm_external_javadoc.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 = "20.9.0")
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/atoms:package.json",
"@//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",
update_pnpm_lock = True,
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 = "4.9.5",
)
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 = "8.0.203")
use_repo(dotnet, "dotnet_toolchains")
selenium_paket = use_extension("//dotnet:paket.nuget_extension.bzl", "nuget_extension")
use_repo(selenium_paket, "paket.nuget")
register_toolchains("@dotnet_toolchains//:all")
oci = use_extension("@rules_oci//oci:extensions.bzl", "oci")
oci.pull(
name = "java_image_base",
digest = "sha256:1df9f3e6a2de0544dd04f1840aa811d334045c9126f9e93d8da45448061ad51e",
image = "gcr.io/distroless/java17",
)
oci.pull(
name = "firefox_standalone",
digest = "sha256:b6d8279268b3183d0d33e667e82fec1824298902f77718764076de763673124f",
image = "index.docker.io/selenium/standalone-firefox",
)
oci.pull(
name = "chrome_standalone",
digest = "sha256:1b809a961a0a77787a7cccac74ddc5570b7e89747f925b8469ddb9a6624d4ece",
image = "index.docker.io/selenium/standalone-chrome",
)
use_repo(oci, "chrome_standalone", "firefox_standalone", "java_image_base")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
is_default = True,
python_version = "3.10",
)
python.toolchain(python_version = "3.11")
python.toolchain(python_version = "3.12")
python.toolchain(python_version = "3.13")
python.toolchain(python_version = "3.14")
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",
"3.11",
"3.12",
"3.13",
"3.14",
]
]
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",
"remotejdk17_linux",
"remotejdk17_linux_s390x",
"remotejdk17_macos",
"remotejdk17_macos_aarch64",
"remotejdk17_win",
"remotejdk17_win_arm64",
)
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
name = "maven",
artifacts = [
"com.beust:jcommander:1.82",
"org.checkerframework:checker-qual:3.52.1",
"com.github.javaparser:javaparser-core:3.27.1",
"com.github.spotbugs:spotbugs:4.9.8",
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
"com.google.code.findbugs:jsr305:3.0.2",
"com.google.code.gson:gson:2.13.2",
"com.google.guava:guava:33.5.0-jre",
"com.github.ben-manes.caffeine:caffeine:3.2.3",
"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.32.0",
"com.google.protobuf:protobuf-java:4.33.1",
"com.google.protobuf.nano:protobuf-javanano:3.1.0",
"com.graphql-java:graphql-java:24.1",
"com.uber.nullaway:nullaway:0.12.13",
"dev.failsafe:failsafe:3.3.2",
"io.grpc:grpc-context:1.77.0",
"io.lettuce:lettuce-core:7.1.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",
"it.ozimov:embedded-redis:0.7.3",
"javax.inject:javax.inject:1",
"net.bytebuddy:byte-buddy:1.18.2",
"org.htmlunit:htmlunit-core-js:4.19.0",
"org.apache.commons:commons-exec:1.6.0",
"org.apache.logging.log4j:log4j-core:2.25.2",
"org.assertj:assertj-core:3.27.6",
"org.bouncycastle:bcpkix-jdk18on:1.83",
"org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5",
"org.hsqldb:hsqldb:2.7.4",
"org.jboss.marshalling:jboss-marshalling:2.2.3.Final",
"org.jspecify:jspecify:1.0.0",
"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.20.0",
"org.redisson:redisson:3.52.0",
"org.slf4j:slf4j-api:2.0.17",
"org.slf4j:slf4j-jdk14:2.0.17",
"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.56.0",
"io.netty:netty-bom:4.2.7.Final",
"org.junit:junit-bom:6.0.1",
],
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 = [
"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",
],
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 = {
"activesupport-7.2.3": "5675c9770dac93e371412684249f9dc3c8cec104efd0624362a520ae685c7b10",
"addressable-2.8.8": "7c13b8f9536cf6364c03b9d417c19986019e28f7c00ac8132da4eb0fe393b057",
"ast-2.4.3": "954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383",
"base64-0.3.0": "27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b",
"benchmark-0.5.0": "465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c",
"bigdecimal-3.3.1": "eaa01e228be54c4f9f53bf3cc34fe3d5e845c31963e7fcc5bedb05a4e7d52218",
"bigdecimal-3.3.1-java": "ed496e9c075dd501d58a519707bf704dba82a0cef658c719c929789551ec7d85",
"concurrent-ruby-1.3.5": "813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6",
"connection_pool-3.0.2": "33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a",
"crack-1.0.1": "ff4a10390cd31d66440b7524eb1841874db86201d5b70032028553130b6d4c7e",
"csv-3.3.5": "6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f",
"curb-1.0.9": "07e5b74a4836103ce186827528f76a22d3991a9b7c45f5c10ee18ee7b03feb0d",
"date-3.5.0": "5e74fd6c04b0e65d97ad4f3bb5cb2d8efb37f386cc848f46310b4593ffc46ee5",
"date-3.5.0-java": "d6876651299185b935e1b834a353e3a1d1db054be478967e8104e30a9a8f1127",
"debug-1.11.0": "1425db64cfa0130c952684e3dc974985be201dd62899bf4bbe3f8b5d6cf1aef2",
"diff-lcs-1.6.2": "9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962",
"drb-2.2.3": "0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373",
"erb-6.0.0": "2730893f9d8c9733f16cab315a4e4b71c1afa9cabc1a1e7ad1403feba8f52579",
"erb-6.0.0-java": "6537c84b596d889c4e20d87da41b38664e79bfe0af812ba7ea2a82a7ebf0ed62",
"ffi-1.17.2": "297235842e5947cc3036ebe64077584bff583cd7a4e94e9a02fdec399ef46da6",
"ffi-1.17.2-java": "94c8516d7c97b21915497b994e41f69e7e8e21d5fc085c498b68e52044e191ec",
"ffi-1.17.2-x64-mingw-ucrt": "15d2da54ee578657a333a6059ed16eaba1cbd794ceecd15944825b65c8381ac0",
"ffi-1.17.2-x86_64-darwin": "981f2d4e32ea03712beb26e55e972797c2c5a7b0257955d8667ba58f2da6440e",
"ffi-1.17.2-x86_64-linux-gnu": "05d2026fc9dbb7cfd21a5934559f16293815b7ce0314846fee2ac8efbdb823ea",
"fileutils-1.8.0": "8c6b1df54e2540bdb2f39258f08af78853aa70bad52b4d394bbc6424593c6e02",
"git-1.19.1": "b0a422d9f6517353c48a330d6114de4db9e0c82dbe7202964a1d9f1fbc827d70",
"hashdiff-1.2.1": "9c079dbc513dfc8833ab59c0c2d8f230fa28499cc5efb4b8dd276cf931457cd1",
"i18n-1.14.7": "ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f",
"io-console-0.8.1": "1e15440a6b2f67b6ea496df7c474ed62c860ad11237f29b3bd187f054b925fcb",
"io-console-0.8.1-java": "9457a61a7b23aab11e9e9ff67f71ae81d7f1a6a2e582bb5d65d754cbb546c06f",
"irb-1.15.3": "4349edff1efa7ff7bfd34cb9df74a133a588ba88c2718098b3b4468b81184aaa",
"jar-dependencies-0.5.5": "2972b9fcba4b014e6446a84b5c09674a3e8648b95b71768e729f0e8e40568059",
"json-2.17.1": "e0e4824541336a44915436f53e7ea74c687314fb8f88080fa1456f6a34ead92e",
"json-2.17.1-java": "4e570fb6f3f7888c8de7c121b6328a6971414601cb7e1d4ab8f28da42e3ef524",
"language_server-protocol-3.17.0.5": "fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc",
"lint_roller-1.1.0": "2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87",
"listen-3.9.0": "db9e4424e0e5834480385197c139cb6b0ae0ef28cc13310cfd1ca78377d59c67",
"logger-1.7.0": "196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203",
"minitest-5.26.2": "f021118a6185b9ba9f5af71f2ba103ad770c75afde9f2ab8da512677c550cde3",
"mutex_m-0.3.0": "cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751",
"parallel-1.27.0": "4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130",
"parser-3.3.10.0": "ce3587fa5cc55a88c4ba5b2b37621b3329aadf5728f9eafa36bbd121462aabd6",
"pp-0.6.3": "2951d514450b93ccfeb1df7d021cae0da16e0a7f95ee1e2273719669d0ab9df6",
"prettyprint-0.2.0": "2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193",
"prism-1.6.0": "bfc0281a81718c4872346bc858dc84abd3a60cae78336c65ad35c8fbff641c6b",
"psych-5.2.6": "814328aa5dcb6d604d32126a20bc1cbcf05521a5b49dbb1a8b30a07e580f316e",
"psych-5.2.6-java": "0a5f65d47ed1ae3475d062b254e7b2035a259eac578038016d62172dd4cfbd91",
"public_suffix-7.0.0": "f7090b5beb0e56f9f10d79eed4d5fbe551b3b425da65877e075dad47a6a1b095",
"racc-1.8.1": "4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f",
"racc-1.8.1-java": "54f2e6d1e1b91c154013277d986f52a90e5ececbe91465d29172e49342732b98",
"rack-2.2.21": "14e2f72f0765455fe424ff601588ac5ce84e95784f59e99251ffe1527152f739",
"rainbow-3.1.1": "039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a",
"rake-13.3.1": "8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c",
"rb-fsevent-0.11.2": "43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe",
"rb-inotify-0.11.1": "a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e",
"rbs-3.9.5": "eabaaf60aee84e38cbf94839c6e1b9cd145c7295fc3cc0e88c92e4069b1119b0",
"rchardet-1.10.0": "d5ea2ed61a720a220f1914778208e718a0c7ed2a484b6d357ba695aa7001390f",
"rdoc-6.16.1": "71357cc208e6da77ba0c4494e01ae870dd18b437c7c7d801dd73ee2f340b9f5c",
"regexp_parser-2.11.3": "ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4",
"reline-0.6.3": "1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835",
"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.7": "0979034e64b1d7a838aaaddf12bf065ea4dc40ef3d4c39f01f93ae2c66c62b1c",
"rspec-support-3.13.6": "2e8de3702427eab064c9352fe74488cc12a1bfae887ad8b91cba480ec9f8afb2",
"rubocop-1.81.7": "6fb5cc298c731691e2a414fe0041a13eb1beed7bab23aec131da1bcc527af094",
"rubocop-ast-1.48.0": "22df9bbf3f7a6eccde0fad54e68547ae1e2a704bf8719e7c83813a99c05d2e76",
"rubocop-performance-1.26.1": "cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834",
"rubocop-rake-0.7.1": "3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d",
"rubocop-rspec-3.8.0": "28440dccb3f223a9938ca1f946bd3438275b8c6c156dab909e2cb8bc424cab33",
"ruby-progressbar-1.13.0": "80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33",
"rubyzip-3.2.2": "c0ed99385f0625415c8f05bcae33fe649ed2952894a95ff8b08f26ca57ea5b3c",
"securerandom-0.4.1": "cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1",
"steep-1.10.0": "1b295b55f9aaff1b8d3ee42453ee55bc2a1078fda0268f288edb2dc014f4d7d1",
"stringio-3.1.9": "c111af13d3a73eab96a3bc2655ecf93788d13d28cb8e25c1dcbff89ace885121",
"strscan-3.1.5": "f8413b90ea9395a69609a4414a8c88551bcda64337e234272c24fcd4c83e5947",
"strscan-3.1.5-java": "84805eaad025f64854376608a6dbd49d4a22740ec3f21ba880434a6641621f1e",
"terminal-table-3.0.2": "f951b6af5f3e00203fb290a669e0a85c5dd5b051b3b023392ccfd67ba5abae91",
"tsort-0.2.0": "9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f",
"tzinfo-2.0.6": "8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b",
"unicode-display_width-2.6.0": "12279874bba6d5e4d2728cef814b19197dbb10d7a7837a869bab65da943b7f5a",
"uri-1.1.1": "379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6",
"webmock-3.26.1": "4f696fb57c90a827c20aadb2d4f9058bbff10f7f043bd0d4c3f58791143b1cd7",
"webrick-1.9.2": "beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131",
"websocket-1.2.11": "b7e7a74e2410b5e85c25858b26b3322f29161e300935f70a0e0d3c35e0462737",
"yard-0.9.38": "721fb82afb10532aa49860655f6cc2eaa7130889df291b052e1e6b268283010f",
},
gemfile = "//:rb/Gemfile",
gemfile_lock = "//:rb/Gemfile.lock",
)
use_repo(ruby, "bundle", "ruby", "ruby_toolchains")
register_toolchains("@ruby_toolchains//:all")
rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
rust.toolchain(versions = ["1.89.0"])
crate = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate")
crate.from_cargo(
name = "crates",
cargo_lockfile = "//rust:Cargo.lock",
lockfile = "//rust:Cargo.Bazel.lock",
manifests = ["//rust:Cargo.toml"],
)
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_windows",
)
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")