Skip to content

Commit fe50aeb

Browse files
josephperrottAndrewKushnir
authored andcommitted
build: migrate usages of protractor_web_test_suite to use new rules_browser based rule (#62525)
Use the protractor_web_test_suite from rules_browser instead of @bazel/protractor PR Close #62525
1 parent dda655f commit fe50aeb

File tree

10 files changed

+113
-63
lines changed

10 files changed

+113
-63
lines changed
Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
load("//tools:defaults.bzl", "esbuild", "http_server", "protractor_web_test_suite")
2-
load("//tools:defaults2.bzl", "ng_project", "ts_project")
1+
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
2+
load("//tools:defaults.bzl", "http_server")
3+
load("//tools:defaults2.bzl", "ng_project", "protractor_web_test_suite", "ts_project")
34

45
package(default_visibility = ["//visibility:public"])
56

@@ -18,26 +19,25 @@ ng_project(
1819
"index.ts",
1920
"playground.ts",
2021
],
21-
interop_deps = [
22-
"//packages/common",
23-
"//packages/core",
24-
"//packages/platform-browser",
25-
"//packages/router",
22+
deps = [
23+
"//packages/common:common_rjs",
24+
"//packages/compiler:compiler_rjs",
25+
"//packages/core:core_rjs",
26+
"//packages/platform-browser:platform-browser_rjs",
27+
"//packages/router:router_rjs",
2628
],
2729
)
2830

29-
# Note: Cannot use `app_bundle` as the e2e tests rely on `ngDevMode`
30-
# output which would otherwise be omitted.
3131
esbuild(
3232
name = "bundle",
33+
config = {
34+
"resolveExtensions": [".js"],
35+
},
3336
entry_point = ":index.ts",
37+
tsconfig = "//packages/core:tsconfig_build",
3438
deps = [
35-
":image-directive",
36-
"//packages/common",
37-
"//packages/core",
38-
"//packages/platform-browser",
39-
"//packages/router",
40-
"@npm//rxjs",
39+
":image-directive_rjs",
40+
"//packages/core:tsconfig_build",
4141
],
4242
)
4343

@@ -54,7 +54,7 @@ http_server(
5454
],
5555
deps = [
5656
":bundle",
57-
"@npm//zone.js",
57+
"//:node_modules/zone.js",
5858
],
5959
)
6060

@@ -64,24 +64,20 @@ ts_project(
6464
srcs = ["e2e/browser-logs-util.ts"] + glob([
6565
"e2e/**/*.e2e-spec.ts",
6666
]),
67-
interop_deps = [
68-
"//packages/private/testing",
69-
],
7067
tsconfig = ":e2e/tsconfig-e2e.json",
7168
deps = [
7269
"//:node_modules/@types/jasminewd2",
7370
"//:node_modules/@types/node",
7471
"//:node_modules/@types/selenium-webdriver",
7572
"//:node_modules/protractor",
73+
"//packages/private/testing:testing_rjs",
7674
],
7775
)
7876

7977
protractor_web_test_suite(
8078
name = "protractor_tests",
81-
on_prepare = ":e2e/start-server.js",
8279
server = ":devserver",
8380
deps = [
84-
":img_dir_e2e_tests_lib",
85-
"@npm//selenium-webdriver",
81+
":img_dir_e2e_tests_lib_rjs",
8682
],
8783
)

packages/core/test/bundling/image-directive/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<app-root></app-root>
1212

13-
<script src="npm/node_modules/zone.js/bundles/zone.umd.js"></script>
13+
<script src="/angular/node_modules/zone.js/bundles/zone.umd.js"></script>
1414
<script src="bundle.js"></script>
1515
</body>
1616
</html>

packages/core/test/bundling/image-directive/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9+
import '@angular/compiler';
910
import {Component, importProvidersFrom} from '../../../src/core';
1011
import {bootstrapApplication, provideProtractorTestingSupport} from '@angular/platform-browser';
1112
import {RouterModule} from '@angular/router';

packages/examples/common/BUILD.bazel

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
load("//tools:defaults.bzl", "esbuild", "http_server", "protractor_web_test_suite")
2-
load("//tools:defaults2.bzl", "ng_project", "ts_project")
1+
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
2+
load("//tools:defaults.bzl", "http_server")
3+
load("//tools:defaults2.bzl", "ng_project", "protractor_web_test_suite", "ts_project")
34

45
package(default_visibility = ["//visibility:public"])
56

@@ -9,14 +10,12 @@ ng_project(
910
["**/*.ts"],
1011
exclude = ["**/*_spec.ts"],
1112
),
12-
interop_deps = [
13-
"//packages/platform-browser",
14-
],
1513
deps = [
1614
"//:node_modules/rxjs",
1715
"//:node_modules/zone.js",
1816
"//packages/common:common_rjs",
1917
"//packages/core:core_rjs",
18+
"//packages/platform-browser:platform-browser_rjs",
2019
"//packages/router:router_rjs",
2120
],
2221
)
@@ -25,21 +24,26 @@ ts_project(
2524
name = "common_tests_lib",
2625
testonly = True,
2726
srcs = glob(["**/*_spec.ts"]),
28-
interop_deps = [
29-
"//packages/private/testing",
30-
],
3127
tsconfig = "//packages/examples:tsconfig_e2e",
3228
deps = [
3329
"//:node_modules/@types/jasminewd2",
3430
"//:node_modules/protractor",
3531
"//packages/examples/test-utils:test-utils_rjs",
32+
"//packages/private/testing:testing_rjs",
3633
],
3734
)
3835

