Skip to content

Commit 9bc0e72

Browse files
authored
Merge branch 'master' into draginteractions
2 parents b0dbb3a + d0d97c3 commit 9bc0e72

File tree

223 files changed

+7243
-1015
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

223 files changed

+7243
-1015
lines changed

.bazelignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules

.bazelrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ build --symlink_prefix=/
1212
# Performance: avoid stat'ing input files
1313
build --watchfs
1414

15+
# Turn off legacy external runfiles
16+
run --nolegacy_external_runfiles
17+
test --nolegacy_external_runfiles
18+
1519
###############################
1620
# Output control #
1721
###############################

.circleci/config.yml

Lines changed: 93 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
# To validate changes, use an online parser, eg.
88
# http://yaml-online-parser.appspot.com/
99

10-
var_1: &docker_image angular/ngcontainer:0.6.0
11-
var_2: &cache_key v2-ng-mat-{{ .Branch }}-{{ checksum "yarn.lock" }}-0.6.0
10+
var_1: &docker_image angular/ngcontainer:0.7.0
11+
var_2: &cache_key v2-ng-mat-{{ .Branch }}-{{ checksum "yarn.lock" }}-0.7.0
1212

1313
# Settings common to each job
1414
var_3: &job_defaults
@@ -60,6 +60,12 @@ var_9: &docker-firefox-image
6060
# See the PR that fixes this: https://github.com/angular/angular/pull/26435
6161
- image: circleci/node:10.12-browsers
6262

63+
# Attaches the release output which has been stored in the workspace to the current job.
64+
# https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs
65+
var_10: &attach_release_output
66+
attach_workspace:
67+
at: dist/releases
68+
6369
# -----------------------------
6470
# Container version of CircleCI
6571
# -----------------------------
@@ -83,10 +89,8 @@ jobs:
8389
- *copy_bazel_config
8490

8591
# TODO(jelbourn): Update this command to run all tests if the Bazel issues have been fixed.
86-
- run: bazel build src/cdk/... src/lib:material
87-
- run: bazel test src/cdk/...
88-
89-
- *save_cache
92+
- run: bazel build src/...
93+
- run: bazel test src/...
9094

9195
# ------------------------------------------------------------------------------------------
9296
# Job that runs the unit tests on locally installed browsers (Chrome and Firefox headless).
@@ -106,15 +110,11 @@ jobs:
106110
# variable which has been configured above
107111
- run: yarn gulp ci:test
108112

109-
- *save_cache
110-
111113
# ----------------------------------------------------------------
112-
# Job that runs the e2e tests with Protractor and Chrome w/ Xvfb. We cannot use
113-
# Chrome headless because our tests rely on APIs which are not testable in headless mode.
114-
# For example: the Fullscreen browser API.
114+
# Job that runs the e2e tests with Protractor and Chrome Headless
115115
# ----------------------------------------------------------------
116116
e2e_tests:
117-
docker: *docker-firefox-image
117+
<<: *job_defaults
118118
resource_class: xlarge
119119
steps:
120120
- *checkout_code
@@ -123,39 +123,50 @@ jobs:
123123

124124
- run: yarn gulp ci:e2e
125125

126-
- *save_cache
127-
128-
# --------------------------------------
129-
# Job that builds the demo-app with AOT
130-
# --------------------------------------
131-
demo_app_aot:
126+
# ----------------------------------------------------------------------------
127+
# Job that runs the unit tests on Browserstack. The browsers that will be used
128+
# to run the unit tests on Browserstack are set in: test/browser-providers.js
129+
# ----------------------------------------------------------------------------
130+
tests_browserstack:
132131
<<: *job_defaults
133132
resource_class: xlarge
133+
environment:
134+
BROWSER_STACK_USERNAME: "angularteam1"
135+
BROWSER_STACK_ACCESS_KEY: "CaXMeMHD9pr5PHg8N7Jq"
134136
steps:
135137
- *checkout_code
136138
- *restore_cache
137139
- *yarn_install
138140

139-
- run: yarn gulp ci:aot
141+
- run: ./scripts/circleci/run-browserstack-tests.sh
140142

141-
- *save_cache
143+
# -----------------------------------------------------------------------------------------
144+
# Job that builds the demo-app with AOT. In order to speed up this job, the release output
145+
# from the workspace storage will be attached to this job.
146+
# -----------------------------------------------------------------------------------------
147+
build_demoapp_aot:
148+
<<: *job_defaults
149+
steps:
150+
- *checkout_code
151+
- *restore_cache
152+
- *yarn_install
153+
- *attach_release_output
154+
155+
- run: yarn gulp ci:aot
142156

