Skip to content

Commit 3f139eb

Browse files
shs96cp0deje
authored andcommitted
Use prebuilt Selenium Manager when stamping, otherwise try and build
We only try and build for the current platform we're running on: everything else gets the pre-built binaries too. This avoids cross-compiling, but does allow us to test the latest Selenium Manager without checking in the binaries.
1 parent a7fdd01 commit 3f139eb

File tree

7 files changed

+127
-49
lines changed

7 files changed

+127
-49
lines changed

common/manager/BUILD.bazel

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,44 @@
1-
filegroup(
2-
name = "manager",
3-
srcs = glob([
4-
"*",
5-
"**/*",
6-
]),
7-
visibility = [
8-
"//java/test/org/openqa/selenium/chrome:__pkg__",
9-
"//java/test/org/openqa/selenium/edge:__pkg__",
10-
"//java/test/org/openqa/selenium/firefox:__pkg__",
1+
package(
2+
default_visibility = [
3+
"//dotnet/src/webdriver:__pkg__",
4+
"//java/src/org/openqa/selenium/manager:__pkg__",
5+
"//javascript/node/selenium-webdriver:__pkg__",
116
"//py:__pkg__",
127
"//rb:__pkg__",
138
],
149
)
1510

11+
alias(
12+
name = "selenium-manager-linux",
13+
actual = select({
14+
"//common:stamp": "linux/selenium-manager",
15+
"//conditions:default": "//rust:selenium-manager-linux",
16+
}),
17+
)
18+
19+
alias(
20+
name = "selenium-manager-macos",
21+
actual = select({
22+
"//common:stamp": "macos/selenium-manager",
23+
"//conditions:default": "//rust:selenium-manager-macos",
24+
}),
25+
)
26+
27+
alias(
28+
name = "selenium-manager-windows",
29+
actual = select({
30+
"//common:stamp": "windows/selenium-manager.exe",
31+
"//conditions:default": "//rust:selenium-manager-windows",
32+
}),
33+
)
34+
1635
exports_files(
1736
[
1837
"linux/selenium-manager",
1938
"macos/selenium-manager",
2039
"windows/selenium-manager.exe",
2140
],
2241
visibility = [
23-
"//dotnet/src/webdriver:__pkg__",
24-
"//java/src/org/openqa/selenium/manager:__pkg__",
25-
"//java/test/org/openqa/selenium/chrome:__pkg__",
26-
"//java/test/org/openqa/selenium/edge:__pkg__",
27-
"//java/test/org/openqa/selenium/firefox:__pkg__",
28-
"//javascript/node/selenium-webdriver:__pkg__",
29-
"//py:__pkg__",
30-
"//rb:__pkg__",
42+
"//rust:__pkg__",
3143
],
3244
)

dotnet/src/webdriver/BUILD.bazel

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -248,19 +248,19 @@ copy_file(
248248

249249
copy_file(
250250
name = "manager-linux",
251-
src = "//common/manager:linux/selenium-manager",
251+
src = "//common/manager:selenium-manager-linux",
252252
out = "manager/linux/selenium-manager",
253253
)
254254

255255
copy_file(
256256
name = "manager-macos",
257-
src = "//common/manager:macos/selenium-manager",
257+
src = "//common/manager:selenium-manager-macos",
258258
out = "manager/macos/selenium-manager",
259259
)
260260

261261
copy_file(
262262
name = "manager-windows",
263-
src = "//common/manager:windows/selenium-manager.exe",
263+
src = "//common/manager:selenium-manager-windows",
264264
out = "manager/windows/selenium-manager.exe",
265265
)
266266

java/src/org/openqa/selenium/manager/BUILD.bazel

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,18 @@ java_export(
2525

2626
copy_file(
2727
name = "manager-linux",
28-
src = "//common/manager:linux/selenium-manager",
28+
src = "//common/manager:selenium-manager-linux",
2929
out = "linux/selenium-manager",
3030
)
3131

3232
copy_file(
33-
name = "manager-windows",
34-
src = "//common/manager:windows/selenium-manager.exe",
35-
out = "windows/selenium-manager.exe",
33+
name = "manager-macos",
34+
src = "//common/manager:selenium-manager-macos",
35+
out = "macos/selenium-manager",
3636
)
3737

3838
copy_file(
39-
name = "manager-macos",
40-
src = "//common/manager:macos/selenium-manager",
41-
out = "macos/selenium-manager",
39+
name = "manager-windows",
40+
src = "//common/manager:selenium-manager-windows",
41+
out = "windows/selenium-manager.exe",
4242
)

javascript/node/selenium-webdriver/BUILD.bazel

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,18 +152,18 @@ genrule(
152152

153153
copy_file(
154154
name = "manager-linux",
155-
src = "//common/manager:linux/selenium-manager",
155+
src = "//common/manager:selenium-manager-linux",
156156
out = "bin/linux/selenium-manager",
157157
)
158158

159159
copy_file(
160-
name = "manager-windows",
161-
src = "//common/manager:windows/selenium-manager.exe",
162-
out = "bin/windows/selenium-manager.exe",
160+
name = "manager-macos",
161+
src = "//common/manager:selenium-manager-macos",
162+
out = "bin/macos/selenium-manager",
163163
)
164164

165165
copy_file(
166-
name = "manager-macos",
167-
src = "//common/manager:macos/selenium-manager",
168-
out = "bin/macos/selenium-manager",
166+
name = "manager-windows",
167+
src = "//common/manager:selenium-manager-windows",
168+
out = "bin/windows/selenium-manager.exe",
169169
)

py/BUILD.bazel

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,20 @@ TEST_DEPS = [
4747
]
4848

4949
copy_file(
50-
name = "manager-macos",
51-
src = "//common/manager:macos/selenium-manager",
52-
out = "selenium/webdriver/common/macos/selenium-manager",
50+
name = "manager-linux",
51+
src = "//common/manager:selenium-manager-linux",
52+
out = "selenium/webdriver/common/linux/selenium-manager",
5353
)
5454

5555
copy_file(
56-
name = "manager-linux",
57-
src = "//common/manager:linux/selenium-manager",
58-
out = "selenium/webdriver/common/linux/selenium-manager",
56+
name = "manager-macos",
57+
src = "//common/manager:selenium-manager-macos",
58+
out = "selenium/webdriver/common/macos/selenium-manager",
5959
)
6060

6161
copy_file(
6262
name = "manager-windows",
63-
src = "//common/manager:windows/selenium-manager.exe",
63+
src = "//common/manager:selenium-manager-windows",
6464
out = "selenium/webdriver/common/windows/selenium-manager.exe",
6565
)
6666

rb/BUILD.bazel

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@ exports_files(["ruby_version.bzl"])
1616

1717
copy_file(
1818
name = "manager-linux",
19-
src = "//common/manager:linux/selenium-manager",
19+
src = "//common/manager:selenium-manager-linux",
2020
out = "bin/linux/selenium-manager",
2121
)
2222

2323
copy_file(
24-
name = "manager-windows",
25-
src = "//common/manager:windows/selenium-manager.exe",
26-
out = "bin/windows/selenium-manager.exe",
24+
name = "manager-macos",
25+
src = "//common/manager:selenium-manager-macos",
26+
out = "bin/macos/selenium-manager",
2727
)
2828

2929
copy_file(
30-
name = "manager-macos",
31-
src = "//common/manager:macos/selenium-manager",
32-
out = "bin/macos/selenium-manager",
30+
name = "manager-windows",
31+
src = "//common/manager:selenium-manager-windows",
32+
out = "bin/windows/selenium-manager.exe",
3333
)
3434

3535
select_file(

rust/BUILD.bazel

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,72 @@
11
load("@crates//:defs.bzl", "all_crate_deps")
22
load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test")
33

4+
# We want the release versions of Selenium to include the prebuilt
5+
# binaries, but if we're doing day-to-day dev work, then we should
6+
# use a local build, unless on we're on Windows, where for some
7+
# reason we're not able to build locally.
8+
#
9+
# We tag the compiled versions as `manual` so that when we do a
10+
# `bazel build //...` we don't do any additional work
11+
12+
# Start with the variants for each platform
13+
alias(
14+
name = "selenium-manager-windows",
15+
actual = select({
16+
"//common:windows": ":selenium-manager",
17+
"//conditions:default": "//common/manager:windows/selenium-manager.exe",
18+
}),
19+
tags = [
20+
"manual",
21+
],
22+
visibility = [
23+
"//common/manager:__pkg__",
24+
],
25+
)
26+
27+
alias(
28+
name = "selenium-manager-macos",
29+
actual = select({
30+
"//common:macos": ":selenium-manager",
31+
"//conditions:default": "//common/manager:macos/selenium-manager",
32+
}),
33+
tags = [
34+
"manual",
35+
],
36+
visibility = [
37+
"//common/manager:__pkg__",
38+
],
39+
)
40+
41+
alias(
42+
name = "selenium-manager-linux",
43+
actual = select({
44+
"//common:linux": ":selenium-manager",
45+
"//conditions:default": "//common/manager:linux/selenium-manager",
46+
}),
47+
tags = [
48+
"manual",
49+
],
50+
visibility = [
51+
"//common/manager:__pkg__",
52+
],
53+
)
54+
55+
filegroup(
56+
name = "selenium-manager-dev",
57+
srcs = [
58+
":selenium-manager-linux",
59+
":selenium-manager-macos",
60+
":selenium-manager-windows",
61+
],
62+
tags = [
63+
"manual",
64+
],
65+
visibility = [
66+
"//common/manager:__subpackages__",
67+
],
68+
)
69+
470
rust_binary(
571
# Yes, this name is very similar to the library. Note the dash
672
# instead of an underscore

0 commit comments

Comments
 (0)