# Copyright Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ################################################################################ # package(default_visibility = ["//visibility:public"]) load("@io_bazel_rules_webtesting//web:web.bzl", "browser", "web_test_archive") # Override of firefox web_test_archive so that the archive is selected based on platform. web_test_archive( name = "firefox_archive", testonly = True, archive = select({ "@io_bazel_rules_webtesting//common/conditions:linux": "@org_mozilla_firefox_amd64//file", "@io_bazel_rules_webtesting//common/conditions:mac": "@org_mozilla_firefox_macos//file", }), extract = "build", named_files = select({ "@io_bazel_rules_webtesting//common/conditions:linux": {"FIREFOX": "firefox/firefox"}, "@io_bazel_rules_webtesting//common/conditions:mac": {"FIREFOX": "Firefox.app/Contents/MacOS/firefox"}, }), visibility = ["//dev-infra/browsers:__subpackages__"], ) # Override of geckodriver web_test_archive so that the archive is selected based on platform. web_test_archive( name = "geckodriver_archive", testonly = True, archive = select({ "@io_bazel_rules_webtesting//common/conditions:linux": "@org_mozilla_geckodriver_amd64//file", "@io_bazel_rules_webtesting//common/conditions:mac": "@org_mozilla_geckodriver_macos//file", }), extract = "build", named_files = {"GECKODRIVER": "geckodriver"}, visibility = ["//dev-infra/browsers:__subpackages__"], ) browser( name = "firefox", disabled = select({ # TODO: Consider adding support for Windows. Requires a portable version of # Firefox. Official distribution only ships with installers. "@io_bazel_rules_webtesting//common/conditions:windows": "Firefox is not supported on Windows", "//conditions:default": None, }), metadata = "firefox.json", visibility = ["//visibility:public"], deps = select({ "@io_bazel_rules_webtesting//common/conditions:windows": [], "//conditions:default": [ "@io_bazel_rules_webtesting//go/wsl", ":firefox_archive", ":geckodriver_archive", ], }), ) # Make source files available for distribution via pkg_npm filegroup( name = "files", srcs = glob(["*"]), )