143157
# -------------------------------------------------------------------------
144158
# Job that pre-render's the universal app with `@angular/platform-server`.
145159
# This verifies that Angular Material can be rendered within Node.
146160
# -------------------------------------------------------------------------
147161
prerender_build:
148162
<<: *job_defaults
149-
resource_class: xlarge
150163
steps:
151164
- *checkout_code
152165
- *restore_cache
153166
- *yarn_install
154167

155168
- run: yarn gulp ci:prerender
156169

157-
- *save_cache
158-
159170
# ----------------------------------
160171
# Lint job. Runs the gulp lint task.
161172
# ----------------------------------
@@ -168,6 +179,54 @@ jobs:
168179

169180
- run: yarn gulp ci:lint
170181

182+
# -------------------------------------------------------------------------------------------
183+
# Job that builds all release packages with Gulp. The built packages can be then used in the
184+
# same workflow to publish snapshot builds or test the demo-app with the release packages.
185+
# -------------------------------------------------------------------------------------------
186+
build_release_packages:
187+
<<: *job_defaults
188+
resource_class: xlarge
189+
steps:
190+
- *checkout_code
191+
- *restore_cache
192+
- *yarn_install
193+
194+
- run: yarn gulp ci:build-release-packages
195+
196+
# Store the release output in the workspace storage. This means that other jobs
197+
# in the same workflow can attach the release output to their job.
198+
- persist_to_workspace:
199+
root: dist/releases
200+
paths:
201+
- "**/*"
202+
203+
- *save_cache
204+
205+
# ----------------------------------------
206+
# Job that publishes the build snapshots
207+
# ----------------------------------------
208+
publish_snapshots:
209+
<<: *job_defaults
210+
steps:
211+
# Since CircleCI currently does not have any way to easily restrict jobs to only run
212+
# for push builds, we need to manually skip publishing if the jobs runs for a PR.
213+
# https://discuss.circleci.com/t/workflows-pull-request-filter/14396/11
214+
- run:
215+
name: Check whether this job should be skipped.
216+
command: '[[ -n ${CIRCLE_PR_NUMBER} ]] && circleci step halt || true'
217+
218+
- *checkout_code
219+
- *restore_cache
220+
- *yarn_install
221+
- *attach_release_output
222+
223+
# CircleCI has a config setting to enforce SSH for all github connections.
224+
# This is not compatible with our mechanism of using a Personal Access Token
225+
# to publish the build snapshots. In order to fix this, we unset the global option.
226+
- run: git config --global --unset "url.ssh://[email protected]"
227+
228+
- run: ./scripts/circleci/publish-snapshots.sh
229+
171230
- *save_cache
172231

173232
# ----------------------------------------------------------------------------------------
@@ -189,12 +248,22 @@ workflows:
189248
unit_tests:
190249
jobs:
191250
- tests_local_browsers
251+
- tests_browserstack
192252

193253
integration_tests:
194254
jobs:
195255
- e2e_tests
196256
- prerender_build
197-
- demo_app_aot
257+
258+
release_output:
259+
jobs:
260+
- build_release_packages
261+
- build_demoapp_aot:
262+
requires:
263+
- build_release_packages
264+
- publish_snapshots:
265+
requires:
266+
- build_release_packages
198267

