75 lines
2.8 KiB
Python
75 lines
2.8 KiB
Python
|
# 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(["*"]),
|
||
|
)
|