From e18736e7222baf97e4ca2f52af06e1b0706e2f87 Mon Sep 17 00:00:00 2001 From: Jeremy Elbourn Date: Mon, 13 Nov 2017 09:43:52 -0800 Subject: [PATCH] build(material): add bazel rules for all components Part of #8369 --- .circleci/config.yml | 7 +- WORKSPACE | 3 +- package-lock.json | 907 ++++++++++++++++++++++++++- package.json | 2 +- src/cdk/a11y/BUILD.bazel | 6 + src/lib/autocomplete/BUILD.bazel | 39 ++ src/lib/button-toggle/BUILD.bazel | 34 + src/lib/button/BUILD.bazel | 41 ++ src/lib/card/BUILD.bazel | 31 + src/lib/checkbox/BUILD.bazel | 35 ++ src/lib/chips/BUILD.bazel | 38 ++ src/lib/core/BUILD.bazel | 42 ++ src/lib/core/typings.d.ts | 1 + src/lib/datepicker/BUILD.bazel | 75 +++ src/lib/dialog/BUILD.bazel | 36 ++ src/lib/expansion/BUILD.bazel | 55 ++ src/lib/form-field/BUILD.bazel | 37 ++ src/lib/grid-list/BUILD.bazel | 32 + src/lib/icon/BUILD.bazel | 32 + src/lib/input/BUILD.bazel | 34 + src/lib/list/BUILD.bazel | 35 ++ src/lib/menu/BUILD.bazel | 37 ++ src/lib/paginator/BUILD.bazel | 36 ++ src/lib/progress-bar/BUILD.bazel | 32 + src/lib/progress-spinner/BUILD.bazel | 32 + src/lib/radio/BUILD.bazel | 35 ++ src/lib/radio/radio-module.ts | 14 +- src/lib/select/BUILD.bazel | 40 ++ src/lib/sidenav/BUILD.bazel | 38 ++ src/lib/slide-toggle/BUILD.bazel | 36 ++ src/lib/slider/BUILD.bazel | 37 ++ src/lib/snack-bar/BUILD.bazel | 54 ++ src/lib/sort/BUILD.bazel | 35 ++ src/lib/stepper/BUILD.bazel | 57 ++ src/lib/table/BUILD.bazel | 35 ++ src/lib/tabs/BUILD.bazel | 107 ++++ src/lib/toolbar/BUILD.bazel | 32 + src/lib/tooltip/BUILD.bazel | 41 ++ tools/bazel.rc | 4 - 39 files changed, 2205 insertions(+), 19 deletions(-) create mode 100644 src/lib/autocomplete/BUILD.bazel create mode 100644 src/lib/button-toggle/BUILD.bazel create mode 100644 src/lib/button/BUILD.bazel create mode 100644 src/lib/card/BUILD.bazel create mode 100644 src/lib/checkbox/BUILD.bazel create mode 100644 src/lib/chips/BUILD.bazel create mode 100644 src/lib/core/BUILD.bazel create mode 100644 src/lib/core/typings.d.ts create mode 100644 src/lib/datepicker/BUILD.bazel create mode 100644 src/lib/dialog/BUILD.bazel create mode 100644 src/lib/expansion/BUILD.bazel create mode 100644 src/lib/form-field/BUILD.bazel create mode 100644 src/lib/grid-list/BUILD.bazel create mode 100644 src/lib/icon/BUILD.bazel create mode 100644 src/lib/input/BUILD.bazel create mode 100644 src/lib/list/BUILD.bazel create mode 100644 src/lib/menu/BUILD.bazel create mode 100644 src/lib/paginator/BUILD.bazel create mode 100644 src/lib/progress-bar/BUILD.bazel create mode 100644 src/lib/progress-spinner/BUILD.bazel create mode 100644 src/lib/radio/BUILD.bazel create mode 100644 src/lib/select/BUILD.bazel create mode 100644 src/lib/sidenav/BUILD.bazel create mode 100644 src/lib/slide-toggle/BUILD.bazel create mode 100644 src/lib/slider/BUILD.bazel create mode 100644 src/lib/snack-bar/BUILD.bazel create mode 100644 src/lib/sort/BUILD.bazel create mode 100644 src/lib/stepper/BUILD.bazel create mode 100644 src/lib/table/BUILD.bazel create mode 100644 src/lib/tabs/BUILD.bazel create mode 100644 src/lib/toolbar/BUILD.bazel create mode 100644 src/lib/tooltip/BUILD.bazel diff --git a/.circleci/config.yml b/.circleci/config.yml index 95b6716d2957..577f76b897cd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,7 +11,7 @@ anchor_1: &job_defaults working_directory: ~/ng docker: - - image: angular/ngcontainer:0.0.4 + - image: angular/ngcontainer:0.0.7 # After checkout, rebase on top of master. # Similar to travis behavior, but not quite the same. @@ -24,6 +24,7 @@ version: 2 jobs: build: <<: *job_defaults + resource_class: large steps: - checkout: <<: *post_checkout @@ -32,9 +33,9 @@ jobs: - run: bazel run @nodejs//:npm install # For some reason, circleci needs the postinstall to be run explicitly. - # This may be unnecessary once ngcontainer uses nodejs 8 + # This may be unnecessary once rules_nodejs uses nodejs 8 - run: bazel run @nodejs//:npm run postinstall - - run: bazel build src/cdk/... + - run: bazel build src/... - save_cache: key: material2-{{ .Branch }}-{{ checksum "package-lock.json" }} paths: diff --git a/WORKSPACE b/WORKSPACE index 4a83e3b02875..261c03798513 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -16,7 +16,7 @@ node_repositories(package_json = ["//:package.json"]) git_repository( name = "io_bazel_rules_sass", remote = "https://github.com/bazelbuild/rules_sass.git", - tag = "0.0.2", + tag = "0.0.3", ) load("@io_bazel_rules_sass//sass:sass.bzl", "sass_repositories") @@ -38,6 +38,7 @@ local_repository( path = "node_modules/@angular/bazel", ) +# Add rxjs local_repository( name = "rxjs", path = "node_modules/rxjs/src", diff --git a/package-lock.json b/package-lock.json index a8e3a17bc270..18472554a39d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "material2-srcs", - "version": "5.0.1", + "version": "5.0.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2808,6 +2808,7 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", + "fsevents": "1.1.3", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -5852,6 +5853,910 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.8.0", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, "fstream": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", diff --git a/package.json b/package.json index abefdebc8881..49c88dab33da 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "tsconfig-paths": "^2.3.0", "tslint": "^5.8.0", "tsutils": "^2.6.0", - "typescript": "~2.5.2", + "typescript": "~2.5.3", "uglify-js": "^2.8.14", "web-animations-js": "^2.2.5" } diff --git a/src/cdk/a11y/BUILD.bazel b/src/cdk/a11y/BUILD.bazel index 6c007699cc75..a5b2a69b2a57 100644 --- a/src/cdk/a11y/BUILD.bazel +++ b/src/cdk/a11y/BUILD.bazel @@ -1,5 +1,11 @@ package(default_visibility=["//visibility:public"]) load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library") + +sass_library( + name = "a11y_scss_lib", + srcs = glob(["**/_*.scss"]), +) ng_module( name = "a11y", diff --git a/src/lib/autocomplete/BUILD.bazel b/src/lib/autocomplete/BUILD.bazel new file mode 100644 index 000000000000..374e307fb0c8 --- /dev/null +++ b/src/lib/autocomplete/BUILD.bazel @@ -0,0 +1,39 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "autocomplete", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/autocomplete", + assets = [":autocomplete_css"], + deps = [ + "//src/lib/core", + "//src/lib/form-field", + "//src/cdk/a11y", + "//src/cdk/bidi", + "//src/cdk/collections", + "//src/cdk/keycodes", + "//src/cdk/portal", + "//src/cdk/overlay", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "autocomplete_scss", + src = "autocomplete.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "autocomplete_css", + srcs = [":autocomplete_scss"], + outs = ["autocomplete.css"], + cmd = "cat $(locations :autocomplete_scss) > $@", +) + diff --git a/src/lib/button-toggle/BUILD.bazel b/src/lib/button-toggle/BUILD.bazel new file mode 100644 index 000000000000..25c31bb4469f --- /dev/null +++ b/src/lib/button-toggle/BUILD.bazel @@ -0,0 +1,34 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "button-toggle", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/button_toggle", + assets = [":button_toggle_css"], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/coercion", + "//src/cdk/collections", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "button_toggle_scss", + src = "button-toggle.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "button_toggle_css", + srcs = [":button_toggle_scss"], + outs = ["button-toggle.css"], + cmd = "cat $(locations :button_toggle_scss) > $@", +) diff --git a/src/lib/button/BUILD.bazel b/src/lib/button/BUILD.bazel new file mode 100644 index 000000000000..f4f43a53bd75 --- /dev/null +++ b/src/lib/button/BUILD.bazel @@ -0,0 +1,41 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "button", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/button", + assets = [":button_css"], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/platform", + ], + tsconfig = ":tsconfig-build.json", +) + + +# Library of all button scss partials. +sass_library( + name = "button_scss_lib", + srcs = glob(["**/_*.scss"]), + deps = ["//src/lib/core:core_scss_lib"], +) + +sass_binary( + name = "button_scss", + src = "button.scss", + deps = [":button_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "button_css", + srcs = [":button_scss"], + outs = ["button.css"], + cmd = "cat $(locations :button_scss) > $@", +) + diff --git a/src/lib/card/BUILD.bazel b/src/lib/card/BUILD.bazel new file mode 100644 index 000000000000..0769fe20b95d --- /dev/null +++ b/src/lib/card/BUILD.bazel @@ -0,0 +1,31 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "card", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/card", + assets = [":card_css"], + deps = [ + "//src/lib/core", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "card_scss", + src = "card.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "card_css", + srcs = [":card_scss"], + outs = ["card.css"], + cmd = "cat $(locations :card_scss) > $@", +) diff --git a/src/lib/checkbox/BUILD.bazel b/src/lib/checkbox/BUILD.bazel new file mode 100644 index 000000000000..28dc3e349e50 --- /dev/null +++ b/src/lib/checkbox/BUILD.bazel @@ -0,0 +1,35 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "checkbox", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/checkbox", + assets = [":checkbox_css"], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/coercion", + "//src/cdk/observers", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "checkbox_scss", + src = "checkbox.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "checkbox_css", + srcs = [":checkbox_scss"], + outs = ["checkbox.css"], + cmd = "cat $(locations :checkbox_scss) > $@", +) + diff --git a/src/lib/chips/BUILD.bazel b/src/lib/chips/BUILD.bazel new file mode 100644 index 000000000000..c05f027f49aa --- /dev/null +++ b/src/lib/chips/BUILD.bazel @@ -0,0 +1,38 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "chips", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/chips", + assets = [":chips_css"], + deps = [ + "//src/lib/core", + "//src/lib/form-field", + "//src/cdk/a11y", + "//src/cdk/bidi", + "//src/cdk/coercion", + "//src/cdk/collections", + "//src/cdk/keycodes", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "chips_scss", + src = "chips.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "chips_css", + srcs = [":chips_scss"], + outs = ["chips.css"], + cmd = "cat $(locations :chips_scss) > $@", +) + diff --git a/src/lib/core/BUILD.bazel b/src/lib/core/BUILD.bazel new file mode 100644 index 000000000000..7610b8c12f92 --- /dev/null +++ b/src/lib/core/BUILD.bazel @@ -0,0 +1,42 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "core", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/core", + assets = [":pseudo_checkbox_css"], + deps = [ + "//src/cdk/bidi", + "//src/cdk/coercion", + "//src/cdk/keycodes", + "//src/cdk/platform", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + + +# Library of all core scss partials. +sass_library( + name = "core_scss_lib", + srcs = glob(["**/_*.scss"]), + deps = ["//src/cdk/a11y:a11y_scss_lib"], +) + +sass_binary( + name = "pseudo_checkbox_scss", + src = "selection/pseudo-checkbox/pseudo-checkbox.scss", + deps = [":core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "pseudo_checkbox_css", + srcs = [":pseudo_checkbox_scss"], + outs = ["selection/pseudo-checkbox/pseudo-checkbox.css"], + cmd = "cat $(locations :pseudo_checkbox_scss) > $@", +) diff --git a/src/lib/core/typings.d.ts b/src/lib/core/typings.d.ts new file mode 100644 index 000000000000..ce4ae9b66cf0 --- /dev/null +++ b/src/lib/core/typings.d.ts @@ -0,0 +1 @@ +declare var module: {id: string}; diff --git a/src/lib/datepicker/BUILD.bazel b/src/lib/datepicker/BUILD.bazel new file mode 100644 index 000000000000..c09f65c292fe --- /dev/null +++ b/src/lib/datepicker/BUILD.bazel @@ -0,0 +1,75 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "datepicker", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/datepicker", + assets = [ + ":datepicker_content_css", + ":calendar_body_css", + ":calendar_css", + ], + deps = [ + "//src/lib/core", + "//src/lib/button", + "//src/lib/dialog", + "//src/lib/icon", + "//src/lib/input", + "//src/cdk/a11y", + "//src/cdk/bidi", + "//src/cdk/coercion", + "//src/cdk/keycodes", + "//src/cdk/portal", + "//src/cdk/overlay", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "datepicker_content_scss", + src = "datepicker-content.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +sass_binary( + name = "calendar_scss", + src = "calendar.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +sass_binary( + name = "calendar_body_scss", + src = "calendar-body.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "datepicker_content_css", + srcs = [":datepicker_content_scss"], + outs = ["datepicker-content.css"], + cmd = "cat $(locations :datepicker_content_scss) > $@", +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "calendar_css", + srcs = [":calendar_scss"], + outs = ["calendar.css"], + cmd = "cat $(locations :calendar_scss) > $@", +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "calendar_body_css", + srcs = [":calendar_body_scss"], + outs = ["calendar-body.css"], + cmd = "cat $(locations :calendar_body_scss) > $@", +) diff --git a/src/lib/dialog/BUILD.bazel b/src/lib/dialog/BUILD.bazel new file mode 100644 index 000000000000..493597f3d986 --- /dev/null +++ b/src/lib/dialog/BUILD.bazel @@ -0,0 +1,36 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "dialog", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/dialog", + assets = [":dialog_css"], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/bidi", + "//src/cdk/keycodes", + "//src/cdk/overlay", + "//src/cdk/portal", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "dialog_scss", + src = "dialog.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "dialog_css", + srcs = [":dialog_scss"], + outs = ["dialog.css"], + cmd = "cat $(locations :dialog_scss) > $@", +) diff --git a/src/lib/expansion/BUILD.bazel b/src/lib/expansion/BUILD.bazel new file mode 100644 index 000000000000..d977b5beb401 --- /dev/null +++ b/src/lib/expansion/BUILD.bazel @@ -0,0 +1,55 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "expansion", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/expansion", + assets = [ + ":expansion_panel_css", + "expansion_panel_header_css", + ], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/accordion", + "//src/cdk/coercion", + "//src/cdk/collections", + "//src/cdk/keycodes", + "//src/cdk/portal", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "expansion_panel_scss", + src = "expansion-panel.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +sass_binary( + name = "expansion_panel_header_scss", + src = "expansion-panel-header.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "expansion_panel_css", + srcs = [":expansion_panel_scss"], + outs = ["expansion-panel.css"], + cmd = "cat $(locations :expansion_panel_scss) > $@", +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "expansion_panel_header_css", + srcs = [":expansion_panel_header_scss"], + outs = ["expansion-panel-header.css"], + cmd = "cat $(locations :expansion_panel_header_scss) > $@", +) diff --git a/src/lib/form-field/BUILD.bazel b/src/lib/form-field/BUILD.bazel new file mode 100644 index 000000000000..f88d4b2e648d --- /dev/null +++ b/src/lib/form-field/BUILD.bazel @@ -0,0 +1,37 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "form-field", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/form-field", + assets = [ + ":form_field_css", + "//src/lib/input:input_css" + ], + deps = [ + "//src/lib/core", + "//src/cdk/coercion", + "//src/cdk/platform", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "form_field_scss", + src = "form-field.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "form_field_css", + srcs = [":form_field_scss"], + outs = ["form-field.css"], + cmd = "cat $(locations :form_field_scss) > $@", +) + diff --git a/src/lib/grid-list/BUILD.bazel b/src/lib/grid-list/BUILD.bazel new file mode 100644 index 000000000000..dddf90e722d9 --- /dev/null +++ b/src/lib/grid-list/BUILD.bazel @@ -0,0 +1,32 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "grid-list", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/grid-list", + assets = [":grid_list_css"], + deps = [ + "//src/lib/core", + "//src/cdk/bidi", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "grid_list_scss", + src = "grid-list.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "grid_list_css", + srcs = [":grid_list_scss"], + outs = ["grid-list.css"], + cmd = "cat $(locations :grid_list_scss) > $@", +) diff --git a/src/lib/icon/BUILD.bazel b/src/lib/icon/BUILD.bazel new file mode 100644 index 000000000000..9d942e29f739 --- /dev/null +++ b/src/lib/icon/BUILD.bazel @@ -0,0 +1,32 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "icon", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/icon", + assets = [":icon_css"], + deps = [ + "//src/lib/core", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "icon_scss", + src = "icon.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "icon_css", + srcs = [":icon_scss"], + outs = ["icon.css"], + cmd = "cat $(locations :icon_scss) > $@", +) + diff --git a/src/lib/input/BUILD.bazel b/src/lib/input/BUILD.bazel new file mode 100644 index 000000000000..6bd7b7bbe66f --- /dev/null +++ b/src/lib/input/BUILD.bazel @@ -0,0 +1,34 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "input", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/input", + deps = [ + "//src/lib/core", + "//src/lib/form-field", + "//src/cdk/coercion", + "//src/cdk/platform", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "input_scss", + src = "input.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "input_css", + srcs = [":input_scss"], + outs = ["input.css"], + cmd = "cat $(locations :input_scss) > $@", +) + diff --git a/src/lib/list/BUILD.bazel b/src/lib/list/BUILD.bazel new file mode 100644 index 000000000000..123e4435cda9 --- /dev/null +++ b/src/lib/list/BUILD.bazel @@ -0,0 +1,35 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "list", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/list", + assets = [":list_css"], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/coercion", + "//src/cdk/collections", + "//src/cdk/keycodes", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "list_scss", + src = "list.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "list_css", + srcs = [":list_scss"], + outs = ["list.css"], + cmd = "cat $(locations :list_scss) > $@", +) diff --git a/src/lib/menu/BUILD.bazel b/src/lib/menu/BUILD.bazel new file mode 100644 index 000000000000..6f4f2db438dc --- /dev/null +++ b/src/lib/menu/BUILD.bazel @@ -0,0 +1,37 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "menu", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/menu", + assets = [":menu_css"], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/bidi", + "//src/cdk/coercion", + "//src/cdk/keycodes", + "//src/cdk/overlay", + "//src/cdk/portal", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "menu_scss", + src = "menu.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "menu_css", + srcs = [":menu_scss"], + outs = ["menu.css"], + cmd = "cat $(locations :menu_scss) > $@", +) diff --git a/src/lib/paginator/BUILD.bazel b/src/lib/paginator/BUILD.bazel new file mode 100644 index 000000000000..f1a7689892c4 --- /dev/null +++ b/src/lib/paginator/BUILD.bazel @@ -0,0 +1,36 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "paginator", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/paginator", + assets = [":paginator_css"], + deps = [ + "//src/lib/core", + "//src/lib/button", + "//src/lib/select", + "//src/lib/tooltip", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "paginator_scss", + src = "paginator.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "paginator_css", + srcs = [":paginator_scss"], + outs = ["paginator.css"], + cmd = "cat $(locations :paginator_scss) > $@", +) + diff --git a/src/lib/progress-bar/BUILD.bazel b/src/lib/progress-bar/BUILD.bazel new file mode 100644 index 000000000000..d4df80ec9a0b --- /dev/null +++ b/src/lib/progress-bar/BUILD.bazel @@ -0,0 +1,32 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "progress-bar", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/progress_bar", + assets = [":progress_bar_css"], + deps = [ + "//src/lib/core", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "progress_bar_scss", + src = "progress-bar.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "progress_bar_css", + srcs = [":progress_bar_scss"], + outs = ["progress-bar.css"], + cmd = "cat $(locations :progress_bar_scss) > $@", +) + diff --git a/src/lib/progress-spinner/BUILD.bazel b/src/lib/progress-spinner/BUILD.bazel new file mode 100644 index 000000000000..7091b6759c16 --- /dev/null +++ b/src/lib/progress-spinner/BUILD.bazel @@ -0,0 +1,32 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "progress-spinner", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/progress_spinner", + assets = [":progress_spinner_css"], + deps = [ + "//src/lib/core", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "progress_spinner_scss", + src = "progress-spinner.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "progress_spinner_css", + srcs = [":progress_spinner_scss"], + outs = ["progress-spinner.css"], + cmd = "cat $(locations :progress_spinner_scss) > $@", +) + diff --git a/src/lib/radio/BUILD.bazel b/src/lib/radio/BUILD.bazel new file mode 100644 index 000000000000..4d51c93224b8 --- /dev/null +++ b/src/lib/radio/BUILD.bazel @@ -0,0 +1,35 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "radio", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/radio", + assets = [":radio_css"], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/coercion", + "//src/cdk/collections", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "radio_scss", + src = "radio.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "radio_css", + srcs = [":radio_scss"], + outs = ["radio.css"], + cmd = "cat $(locations :radio_scss) > $@", +) + diff --git a/src/lib/radio/radio-module.ts b/src/lib/radio/radio-module.ts index 9cde81a1898b..f30720015777 100644 --- a/src/lib/radio/radio-module.ts +++ b/src/lib/radio/radio-module.ts @@ -6,21 +6,17 @@ * found in the LICENSE file at https://angular.io/license */ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; import {A11yModule} from '@angular/cdk/a11y'; import {UNIQUE_SELECTION_DISPATCHER_PROVIDER} from '@angular/cdk/collections'; -import {VIEWPORT_RULER_PROVIDER} from '@angular/cdk/overlay'; -import { - MatRippleModule, - MatCommonModule, -} from '@angular/material/core'; -import {MatRadioGroup, MatRadioButton} from './radio'; +import {CommonModule} from '@angular/common'; +import {NgModule} from '@angular/core'; +import {MatCommonModule, MatRippleModule} from '@angular/material/core'; +import {MatRadioButton, MatRadioGroup} from './radio'; @NgModule({ imports: [CommonModule, MatRippleModule, MatCommonModule, A11yModule], exports: [MatRadioGroup, MatRadioButton, MatCommonModule], - providers: [UNIQUE_SELECTION_DISPATCHER_PROVIDER, VIEWPORT_RULER_PROVIDER], + providers: [UNIQUE_SELECTION_DISPATCHER_PROVIDER], declarations: [MatRadioGroup, MatRadioButton], }) export class MatRadioModule {} diff --git a/src/lib/select/BUILD.bazel b/src/lib/select/BUILD.bazel new file mode 100644 index 000000000000..84c50e105003 --- /dev/null +++ b/src/lib/select/BUILD.bazel @@ -0,0 +1,40 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "select", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/select", + assets = [":select_css"], + deps = [ + "//src/lib/core", + "//src/lib/form-field", + "//src/cdk/a11y", + "//src/cdk/bidi", + "//src/cdk/coercion", + "//src/cdk/collections", + "//src/cdk/keycodes", + "//src/cdk/overlay", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "select_scss", + src = "select.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "select_css", + srcs = [":select_scss"], + outs = ["select.css"], + cmd = "cat $(locations :select_scss) > $@", +) + diff --git a/src/lib/sidenav/BUILD.bazel b/src/lib/sidenav/BUILD.bazel new file mode 100644 index 000000000000..c8879a6ab175 --- /dev/null +++ b/src/lib/sidenav/BUILD.bazel @@ -0,0 +1,38 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "sidenav", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/sidenav", + assets = [":drawer_css"], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/bidi", + "//src/cdk/coercion", + "//src/cdk/keycodes", + "//src/cdk/overlay", + "//src/cdk/scrolling", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "drawer_scss", + src = "drawer.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "drawer_css", + srcs = [":drawer_scss"], + outs = ["drawer.css"], + cmd = "cat $(locations :drawer_scss) > $@", +) diff --git a/src/lib/slide-toggle/BUILD.bazel b/src/lib/slide-toggle/BUILD.bazel new file mode 100644 index 000000000000..67cf7b61172e --- /dev/null +++ b/src/lib/slide-toggle/BUILD.bazel @@ -0,0 +1,36 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "slide-toggle", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/slide_toggle", + assets = [":slide_toggle_css"], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/coercion", + "//src/cdk/observers", + "//src/cdk/platform", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "slide_toggle_scss", + src = "slide-toggle.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "slide_toggle_css", + srcs = [":slide_toggle_scss"], + outs = ["slide-toggle.css"], + cmd = "cat $(locations :slide_toggle_scss) > $@", +) + diff --git a/src/lib/slider/BUILD.bazel b/src/lib/slider/BUILD.bazel new file mode 100644 index 000000000000..7c6407f92f9a --- /dev/null +++ b/src/lib/slider/BUILD.bazel @@ -0,0 +1,37 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "slider", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/slider", + assets = [":slider_css"], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/bidi", + "//src/cdk/coercion", + "//src/cdk/keycodes", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "slider_scss", + src = "slider.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "slider_css", + srcs = [":slider_scss"], + outs = ["slider.css"], + cmd = "cat $(locations :slider_scss) > $@", +) + diff --git a/src/lib/snack-bar/BUILD.bazel b/src/lib/snack-bar/BUILD.bazel new file mode 100644 index 000000000000..55acdd0a93fe --- /dev/null +++ b/src/lib/snack-bar/BUILD.bazel @@ -0,0 +1,54 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "snack-bar", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/snack_bar", + assets = [ + ":snack_bar_container_css", + "simple_snack_bar_css", + ], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/layout", + "//src/cdk/overlay", + "//src/cdk/portal", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "snack_bar_container_scss", + src = "snack-bar-container.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +sass_binary( + name = "simple_snack_bar_scss", + src = "simple-snack-bar.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "snack_bar_container_css", + srcs = [":snack_bar_container_scss"], + outs = ["snack-bar-container.css"], + cmd = "cat $(locations :snack_bar_container_scss) > $@", +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "simple_snack_bar_css", + srcs = [":simple_snack_bar_scss"], + outs = ["simple-snack-bar.css"], + cmd = "cat $(locations :simple_snack_bar_scss) > $@", +) diff --git a/src/lib/sort/BUILD.bazel b/src/lib/sort/BUILD.bazel new file mode 100644 index 000000000000..13efa3cfcf2c --- /dev/null +++ b/src/lib/sort/BUILD.bazel @@ -0,0 +1,35 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "sort", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/sort", + assets = [":sort_header_css"], + deps = [ + "//src/lib/core", + "//src/cdk/coercion", + "//src/cdk/table", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "sort_header_scss", + src = "sort-header.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "sort_header_css", + srcs = [":sort_header_scss"], + outs = ["sort-header.css"], + cmd = "cat $(locations :sort_header_scss) > $@", +) + diff --git a/src/lib/stepper/BUILD.bazel b/src/lib/stepper/BUILD.bazel new file mode 100644 index 000000000000..6d88ca69fe0b --- /dev/null +++ b/src/lib/stepper/BUILD.bazel @@ -0,0 +1,57 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "stepper", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/stepper", + assets = [ + ":stepper_css", + ":step_header_css", + ], + deps = [ + "//src/lib/core", + "//src/lib/button", + "//src/lib/icon", + "//src/cdk/a11y", + "//src/cdk/coercion", + "//src/cdk/portal", + "//src/cdk/stepper", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "stepper_scss", + src = "stepper.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +sass_binary( + name = "step_header_scss", + src = "step-header.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "stepper_css", + srcs = [":stepper_scss"], + outs = ["stepper.css"], + cmd = "cat $(locations :stepper_scss) > $@", +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "step_header_css", + srcs = [":step_header_scss"], + outs = ["step-header.css"], + cmd = "cat $(locations :step_header_scss) > $@", +) + diff --git a/src/lib/table/BUILD.bazel b/src/lib/table/BUILD.bazel new file mode 100644 index 000000000000..e05a6f6a3d4f --- /dev/null +++ b/src/lib/table/BUILD.bazel @@ -0,0 +1,35 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "table", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/table", + assets = [":table_css"], + deps = [ + "//src/lib/core", + "//src/lib/paginator", + "//src/lib/sort", + "//src/cdk/table", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "table_scss", + src = "table.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "table_css", + srcs = [":table_scss"], + outs = ["table.css"], + cmd = "cat $(locations :table_scss) > $@", +) diff --git a/src/lib/tabs/BUILD.bazel b/src/lib/tabs/BUILD.bazel new file mode 100644 index 000000000000..f3929268efc8 --- /dev/null +++ b/src/lib/tabs/BUILD.bazel @@ -0,0 +1,107 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "tabs", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/tabs", + assets = [ + "tab_body_css", + "tab_header_css", + "tab_group_css", + "tab_nav_bar_css", + ], + deps = [ + "//src/lib/core", + "//src/cdk/bidi", + "//src/cdk/coercion", + "//src/cdk/observers", + "//src/cdk/portal", + "//src/cdk/scrolling", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + + +# Library of all tabs scss partials. +sass_library( + name = "tabs_scss_lib", + srcs = glob(["**/_*.scss"]), + deps = ["//src/lib/core:core_scss_lib"], +) + +sass_binary( + name = "tab_body_scss", + src = "tab-body.scss", + deps = [ + "//src/lib/core:core_scss_lib", + "tabs_scss_lib", + ], +) + +sass_binary( + name = "tab_header_scss", + src = "tab-header.scss", + deps = [ + "//src/lib/core:core_scss_lib", + "tabs_scss_lib", + ], +) + +sass_binary( + name = "tab_group_scss", + src = "tab-group.scss", + deps = [ + "//src/lib/core:core_scss_lib", + "tabs_scss_lib", + ], +) + +sass_binary( + name = "tab_nav_bar_scss", + src = "tab-nav-bar/tab-nav-bar.scss", + deps = [ + "//src/lib/core:core_scss_lib", + "tabs_scss_lib", + ], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "tab_body_css", + srcs = [":tab_body_scss"], + outs = ["tab-body.css"], + cmd = "cat $(locations :tab_body_scss) > $@", +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "tab_header_css", + srcs = [":tab_header_scss"], + outs = ["tab-header.css"], + cmd = "cat $(locations :tab_header_scss) > $@", +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "tab_group_css", + srcs = [":tab_group_scss"], + outs = ["tab-group.css"], + cmd = "cat $(locations :tab_group_scss) > $@", +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "tab_nav_bar_css", + srcs = [":tab_nav_bar_scss"], + outs = ["tab-nav-bar/tab-nav-bar.css"], + cmd = "cat $(locations :tab_nav_bar_scss) > $@", +) + diff --git a/src/lib/toolbar/BUILD.bazel b/src/lib/toolbar/BUILD.bazel new file mode 100644 index 000000000000..79cbc08bbba5 --- /dev/null +++ b/src/lib/toolbar/BUILD.bazel @@ -0,0 +1,32 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "toolbar", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/toolbar", + assets = [":toolbar_css"], + deps = [ + "//src/lib/core", + "//src/cdk/platform", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "toolbar_scss", + src = "toolbar.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "toolbar_css", + srcs = [":toolbar_scss"], + outs = ["toolbar.css"], + cmd = "cat $(locations :toolbar_scss) > $@", +) diff --git a/src/lib/tooltip/BUILD.bazel b/src/lib/tooltip/BUILD.bazel new file mode 100644 index 000000000000..8a59608c8ed6 --- /dev/null +++ b/src/lib/tooltip/BUILD.bazel @@ -0,0 +1,41 @@ +package(default_visibility=["//visibility:public"]) +load("@angular//:index.bzl", "ng_module") +load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") + + +ng_module( + name = "tooltip", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), + module_name = "@angular/material/tooltip", + assets = [":tooltip_css"], + deps = [ + "//src/lib/core", + "//src/cdk/a11y", + "//src/cdk/bidi", + "//src/cdk/coercion", + "//src/cdk/overlay", + "//src/cdk/platform", + "//src/cdk/keycodes", + "//src/cdk/portal", + "//src/cdk/scrolling", + "@rxjs", + ], + tsconfig = ":tsconfig-build.json", +) + + +sass_binary( + name = "tooltip_scss", + src = "tooltip.scss", + deps = ["//src/lib/core:core_scss_lib"], +) + +# TODO(jelbourn): remove this when sass_binary supports specifying an output filename and dir. +# Copy the output of the sass_binary such that the filename and path match what we expect. +genrule( + name = "tooltip_css", + srcs = [":tooltip_scss"], + outs = ["tooltip.css"], + cmd = "cat $(locations :tooltip_scss) > $@", +) + diff --git a/tools/bazel.rc b/tools/bazel.rc index 024b4d3c6870..13a493b27aba 100644 --- a/tools/bazel.rc +++ b/tools/bazel.rc @@ -42,7 +42,3 @@ test --experimental_ui # Make TypeScript and Angular compilation fast, by keeping a few copies of the compiler # running as daemons, and cache SourceFile AST's to reduce parse time. build --strategy=TypeScriptCompile=worker --strategy=AngularTemplateCompile=worker - -# Workaround rules_sass still using old 'set' constructor -# This is an error in bazel >= 0.6 unless this flag is set -build --incompatible_disallow_set_constructor=false