-
Notifications
You must be signed in to change notification settings - Fork 27.1k
Expand file tree
/
Copy pathdefaults.bzl
More file actions
165 lines (144 loc) Β· 7.03 KB
/
defaults.bzl
File metadata and controls
165 lines (144 loc) Β· 7.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
load("@aspect_rules_js//js:defs.bzl", _js_library = "js_library")
load("@aspect_rules_ts//ts:defs.bzl", _ts_config = "ts_config")
load("@bazel_lib//lib:copy_to_bin.bzl", _copy_to_bin = "copy_to_bin")
load("@devinfra//bazel:extract_types.bzl", _extract_types = "extract_types")
load("@devinfra//bazel/api-golden:index.bzl", _api_golden_test = "api_golden_test", _api_golden_test_npm_package = "api_golden_test_npm_package")
load("@devinfra//bazel/http-server:index.bzl", _http_server = "http_server")
load("@devinfra//bazel/ts_project:index.bzl", "strict_deps_test")
load("@rules_angular//src/ng_examples_db:index.bzl", _ng_examples_db = "ng_examples_db")
load("@rules_angular//src/ng_project:index.bzl", _ng_project = "ng_project")
load("@rules_angular//src/ts_project:index.bzl", _ts_project = "ts_project")
load("@rules_sass//src:index.bzl", _npm_sass_library = "npm_sass_library", _sass_binary = "sass_binary", _sass_library = "sass_library")
load("//adev/shared-docs/pipeline/api-gen:generate_api_docs.bzl", _generate_api_docs = "generate_api_docs")
load("//tools/bazel:esbuild.bzl", _esbuild = "esbuild", _esbuild_checked_in = "esbuild_checked_in")
load("//tools/bazel:jasmine_test.bzl", _angular_jasmine_test = "angular_jasmine_test", _jasmine_test = "jasmine_test", _zone_compatible_jasmine_test = "zone_compatible_jasmine_test", _zoneless_jasmine_test = "zoneless_jasmine_test")
load("//tools/bazel:js_defs.bzl", _js_binary = "js_binary", _js_run_binary = "js_run_binary", _js_test = "js_test")
load("//tools/bazel:npm_packages.bzl", _ng_package = "ng_package", _npm_package = "npm_package")
load("//tools/bazel:protractor_test.bzl", _protractor_web_test_suite = "protractor_web_test_suite")
load("//tools/bazel:tsec.bzl", _tsec_test = "tsec_test")
load("//tools/bazel:web_test.bzl", _ng_web_test_suite = "ng_web_test_suite", _web_test = "web_test", _zoneless_web_test_suite = "zoneless_web_test_suite")
extract_types = _extract_types
esbuild = _esbuild
js_binary = _js_binary
js_run_binary = _js_run_binary
js_test = _js_test
npm_package = _npm_package
ts_config = _ts_config
ng_package = _ng_package
jasmine_test = _jasmine_test
angular_jasmine_test = _angular_jasmine_test
zone_compatible_jasmine_test = _zone_compatible_jasmine_test
zoneless_jasmine_test = _zoneless_jasmine_test
ng_web_test_suite = _ng_web_test_suite
zoneless_web_test_suite = _zoneless_web_test_suite
web_test = _web_test
sass_binary = _sass_binary
sass_library = _sass_library
npm_sass_library = _npm_sass_library
protractor_web_test_suite = _protractor_web_test_suite
esbuild_checked_in = _esbuild_checked_in
http_server = _http_server
api_golden_test = _api_golden_test
api_golden_test_npm_package = _api_golden_test_npm_package
copy_to_bin = _copy_to_bin
tsec_test = _tsec_test
js_library = _js_library
ng_examples_db = _ng_examples_db
def _determine_tsconfig(testonly):
if native.package_name().startswith("packages/compiler-cli"):
return "//packages/compiler-cli:tsconfig_test" if testonly else "//packages/compiler-cli:tsconfig_build"
if native.package_name().startswith("packages/service-worker"):
return "//packages:tsconfig_test" if testonly else "//packages/service-worker:tsconfig_build"
if native.package_name().startswith("packages/core/schematics"):
return "//packages/core/schematics:tsconfig_test" if testonly else "//packages/core/schematics:tsconfig_build"
if native.package_name().startswith("packages/core"):
return "//packages/core:tsconfig_test" if testonly else "//packages/core:tsconfig_build"
if native.package_name().startswith("packages/benchpress"):
return "//packages:tsconfig_test" if testonly else "//packages/benchpress:tsconfig_build"
if native.package_name().startswith("packages/language-service"):
return "//packages:tsconfig_test" if testonly else "//packages/language-service:tsconfig_build"
if native.package_name().startswith("packages/localize/tools"):
return "//packages:tsconfig_test" if testonly else "//packages/localize/tools:tsconfig_build"
if native.package_name().startswith("packages/common/locales/generate-locales-tool"):
return "//packages:tsconfig_test" if testonly else "//packages/common/locales/generate-locales-tool:tsconfig_build"
if native.package_name().startswith("packages/examples"):
return "//packages/examples:tsconfig_test" if testonly else "//packages/examples:tsconfig_build"
if native.package_name().startswith("packages"):
return "//packages:tsconfig_test" if testonly else "//packages:tsconfig_build"
if native.package_name().startswith("tools"):
return "//tools:tsconfig_test" if testonly else "//tools:tsconfig_build"
if native.package_name().startswith("vscode-ng-language-service"):
return "//vscode-ng-language-service:tsconfig_test" if testonly else "//vscode-ng-language-service:tsconfig_build"
fail("Failing... a tsconfig value must be provided.")
def ts_project(
name,
deps = [],
srcs = [],
source_map = True,
testonly = False,
tsconfig = None,
**kwargs):
if tsconfig == None:
tsconfig = _determine_tsconfig(testonly)
_ts_project(
name,
srcs = srcs,
deps = deps,
declaration = True,
source_map = source_map,
testonly = testonly,
tsconfig = tsconfig,
**kwargs
)
strict_deps_test(
name = "%s_deps" % name,
srcs = srcs,
tsconfig = tsconfig,
deps = deps,
)
def ng_project(
name,
deps = [],
srcs = [],
source_map = True,
testonly = False,
tsconfig = None,
**kwargs):
if tsconfig == None:
tsconfig = _determine_tsconfig(testonly)
_ng_project(
name,
srcs = srcs,
deps = deps,
declaration = True,
source_map = source_map,
testonly = testonly,
tsconfig = tsconfig,
**kwargs
)
strict_deps_test(
name = "%s_deps" % name,
srcs = srcs,
tsconfig = tsconfig,
deps = deps,
)
def generate_api_docs(**kwargs):
_generate_api_docs(
# We need to specify import mappings for Angular packages that import other Angular
# packages.
import_map = {
# We only need to specify top-level entry-points, and only those that
# are imported from other packages.
"//packages/animations:index.ts": "@angular/animations",
"//packages/common:index.ts": "@angular/common",
"//packages/core:index.ts": "@angular/core",
"//packages/forms:index.ts": "@angular/forms",
"//packages/localize:index.ts": "@angular/localize",
"//packages/platform-browser-dynamic:index.ts": "@angular/platform-browser-dynamic",
"//packages/platform-browser:index.ts": "@angular/platform-browser",
"//packages/platform-server:index.ts": "@angular/platform-server",
"//packages/router:index.ts": "@angular/router",
"//packages/upgrade:index.ts": "@angular/upgrade",
},
**kwargs
)