3936
esbuild(
4037
name = "app_bundle",
38+
config = {
39+
"resolveExtensions": [".js"],
40+
},
4141
entry_point = ":main.ts",
42-
deps = [":common_examples"],
42+
tsconfig = "//packages/examples:tsconfig_build",
43+
deps = [
44+
":common_examples_rjs",
45+
"//packages/examples:tsconfig_build",
46+
],
4347
)
4448

4549
http_server(
@@ -51,11 +55,9 @@ http_server(
5155

5256
protractor_web_test_suite(
5357
name = "protractor_tests",
54-
on_prepare = ":start-server.js",
5558
server = ":devserver",
5659
deps = [
57-
":common_tests_lib",
58-
"@npm//selenium-webdriver",
60+
":common_tests_lib_rjs",
5961
],
6062
)
6163

packages/examples/core/BUILD.bazel

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
load("//tools:defaults.bzl", "esbuild", "http_server", "protractor_web_test_suite")
2-
load("//tools:defaults2.bzl", "angular_jasmine_test", "ng_project", "ts_project")
1+
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
2+
load("//tools:defaults.bzl", "http_server")
3+
load("//tools:defaults2.bzl", "angular_jasmine_test", "ng_project", "protractor_web_test_suite", "ts_project")
34

45
package(default_visibility = ["//visibility:public"])
56

@@ -12,16 +13,14 @@ ng_project(
1213
"**/*_howto.ts",
1314
],
1415
),
15-
interop_deps = [
16-
"//packages/platform-browser",
17-
"//packages/platform-browser/animations",
18-
],
1916
deps = [
2017
"//:node_modules/rxjs",
2118
"//:node_modules/zone.js",
2219
"//packages/animations:animations_rjs",
2320
"//packages/core:core_rjs",
2421
"//packages/forms:forms_rjs",
22+
"//packages/platform-browser:platform-browser_rjs",
23+
"//packages/platform-browser/animations:animations_rjs",
2524
"//packages/router:router_rjs",
2625
],
2726
)
@@ -53,8 +52,15 @@ ts_project(
5352

5453
esbuild(
5554
name = "app_bundle",
55+
config = {
56+
"resolveExtensions": [".js"],
57+
},
5658
entry_point = ":main.ts",
57-
deps = [":core_examples"],
59+
tsconfig = "//packages/examples:tsconfig_build",
60+
deps = [
61+
":core_examples_rjs",
62+
"//packages/examples:tsconfig_build",
63+
],
5864
)
5965

6066
http_server(
@@ -66,11 +72,9 @@ http_server(
6672

6773
protractor_web_test_suite(
6874
name = "protractor_tests",
69-
on_prepare = ":start-server.js",
7075
server = ":devserver",
7176
deps = [
72-
":core_e2e_tests_lib",
73-
"@npm//selenium-webdriver",
77+
":core_e2e_tests_lib_rjs",
7478
],
7579
)
7680

packages/examples/forms/BUILD.bazel

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
load("//tools:defaults.bzl", "esbuild", "http_server", "protractor_web_test_suite")
2-
load("//tools:defaults2.bzl", "ng_project", "ts_project")
1+
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
2+
load("//tools:defaults.bzl", "http_server")
3+
load("//tools:defaults2.bzl", "ng_project", "protractor_web_test_suite", "ts_project")
34

45
package(default_visibility = ["//visibility:public"])
56

@@ -38,8 +39,15 @@ ts_project(
3839

3940
esbuild(
4041
name = "app_bundle",
42+
config = {
43+
"resolveExtensions": [".js"],
44+
},
4145
entry_point = ":main.ts",
42-
deps = [":forms_examples"],
46+
tsconfig = "//packages/examples:tsconfig_build",
47+
deps = [
48+
":forms_examples_rjs",
49+
"//packages/examples:tsconfig_build",
50+
],
4351
)
4452

4553
http_server(
@@ -51,11 +59,9 @@ http_server(
5159

5260
protractor_web_test_suite(
5361
name = "protractor_tests",
54-
on_prepare = ":start-server.js",
5562
server = ":devserver",
5663
deps = [
57-
":forms_e2e_tests_lib",
58-
"@npm//selenium-webdriver",
64+
":forms_e2e_tests_lib_rjs",
5965
],
6066
)
6167

packages/examples/service-worker/push/BUILD.bazel

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
load("//tools:defaults.bzl", "esbuild", "http_server", "protractor_web_test_suite")
2-
load("//tools:defaults2.bzl", "ng_project", "ts_project")
1+
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
2+
load("//tools:defaults.bzl", "http_server")
3+
load("//tools:defaults2.bzl", "ng_project", "protractor_web_test_suite", "ts_project")
34

45
package(default_visibility = ["//visibility:public"])
56

@@ -36,8 +37,15 @@ ts_project(
3637

3738
esbuild(
3839
name = "app_bundle",
40+
config = {
41+
"resolveExtensions": [".js"],
42+
},
3943
entry_point = ":main.ts",
40-
deps = [":sw_push_examples"],
44+
tsconfig = "//packages/examples:tsconfig_build",
45+
deps = [
46+
":sw_push_examples_rjs",
47+
"//packages/examples:tsconfig_build",
48+
],
4149
)
4250

4351
http_server(
@@ -52,11 +60,9 @@ http_server(
5260

5361
protractor_web_test_suite(
5462
name = "protractor_tests",
55-
on_prepare = "start-server.js",
5663
server = ":devserver",
5764
deps = [
58-
":sw_push_e2e_tests_lib",
59-
"@npm//selenium-webdriver",
65+
":sw_push_e2e_tests_lib_rjs",
6066
],
6167
)
6268

packages/examples/service-worker/registration-options/BUILD.bazel

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
load("//tools:defaults.bzl", "esbuild", "http_server", "protractor_web_test_suite")
2-
load("//tools:defaults2.bzl", "ng_project", "ts_project")
1+
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
2+
load("//tools:defaults.bzl", "http_server")
3+
load("//tools:defaults2.bzl", "ng_project", "protractor_web_test_suite", "ts_project")
34

45
package(default_visibility = ["//visibility:public"])
56

@@ -36,8 +37,15 @@ ts_project(
3637

3738
esbuild(
3839
name = "app_bundle",
40+
config = {
41+
"resolveExtensions": [".js"],
42+
},
3943
entry_point = ":main.ts",
40-
deps = [":sw_registration_options_examples"],
44+
tsconfig = "//packages/examples:tsconfig_build",
45+
deps = [
46+
":sw_registration_options_examples_rjs",
47+
"//packages/examples:tsconfig_build",
48+
],
4149
)
4250

4351
http_server(
@@ -52,11 +60,9 @@ http_server(
5260

5361
protractor_web_test_suite(
5462
name = "protractor_tests",
55-
on_prepare = "start-server.js",
5663
server = ":devserver",
5764
deps = [
58-
":sw_registration_options_e2e_tests_lib",
59-
"@npm//selenium-webdriver",
65+
":sw_registration_options_e2e_tests_lib_rjs",
6066
],
6167
)
6268

tools/bazel/protractor_test.bzl

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
load("@devinfra//bazel/spec-bundling:index_rjs.bzl", _spec_bundle = "spec_bundle")
2+
load("@rules_browsers//src/protractor_test:index.bzl", _protractor_test = "protractor_test")
3+
4+
def protractor_web_test_suite(name, deps, **kwargs):
5+
_spec_bundle(
6+
name = "%s_bundle" % name,
7+
deps = deps,
8+
external = ["protractor", "selenium-webdriver"],
9+
)
10+
11+
_protractor_test(
12+
name = name,
13+
deps = [":%s_bundle" % name],
14+
extra_config = {
15+
"useAllAngular2AppRoots": True,
16+
"allScriptsTimeout": 120000,
17+
"getPageTimeout": 120000,
18+
"jasmineNodeOpts": {
19+
"defaultTimeoutInterval": 120000,
20+
},
21+
},
22+
data = [
23+
"//:node_modules/protractor",
24+
"//:node_modules/selenium-webdriver",
25+
],
26+
**kwargs
27+
)

tools/defaults2.bzl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ load("@rules_sass//src:index.bzl", _npm_sass_library = "npm_sass_library", _sass
55
load("//tools/bazel:jasmine_test.bzl", _angular_jasmine_test = "angular_jasmine_test", _jasmine_test = "jasmine_test", _zoneless_jasmine_test = "zoneless_jasmine_test")
66
load("//tools/bazel:module_name.bzl", "compute_module_name")
77
load("//tools/bazel:ng_package.bzl", _ng_package = "ng_package")
8+
load("//tools/bazel:protractor_test.bzl", _protractor_web_test_suite = "protractor_web_test_suite")
89
load("//tools/bazel:ts_project_interop.bzl", _ts_project = "ts_project")
910
load("//tools/bazel:web_test.bzl", _ng_web_test_suite = "ng_web_test_suite", _zoneless_web_test_suite = "zoneless_web_test_suite")
1011

@@ -19,6 +20,7 @@ zoneless_web_test_suite = _zoneless_web_test_suite
1920
sass_binary = _sass_binary
2021
sass_library = _sass_library
2122
npm_sass_library = _npm_sass_library
23+
protractor_web_test_suite = _protractor_web_test_suite
2224

2325
def _determine_tsconfig(testonly):
2426
if native.package_name().startswith("packages/compiler-cli"):

0 commit comments

Comments
 (0)