From 717dd451ed19182c7992bd1eeb90d08c6eb95012 Mon Sep 17 00:00:00 2001 From: Jeremy Elbourn Date: Tue, 3 Apr 2018 16:05:43 -0700 Subject: [PATCH] build(bazel): add rules for moment adapter and experimental packages (#10689) --- packages.bzl | 27 ++++++++++++++++++++++++- src/cdk-experimental/BUILD.bazel | 21 +++++++++++++++++++ src/cdk/BUILD.bazel | 8 +++----- src/cdk/rollup_globals.bzl | 12 ----------- src/lib/BUILD.bazel | 10 ++++----- src/lib/rollup_globals.bzl | 12 ----------- src/material-experimental/BUILD.bazel | 22 ++++++++++++++++++++ src/material-moment-adapter/BUILD.bazel | 21 +++++++++++++++++++ 8 files changed, 97 insertions(+), 36 deletions(-) create mode 100644 src/cdk-experimental/BUILD.bazel delete mode 100644 src/cdk/rollup_globals.bzl delete mode 100644 src/lib/rollup_globals.bzl create mode 100644 src/material-experimental/BUILD.bazel create mode 100644 src/material-moment-adapter/BUILD.bazel diff --git a/packages.bzl b/packages.bzl index 2162ca15b60..e5dd3724523 100644 --- a/packages.bzl +++ b/packages.bzl @@ -1,4 +1,5 @@ -# List of all @angular/material components / subpackages. +# List of all components / subpackages. + CDK_PACKAGES = [ "coercion", "keycodes", @@ -18,6 +19,8 @@ CDK_PACKAGES = [ "collections", ] +CDK_TARGETS = ["//src/cdk"] + ["//src/cdk/%s" % p for p in CDK_PACKAGES] + MATERIAL_PACKAGES = [ "autocomplete", "badge", @@ -55,3 +58,25 @@ MATERIAL_PACKAGES = [ "tooltip", "tree", ] + +MATERIAL_TARGETS = ["//src/lib:material"] + ["//src/lib/%s" % p for p in MATERIAL_PACKAGES] + +# Base rollup globals for everything in the repo. +ROLLUP_GLOBALS = { + 'tslib': 'tslib', + 'moment': 'moment', + '@angular/cdk': 'ng.cdk', + '@angular/cdk-experimental': 'ng.cdkExperimental', + '@angular/material': 'ng.material', + '@angular/material-experimental': 'ng.materialExperimental', +} + +# Rollup globals for cdk subpackages in the form of, e.g., {"@angular/cdk/table": "ng.cdk.table"} +ROLLUP_GLOBALS.update({ + "@angular/cdk/%s" % p: "ng.cdk.%s" % p for p in CDK_PACKAGES +}) + +# Rollup globals for material subpackages, e.g., {"@angular/material/list": "ng.material.list"} +ROLLUP_GLOBALS.update({ + "@angular/material/%s" % p: "ng.material.%s" % p for p in MATERIAL_PACKAGES +}) diff --git a/src/cdk-experimental/BUILD.bazel b/src/cdk-experimental/BUILD.bazel new file mode 100644 index 00000000000..6703ee2f940 --- /dev/null +++ b/src/cdk-experimental/BUILD.bazel @@ -0,0 +1,21 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module", "ng_package") +load("//:packages.bzl", "CDK_TARGETS", "ROLLUP_GLOBALS") + + +ng_module( + name = "cdk-experimental", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/cdk-experimental", + deps = CDK_TARGETS, + assets = glob(["**/*.css", "**/*.html"]), + tsconfig = "//src/lib:tsconfig-build.json", +) + +ng_package( + name = "npm_package", + srcs = ["package.json"], + entry_point = "src/cdk-experimental/public_api.js", + globals = ROLLUP_GLOBALS, + deps = [":cdk-experimental"], +) diff --git a/src/cdk/BUILD.bazel b/src/cdk/BUILD.bazel index f5b7dc088f9..d40483d5c8f 100644 --- a/src/cdk/BUILD.bazel +++ b/src/cdk/BUILD.bazel @@ -1,9 +1,7 @@ package(default_visibility=["//visibility:public"]) load("@build_bazel_rules_typescript//:defs.bzl", "ts_library") load("@angular//:index.bzl", "ng_package") -load("//:packages.bzl", "CDK_PACKAGES") -load("//src/cdk:rollup_globals.bzl", "CDK_ROLLUP_GLOBALS") - +load("//:packages.bzl", "CDK_TARGETS", "ROLLUP_GLOBALS") # Export the CDK tsconfig so that subpackages can reference it directly. exports_files(["tsconfig-build.json"]) @@ -22,6 +20,6 @@ ng_package( name = "npm_package", srcs = ["package.json"], entry_point = "src/cdk/public_api.js", - globals = CDK_ROLLUP_GLOBALS, - deps = [":cdk"] + ["//src/cdk/%s" % p for p in CDK_PACKAGES] + globals = ROLLUP_GLOBALS, + deps = CDK_TARGETS, ) diff --git a/src/cdk/rollup_globals.bzl b/src/cdk/rollup_globals.bzl deleted file mode 100644 index e12e02f484c..00000000000 --- a/src/cdk/rollup_globals.bzl +++ /dev/null @@ -1,12 +0,0 @@ -load("//:packages.bzl", "CDK_PACKAGES") - -# Base rollup globals for dependencies and the root entry-point. -CDK_ROLLUP_GLOBALS = { - 'tslib': 'tslib', - '@angular/cdk': 'ng.cdk', -} - -# Rollup globals for subpackages in the form of, e.g., {"@angular/cdk/table": "ng.cdk.table"} -CDK_ROLLUP_GLOBALS.update({ - "@angular/cdk/%s" % p: "ng.cdk.%s" % p for p in CDK_PACKAGES -}) diff --git a/src/lib/BUILD.bazel b/src/lib/BUILD.bazel index 9c7d4b52d68..598c96195ba 100644 --- a/src/lib/BUILD.bazel +++ b/src/lib/BUILD.bazel @@ -1,8 +1,8 @@ +package(default_visibility=["//visibility:public"]) load("@build_bazel_rules_typescript//:defs.bzl", "ts_library") load("@angular//:index.bzl", "ng_package", "ng_module") load("//tools:sass_bundle.bzl", "sass_bundle") -load("//:packages.bzl", "MATERIAL_PACKAGES") -load("//src/lib:rollup_globals.bzl", "MATERIAL_ROLLUP_GLOBALS") +load("//:packages.bzl", "MATERIAL_PACKAGES", "MATERIAL_TARGETS", "ROLLUP_GLOBALS") # Export the root material tsconfig so that subpackages can reference it directly. @@ -41,7 +41,7 @@ sass_bundle( # ], # entry_point = "src/lib/public_api.js", # entry_point_name = "material", -# globals = MATERIAL_ROLLUP_GLOBALS, +# globals = ROLLUP_GLOBALS, # data = [ # ":theming_bundle", # "//src/lib/prebuilt-themes:indigo-pink", @@ -50,7 +50,5 @@ sass_bundle( # "//src/lib/prebuilt-themes:purple-green", # ], # packages = ["//src/lib/schematics:npm_package"], -# deps = [ -# ":material", -# ] + ["//src/lib/%s" % p for p in MATERIAL_PACKAGES], +# deps = MATERIAL_TARGETS #) diff --git a/src/lib/rollup_globals.bzl b/src/lib/rollup_globals.bzl deleted file mode 100644 index 34a98e9cb54..00000000000 --- a/src/lib/rollup_globals.bzl +++ /dev/null @@ -1,12 +0,0 @@ -load("//:packages.bzl", "MATERIAL_PACKAGES") - -# Base rollup globals for dependencies and the root entry-point. -MATERIAL_ROLLUP_GLOBALS = { - 'tslib': 'tslib', - '@angular/material': 'ng.material', -} - -# Rollup globals for subpackages, e.g., {"@angular/material/list": "ng.material.list"} -MATERIAL_ROLLUP_GLOBALS.update({ - "@angular/material/%s" % p: "ng.material.%s" % p for p in MATERIAL_PACKAGES -}) diff --git a/src/material-experimental/BUILD.bazel b/src/material-experimental/BUILD.bazel new file mode 100644 index 00000000000..5ec6613ce76 --- /dev/null +++ b/src/material-experimental/BUILD.bazel @@ -0,0 +1,22 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module", "ng_package") +load("//:packages.bzl", "CDK_TARGETS", "ROLLUP_GLOBALS") + + +ng_module( + name = "material-experimental", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material-experimental", + deps = [ + "//src/lib:material", + ] + CDK_TARGETS, + tsconfig = "//src/lib:tsconfig-build.json", +) + +ng_package( + name = "npm_package", + srcs = ["package.json"], + entry_point = "src/material-experimental/public_api.js", + globals = ROLLUP_GLOBALS, + deps = [":material-experimental"], +) diff --git a/src/material-moment-adapter/BUILD.bazel b/src/material-moment-adapter/BUILD.bazel new file mode 100644 index 00000000000..ded7454db1b --- /dev/null +++ b/src/material-moment-adapter/BUILD.bazel @@ -0,0 +1,21 @@ +package(default_visibility=["//visibility:public"]) +load("@build_bazel_rules_typescript//:defs.bzl", "ts_library") +load("@angular//:index.bzl", "ng_package") +load("//:packages.bzl", "ROLLUP_GLOBALS") + + +ts_library( + name = "material-moment-adapter", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material-moment-adapter", + deps = ["//src/lib:material"], + tsconfig = "//src/material-moment-adapter:tsconfig-build.json", +) + +ng_package( + name = "npm_package", + srcs = ["package.json"], + entry_point = "src/material-moment-adapter/public_api.js", + globals = ROLLUP_GLOBALS, + deps = [":material-moment-adapter"], +)