Skip to content

Commit 717dd45

Browse files
authored
build(bazel): add rules for moment adapter and experimental packages (#10689)
1 parent a9750c1 commit 717dd45

File tree

8 files changed

+97
-36
lines changed

8 files changed

+97
-36
lines changed

packages.bzl

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# List of all @angular/material components / subpackages.
1+
# List of all components / subpackages.
2+
23
CDK_PACKAGES = [
34
"coercion",
45
"keycodes",
@@ -18,6 +19,8 @@ CDK_PACKAGES = [
1819
"collections",
1920
]
2021

22+
CDK_TARGETS = ["//src/cdk"] + ["//src/cdk/%s" % p for p in CDK_PACKAGES]
23+
2124
MATERIAL_PACKAGES = [
2225
"autocomplete",
2326
"badge",
@@ -55,3 +58,25 @@ MATERIAL_PACKAGES = [
5558
"tooltip",
5659
"tree",
5760
]
61+
62+
MATERIAL_TARGETS = ["//src/lib:material"] + ["//src/lib/%s" % p for p in MATERIAL_PACKAGES]
63+
64+
# Base rollup globals for everything in the repo.
65+
ROLLUP_GLOBALS = {
66+
'tslib': 'tslib',
67+
'moment': 'moment',
68+
'@angular/cdk': 'ng.cdk',
69+
'@angular/cdk-experimental': 'ng.cdkExperimental',
70+
'@angular/material': 'ng.material',
71+
'@angular/material-experimental': 'ng.materialExperimental',
72+
}
73+
74+
# Rollup globals for cdk subpackages in the form of, e.g., {"@angular/cdk/table": "ng.cdk.table"}
75+
ROLLUP_GLOBALS.update({
76+
"@angular/cdk/%s" % p: "ng.cdk.%s" % p for p in CDK_PACKAGES
77+
})
78+
79+
# Rollup globals for material subpackages, e.g., {"@angular/material/list": "ng.material.list"}
80+
ROLLUP_GLOBALS.update({
81+
"@angular/material/%s" % p: "ng.material.%s" % p for p in MATERIAL_PACKAGES
82+
})

src/cdk-experimental/BUILD.bazel

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package(default_visibility=["//visibility:public"])
2+
load("@angular//:index.bzl", "ng_module", "ng_package")
3+
load("//:packages.bzl", "CDK_TARGETS", "ROLLUP_GLOBALS")
4+
5+
6+
ng_module(
7+
name = "cdk-experimental",
8+
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
9+
module_name = "@angular/cdk-experimental",
10+
deps = CDK_TARGETS,
11+
assets = glob(["**/*.css", "**/*.html"]),
12+
tsconfig = "//src/lib:tsconfig-build.json",
13+
)
14+
15+
ng_package(
16+
name = "npm_package",
17+
srcs = ["package.json"],
18+
entry_point = "src/cdk-experimental/public_api.js",
19+
globals = ROLLUP_GLOBALS,
20+
deps = [":cdk-experimental"],
21+
)

src/cdk/BUILD.bazel

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package(default_visibility=["//visibility:public"])
22
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
33
load("@angular//:index.bzl", "ng_package")
4-
load("//:packages.bzl", "CDK_PACKAGES")
5-
load("//src/cdk:rollup_globals.bzl", "CDK_ROLLUP_GLOBALS")
6-
4+
load("//:packages.bzl", "CDK_TARGETS", "ROLLUP_GLOBALS")
75

86
# Export the CDK tsconfig so that subpackages can reference it directly.
97
exports_files(["tsconfig-build.json"])
@@ -22,6 +20,6 @@ ng_package(
2220
name = "npm_package",
2321
srcs = ["package.json"],
2422
entry_point = "src/cdk/public_api.js",
25-
globals = CDK_ROLLUP_GLOBALS,
26-
deps = [":cdk"] + ["//src/cdk/%s" % p for p in CDK_PACKAGES]
23+
globals = ROLLUP_GLOBALS,
24+
deps = CDK_TARGETS,
2725
)

src/cdk/rollup_globals.bzl

Lines changed: 0 additions & 12 deletions
This file was deleted.

src/lib/BUILD.bazel

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
package(default_visibility=["//visibility:public"])
12
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
23
load("@angular//:index.bzl", "ng_package", "ng_module")
34
load("//tools:sass_bundle.bzl", "sass_bundle")
4-
load("//:packages.bzl", "MATERIAL_PACKAGES")
5-
load("//src/lib:rollup_globals.bzl", "MATERIAL_ROLLUP_GLOBALS")
5+
load("//:packages.bzl", "MATERIAL_PACKAGES", "MATERIAL_TARGETS", "ROLLUP_GLOBALS")
66

77

88
# Export the root material tsconfig so that subpackages can reference it directly.
@@ -41,7 +41,7 @@ sass_bundle(
4141
# ],
4242
# entry_point = "src/lib/public_api.js",
4343
# entry_point_name = "material",
44-
# globals = MATERIAL_ROLLUP_GLOBALS,
44+
# globals = ROLLUP_GLOBALS,
4545
# data = [
4646
# ":theming_bundle",
4747
# "//src/lib/prebuilt-themes:indigo-pink",
@@ -50,7 +50,5 @@ sass_bundle(
5050
# "//src/lib/prebuilt-themes:purple-green",
5151
# ],
5252
# packages = ["//src/lib/schematics:npm_package"],
53-
# deps = [
54-
# ":material",
55-
# ] + ["//src/lib/%s" % p for p in MATERIAL_PACKAGES],
53+
# deps = MATERIAL_TARGETS
5654
#)

src/lib/rollup_globals.bzl

Lines changed: 0 additions & 12 deletions
This file was deleted.

src/material-experimental/BUILD.bazel

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package(default_visibility=["//visibility:public"])
2+
load("@angular//:index.bzl", "ng_module", "ng_package")
3+
load("//:packages.bzl", "CDK_TARGETS", "ROLLUP_GLOBALS")
4+
5+
6+
ng_module(
7+
name = "material-experimental",
8+
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
9+
module_name = "@angular/material-experimental",
10+
deps = [
11+
"//src/lib:material",
12+
] + CDK_TARGETS,
13+
tsconfig = "//src/lib:tsconfig-build.json",
14+
)
15+
16+
ng_package(
17+
name = "npm_package",
18+
srcs = ["package.json"],
19+
entry_point = "src/material-experimental/public_api.js",
20+
globals = ROLLUP_GLOBALS,
21+
deps = [":material-experimental"],
22+
)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package(default_visibility=["//visibility:public"])
2+
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
3+
load("@angular//:index.bzl", "ng_package")
4+
load("//:packages.bzl", "ROLLUP_GLOBALS")
5+
6+
7+
ts_library(
8+
name = "material-moment-adapter",
9+
srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]),
10+
module_name = "@angular/material-moment-adapter",
11+
deps = ["//src/lib:material"],
12+
tsconfig = "//src/material-moment-adapter:tsconfig-build.json",
13+
)
14+
15+
ng_package(
16+
name = "npm_package",
17+
srcs = ["package.json"],
18+
entry_point = "src/material-moment-adapter/public_api.js",
19+
globals = ROLLUP_GLOBALS,
20+
deps = [":material-moment-adapter"],
21+
)

0 commit comments

Comments
 (0)