199268
# Lint workflow. As we want to lint in one job, this is a workflow with just one job.
200269
lint:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ node_modules
3636
/coverage/*
3737
/libpeerconnection.log
3838
npm-debug.log
39+
yarn-debug.log
40+
yarn-error.log
3941
testem.log
4042
/.chrome
4143
/.git

.travis.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@ jobs:
2727
include:
2828
- env: "MODE=payload"
2929
- env: "MODE=saucelabs_required"
30-
- env: "MODE=browserstack_required"
31-
- env: "DEPLOY_MODE=build-artifacts"
32-
if: type = push
33-
- env: "DEPLOY_MODE=docs-content"
34-
if: type = push
3530
- env: "DEPLOY_MODE=dashboard"
3631
if: type = cron
3732
env:

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
<a name="7.0.2"></a>
2+
## 7.0.2 limestone-linguine (2018-10-26)
3+
4+
5+
### Bug Fixes
6+
7+
* **build:** material not working with ES2015 ([#13709](https://github.com/angular/material2/issues/13709)) ([e9103a6](https://github.com/angular/material2/commit/e9103a6)), closes [#12760](https://github.com/angular/material2/issues/12760) [#13695](https://github.com/angular/material2/issues/13695)
8+
* **button-toggle:** webkit tap highlight conflicting with ripples ([#13721](https://github.com/angular/material2/issues/13721)) ([abd0278](https://github.com/angular/material2/commit/abd0278))
9+
* **cdk-platform:** pass `{}` to `@NgModule` since passing nothing breaks ([#13792](https://github.com/angular/material2/issues/13792)) ([5abb644](https://github.com/angular/material2/commit/5abb644))
10+
* **checkbox:** disabled property not being coerced ([#13755](https://github.com/angular/material2/issues/13755)) ([cee8c65](https://github.com/angular/material2/commit/cee8c65)), closes [#13739](https://github.com/angular/material2/issues/13739)
11+
* **expansion-panel:** don't handle enter/space if modifier is pressed ([#13790](https://github.com/angular/material2/issues/13790)) ([3e6cc77](https://github.com/angular/material2/commit/3e6cc77)), closes [#13783](https://github.com/angular/material2/issues/13783)
12+
* **radio:** don't show hover ripples on touch devices ([#13701](https://github.com/angular/material2/issues/13701)) ([b89c139](https://github.com/angular/material2/commit/b89c139)), closes [#13675](https://github.com/angular/material2/issues/13675)
13+
* **slide-toggle:** don't show hover ripples on touch devices ([#13702](https://github.com/angular/material2/issues/13702)) ([9d495f1](https://github.com/angular/material2/commit/9d495f1)), closes [#13675](https://github.com/angular/material2/issues/13675)
14+
* **stepper:** incorrect border color in dark theme for header with label position ([#13791](https://github.com/angular/material2/issues/13791)) ([afa5a28](https://github.com/angular/material2/commit/afa5a28))
15+
* **stepper:** selector assuming that there will always be a dir attribute ([#13751](https://github.com/angular/material2/issues/13751)) ([576118e](https://github.com/angular/material2/commit/576118e)), closes [#13741](https://github.com/angular/material2/issues/13741)
16+
* **stroked-button:** ripples and focus overlay have incorrect radius ([#13745](https://github.com/angular/material2/issues/13745)) ([7877404](https://github.com/angular/material2/commit/7877404)), closes [#13738](https://github.com/angular/material2/issues/13738)
17+
* **tooltip:** add fallback for touch devices if Hammer isn't loaded ([#13580](https://github.com/angular/material2/issues/13580)) ([9ae6c84](https://github.com/angular/material2/commit/9ae6c84)), closes [#13536](https://github.com/angular/material2/issues/13536)
18+
19+
20+
### Features
21+
22+
* **drag-utils:** add utility function for cloning array items from one array to another ([#13743](https://github.com/angular/material2/issues/13743)) ([13395c5](https://github.com/angular/material2/commit/13395c5)), closes [#13100](https://github.com/angular/material2/issues/13100)
23+
* **ng-add:** add preview URLs for theme choices ([#13723](https://github.com/angular/material2/issues/13723)) ([f1d1fc5](https://github.com/angular/material2/commit/f1d1fc5)), closes [/github.com/angular/angular-cli/blob/907ce5c94c774147c4b52870b3522aed4e087c76/packages/schematics/angular/ng-new/schema.json#L121](https://github.com//github.com/angular/angular-cli/blob/907ce5c94c774147c4b52870b3522aed4e087c76/packages/schematics/angular/ng-new/schema.json/issues/L121) [#13708](https://github.com/angular/material2/issues/13708)
24+
25+
26+
127
<a name="7.0.1"></a>
228
## 7.0.1 emerald-egret (2018-10-22)
329

DEV_ENVIRONMENT.md

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,23 @@
11
# Developer guide: getting your environment set up
22

3-
1. Make sure you have `node` installed with a version at _least_ 5.5.0.
4-
2. Run `npm install -g gulp` to install gulp.
5-
3. Fork the `angular/material2` repo.
6-
4. Clone your fork.
3+
1. Make sure you have `node` installed with a version at _least_ 10.0.0 and `yarn` with a version
4+
of at least 1.10.0. We recommend using `nvm` to manage your node versions.
5+
2. Run `yarn global add gulp` to install gulp.
6+
3. Fork the `angular/material2` repo on GitHub.
7+
4. Clone your fork to your machine with `git clone`.
78
Recommendation: name your git remotes `upstream` for `angular/material2`
89
and `<your-username>` for your fork. Also see the [team git shortcuts](https://github.com/angular/material2/wiki/Team-git----bash-shortcuts).
9-
5. From the root of the project, run `npm install`.
10+
5. From the root of the project, run `yarn`.
1011

1112

1213
To build Material in dev mode, run `gulp material:build`.
1314
To build Material in release mode, run `gulp material:build-release`
14-
15-
To bring up a local server, run `gulp serve:devapp`. This will automatically watch for changes
15+
16+
To bring up a local server, run `gulp serve:devapp`. This will automatically watch for changes
1617
and rebuild. The browser should refresh automatically when changes are made.
1718

1819
### Running tests
1920

2021
To run unit tests, run `gulp test`.
2122
To run the e2e tests, run `gulp e2e`.
2223
To run lint, run `gulp lint`.
23-
24-
25-
### Running benchmarks
26-
Not yet implemented.

0 commit comments

Comments
 (0)