Commit graph

3582 commits

Author SHA1 Message Date
Jonah Williams 164dae3bf1
Revert "Lazy cache 4 (#29785)" (#29985) 2019-03-26 10:01:22 -07:00
Zachary Anderson 7ea7d8d003
[fuchsia] Fix flutter_tool BUILD.gn deps (#29942) 2019-03-26 08:57:40 -07:00
Jonah Williams d71f324e48
Lazy cache 4 (#29785) 2019-03-26 08:45:29 -07:00
Jonah Williams 44b22c7b04
Fix cache location, artifacts, and re-enable dart2js test (#29783) 2019-03-25 18:47:37 -07:00
Jonah Williams beaf7e28fa
Update upgrade to reset off of hotfix branches (#29786) 2019-03-25 09:42:28 -07:00
Jonah Williams 377dfbd90d
dont fail build if codegen fails (#29818) 2019-03-25 08:43:13 -07:00
Alexandre Ardhuin bfa1d25bf9
some formatting of map, parameters and spaces (#29760) 2019-03-23 00:02:21 +01:00
Amir Hardon e2cd5931a7 Revert "Update upgrade to rebase and stash local changes. (#29192)" (#29780)
This reverts commit e38be671a7.
2019-03-21 20:34:07 -07:00
Jonah Williams 6701bbc528
update fuchsia-attach (#29764) 2019-03-21 16:13:04 -07:00
Jonah Williams 40cbdd11cd
Use Dart version in script cache check (#29721) 2019-03-21 15:56:13 -07:00
Jonah Williams e38be671a7
Update upgrade to rebase and stash local changes. (#29192) 2019-03-21 14:32:52 -07:00
Jonah Williams fc9f7dea1a
Allowing adding/updating packages during hot reload (#29747) 2019-03-21 13:59:38 -07:00
Jonah Williams 469a859c72
Enable code generation features in tool (#29399) 2019-03-21 13:12:10 -07:00
Christopher Fujino a4b9ef2e79
Fix more tests for ANSI terminals (#29699)
* have tests that log error messages use a FakePlatform that does not support Ansi color, to fix tests started from color terminals
* add the override to the other tests too, in case someone copy & pastes them in the future for a test involving an error message
2019-03-21 09:11:58 -07:00
Jonah Williams 377f4451ca
fix asset reloading (#29469) 2019-03-21 09:03:28 -07:00
Alexander Aprelev 12c4e050be
Use source list from the compiler to track invalidated files for hot reload. (#29693)
* Use source list from the compiler to track invalidated files.

* Revert accidental change

* Fix first-time-seen-the-file logic

* Fix/simplify invalidate logic now that we can rely on compiler to let us know what is the cut-off point for invalidation.

* Update devfs mock to accommodate for new fields

* Fix deleted files case

* Analyzer found missing final
2019-03-20 21:58:15 -07:00
Jonah Williams 5f727126ca
Download secondary SDK (#29633) 2019-03-20 15:41:45 -07:00
Jonah Williams c72f18fcd5
Add builders and engine hash to fingerprint (#29434) 2019-03-20 15:40:37 -07:00
Alexandre Ardhuin a6af422874
some spaces formatting (#29452)
* some space formattings

* always use blocks in if-else if a block is used

* format spaces in for and while

* allow multiline if conditions

* fix missing space
2019-03-20 23:23:31 +01:00
Lau Ching Jun c33d263830
Fix typo (#29625) 2019-03-20 14:22:10 -07:00
Jonah Williams b123846cb0
Improve flutter test startup time (#29404) 2019-03-20 13:58:57 -07:00
Ben Konyi e8b98f9648
Manual engine roll for 2019-03-19 (#29627)
* Manual engine roll for 2019-03-19
* Applying patch for Dart SDK changes (see PR #29004)
2019-03-19 20:01:03 -07:00
Jonah Williams edd4c6207a
prevent stream notifications from interfering with reload (#29467) 2019-03-19 16:19:45 -07:00
Shi-Hao Hong dffbfebbf1
added friendlier error for invalid AndroidManifest.xml (#29604) 2019-03-19 14:44:22 -07:00
Jonah Williams f8f2b043e1
remove explicit frame schedule (#29461) 2019-03-19 10:24:55 -07:00
Priit Lätt cdbd0f9ddd Use async execution for xcodebuild commands (#29048) 2019-03-19 09:19:34 -07:00
Jonah Williams 75c50da5f6
Ensure that different formatting of ndk properties file does not crash tool (#29528) 2019-03-18 10:51:24 -07:00
Jonah Williams 72605d2406
Switch flutter_tools from script to app-jit snapshot. (#27749) 2019-03-15 19:33:24 -07:00
Jonah Williams fa52f345d6
fix for sometimes packages file is an APK (#29456) 2019-03-15 15:52:40 -07:00
Jonah Williams cd803ac7f2
Improve hot reload performance (#28152) 2019-03-15 15:02:45 -07:00
liyuqian be5c83b9b8
Add dump-shader-skp flag to flutter tools (#29258)
This is the accompanying change for https://github.com/flutter/engine/pull/8148 and it needs the engine PR to land first.

For https://github.com/flutter/flutter/issues/813
2019-03-15 12:37:53 -07:00
Jason Simmons e5696c2e7c
Use fs.identical to compare paths when finding the engine source path (#29386)
This will handle paths with symlinks that resolve to the same location.
2019-03-15 09:32:10 -07:00
liyuqian 3202d228b7
--verbose-logging to verbose-logging in android (#29383)
Sorry that I missed the typo during the review of https://github.com/flutter/flutter/pull/29321
2019-03-15 09:20:15 -07:00
Christian Wenz 428d104054 Properly escape Android SDK Manager path in error message (#29134) 2019-03-15 08:58:33 -07:00
Brian Wilkerson 439fbbe69e
Update SDK constraints to reflect the fact that set literals are being used (#29389) 2019-03-15 07:53:27 -07:00
Jonah Williams 7bed378e22
Only run codegen at start of flutter_test (#29171) 2019-03-14 17:12:40 -07:00
Jonah Williams 25820ab2a4
add option for --verbose-system-logs (#29321) 2019-03-13 22:42:12 -07:00
Danny Tuppeny 126c58ef7c
Add a flutter create --list-samples command (#28938)
* Add a `flutter create --list-samples` command

* Add some comments/docs

* Tweak text
2019-03-12 11:47:17 +00:00
Paul Berry c78ccb0b5e
Cause flutter analyze to fail if the analysis server experienced an error. (#29126)
Substantially reduces the danger that a bug in the analysis server
might prevent errors from being detected by `flutter analyze`.
2019-03-11 09:47:20 -07:00
Dan Field 2a644f301e
Run non-perf sensitive tests on Cirrus (#27971)
* Run non-perf sensisitive tests on Cirrus
2019-03-10 07:52:44 -07:00
Alexandre Ardhuin a0d1f93b07
fix block formatting (#29051) 2019-03-09 09:03:11 +01:00
Jonah Williams ac6afa4d20
fix windows codegen (#29062) 2019-03-08 19:26:45 -08:00
Ian Hickson a07c9a12bd Support hotfix version numbers (#28672) 2019-03-08 19:26:34 -08:00
Jonah Williams 8c0cf1ddf7
Revert "Lazily download artifacts (III) (#27903)" (#29064)
This reverts commit 3fd36200d9.
2019-03-08 13:31:51 -08:00
Jonah Williams 3fd36200d9
Lazily download artifacts (III) (#27903) 2019-03-08 13:15:50 -08:00
Jonah Williams d4a441a0d9
Add integration to all targets (#29020) 2019-03-08 12:25:35 -08:00
Jonah Williams 77142b8257
Revert "re-enable dart2js test (#29010)" (#29030)
This reverts commit 6a7f231d89.
2019-03-07 22:18:15 -08:00
Jonah Williams 6a7f231d89
re-enable dart2js test (#29010) 2019-03-07 21:56:02 -08:00
Jonah Williams f5c3579f30
Remove extra build_runner modes, remove flutter_build (#28873) 2019-03-07 14:52:29 -08:00
Alexandre Ardhuin 440ce8fde6
Fix indentations of statements in BlockFunctionBody (#28933)
* fix indentof statements in BlockFunctionBody

* fix indentof statements in BlockFunctionBody in tests
2019-03-07 21:09:28 +01:00
Jonah Williams a2d349c4c1
select ResidentCompiler during FlutterDevice initialization (#28603) 2019-03-07 11:02:42 -08:00
Dan Field df465c7718 Fall-back to platform tools in Android SDK detection logic. (#28863) 2019-03-07 10:45:29 -08:00
Jonah Williams dd94499418
Add build script invalidation and snapshotting logic (#28866) 2019-03-06 15:16:16 -08:00
Dan Field 20e0f13cc9
Test reporter (#28297)
* Wrap test.main with a custom processor
* Report test results to bigquery table
2019-03-06 13:13:45 -08:00
Jason Simmons 427fcebcc5
Remove the flutter_shared assets directory from the Gradle script (#27572)
flutter_shared was used to package the icudtl.dat file, but that data is
now embedded inside libflutter.so
2019-03-06 11:23:27 -08:00
Phil Quitslund 802eca29d2
set literal conversions (#27811) 2019-03-06 11:05:16 -08:00
Chris Bracken 52e4214dbb
Fix crash on flutter update-packages (#28922)
When running git update-packages, if the goldens repo is dirty, the
flutter tool currently crashes and logs the failure from git pull.

This adds a check for a dirty git client and emits a friendlier error
message in the case where it's not clean, and avoid the crash by
catching the NonZeroExitCode exception and rethrowing as toolExit
instead.

Fixes: https://github.com/flutter/flutter/issues/28915
2019-03-06 09:14:39 -08:00
Alexandre Ardhuin 4c1f4d14e1
fix some formatting issues (#28809)
* fix some formatting issues

* address review comments

* fix indent
2019-03-06 09:37:32 +01:00
Joshua Seaton 1ffd5f02d6 [fuchsia] Permit relative entries to the fuchsia_tester (#28821)
This change permits
(1) a relative --flutter-shell
(2) relative (source, dill) entries within the test JSON file

and enables portability in the invocation scripts produced by fuchsia's
dart test GN template.
2019-03-04 13:52:58 -05:00
Alexander Markov 604e9dc683
Include git output into error message from channel command (#28658) 2019-03-01 10:22:59 -08:00
Alexandre Ardhuin 387f885481
Add missing trailing commas (#28673)
* add trailing commas on list/map/parameters

* add trailing commas on Invocation with nb of arg>1

* add commas for widget containing widgets

* add trailing commas if instantiation contains trailing comma

* revert bad change
2019-03-01 08:17:55 +01:00
Jonah Williams ec93468a14
Add capability to run build_runner tests for engine (#28684) 2019-02-28 20:06:14 -08:00
liyuqian dd5559a5b8
Add LICENSE test to presubmit checks (#28369)
## Description

Also update the existing dart files with missing licenses.

Without the fix, we'll emit the following error message
```
License headers cannot be found at the beginning of the following files.

/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/lib/src/animation/tween_sequence.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/material/raw_material_button_test.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/async_lifecycle_test.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/sliver_constraints_test.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/app_test.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/test_border.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/physical_model_test.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/inherited_model.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/lib/src/base/user_messages.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/test/src/pubspec_schema.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/test/ios/simulators_test.dart
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

## Related Issues

Fixes https://github.com/flutter/flutter/issues/28368

## Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (`[x]`). This will ensure a smooth and quick review process.

- [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
- [x] My PR includes tests for *all* changed/updated/fixed behaviors (See [Test Coverage]).
- [x] All existing and new tests are passing.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] The analyzer (`flutter analyze --flutter-repo`) does not report any problems on my PR.
- [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I am willing to follow-up on review comments in a timely manner.

## Breaking Change

Does your PR require Flutter developers to manually update their apps to accommodate your change?

- [ ] Yes, this is a breaking change (Please read [Handling breaking changes]).
- [x] No, this is *not* a breaking change.

<!-- Links -->
[issue database]: https://github.com/flutter/flutter/issues
[Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Test Coverage]: https://github.com/flutter/flutter/wiki/Test-coverage-for-package%3Aflutter
[Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[Handling breaking changes]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
2019-02-26 17:38:21 -08:00
liyuqian 6daad8d0eb
Fix backspace and clear length in AnsiStatus (#28477)
Fixes https://github.com/flutter/flutter/issues/26922

Without the fix, the newly added test failed with the following error:

```
00:07 +24 -4: Spinners AnsiStatus works for fuchsia [E]
  Expected: a non-negative value
    Actual: <-1>
     Which: is not a non-negative value
  The following line has overflow backtraces:
"Hello world                      \b\b\b\b\b\b\b\b       ⣽\b\b\b\b\b\b\b\b       ⣻\b\b\b\b\b\b\b\b       ⢿\b\b\b\b\b\b\b\b       ⡿\b\b\b\b\b\b\b\b       ⣟\b\b\b\b\b\b\b\b       ⣯\b\b\b\b\b\b\b\b       ⣷\b\b\b\b\b\b\b\b       ⣾\b\b\b\b\b\b\b\b       ⣽\b\b\b\b\b\b\b\b       ⣻\b\b\b\b\b\b\b\b       ⢿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⡿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣟ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣯ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣷ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣾ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣽ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣻ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⢿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⡿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣟ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣯ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣷ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣾ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣽ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣻ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⢿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⡿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣟ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                                                                                                                                                                                                                                                                                                                           ⣯ (This is taking an unexpectedly long time.)"
```
2019-02-26 17:15:39 -08:00
Jonah Williams 6f5f037689
Add basic web device and run support (#28302) 2019-02-26 16:58:24 -08:00
liyuqian 8e6f468435
Fix type issue of the timelineEvents assignment (#28530)
This fixes https://github.com/flutter/flutter/issues/28374

The fact that json_rpc_2 is hiding exceptions like this might be a
bigger issue: https://github.com/flutter/flutter/issues/28531

Merge on red because add2app test is currently flaking out according to @dnfield
2019-02-26 16:38:59 -08:00
Jonah Williams 60730a979b
pass --skip-build-script-checks and remove module usage (#28343) 2019-02-26 13:13:20 -08:00
Jonah Williams e9b935b00e
use deviceManager discovery in daemon protocol (#28341) 2019-02-26 12:02:27 -08:00
Jonah Williams d2a76414f4
remove json_schema dep again (#28517) 2019-02-26 12:01:22 -08:00
Zachary Anderson df1462fa04
[flutter_tool,fuchsia_tester] Only require a test source dir for coverage (#28168) 2019-02-26 11:35:28 -08:00
Stevie Strickland 8709813ac6 Remove unused --packages argument to gen_snapshot. (#28334)
This command line argument has already been removed in the main
Dart repository, so building flutter with the latest dart fails.

This time, also update the tests to avoid the checks for a package
path on snapshot generation.
2019-02-26 10:37:08 +01:00
KyleWong d7b0aab634 Add tests for pr:27687 (#27944) 2019-02-25 18:34:03 -08:00
Will Larche 57a8b03c5e
[Gallery] Fortnightly demo moved from flutter/samples. (#28125)
* [Gallery] Fortnightly demo moved from flutter/samples.

* [Gallery] Fortnightly analysis corrections.

* [Gallery] Minor rename.

* [Gallery] Making floats ints.

* [Gallery] Fortnightly minor visual polish.

* [Gallery] Formatting.

* [Gallery] Upping package version for gallery to support fortnightly demo.

* [Gallery] Fortnightly copy correction.

* [Gallery] Fortnightly study polish.

* [Gallery] Fortnightly polish.

* [Gallery] Fortnightly copy correction.

* [Gallery] Fortnightly copy now held in '''.

* [Gallery] Fortnightly comment.

* [Gallery] Updates necessary when flutter_gallery_assets updates.

* [Gallery] Updating macrobenchmarks because we updated flutter_gallery_assets.

* [Gallery] Moving spaces to beginning of copy lines.

* [Gallery] Copy correction.

* [Gallery] Adding tooltip to satisfy smoke test.

* [Gallery] Minor pr feedback.

* [Gallery] Forced upgrade.
2019-02-24 11:53:43 +01:00
Dan Field 0e984fb237
update packages (#28400) 2019-02-23 10:08:53 -08:00
Dan Field 15f2119f2c
Reland "Allow for gradle downloading missing SDK assets" (#28097) (#28355)
* Allow for gradle downloading missing SDK assets if SDK licenses are present.

*  Improvements for windows testing
2019-02-23 09:56:57 -08:00
Jonah Williams 0d6bb6aee8
only perform multi-root mapping if there are multiple roots (#28352) 2019-02-22 19:25:24 -08:00
Stanislav Baranov 7baffa6e72
Dynamic patching support for native code libraries. (#28349) 2019-02-22 17:51:05 -08:00
Zachary Anderson 824fe4dfcd
[flutter_tool,fuchsia] Add missing dep to flutter_tool (#28346)
Needed for Fuchsia roll.
2019-02-22 14:31:59 -08:00
Stanislav Baranov 3837ec9e96
Reland #27754, now that bsdiff has moved to flutter/packages. (#28291) 2019-02-21 21:59:41 -08:00
Dan Field 74a9086037
Revert "Allow for gradle downloading missing SDK assets (#28097)" (#28295)
This reverts commit 6f5e88a59f.
2019-02-21 16:53:45 -08:00
Dan Field 6f5e88a59f
Allow for gradle downloading missing SDK assets (#28097)
* Allow for gradle downloading missing SDK assets if SDK licenses are present.

* Fix license path for missing sdkmanager

* Cirrus re-run...

* Fix condition check

* rename props, add docs, rename method

* fix tests after param changes

* Fix weird path for flutter run and add tests

* remove print, fix tests
2019-02-21 15:57:20 -08:00
Greg Spencer b316940051
Fix the length of the valueHelp on the --sample option for the create command, and turn on wrapping. (#28264)
The wrapping for some commands was never actually turned on, so this turns it on.

Also, it shortens the `valueHelp` for the `--sample` option to be just "id" instead of "the sample ID of the desired sample from the API documentation website (http://docs.flutter.io)", which was causing the line to get far too long.

Fixes #23074
2019-02-21 15:56:59 -08:00
Greg Spencer b45a8f464d
Revert "Remove unused --packages argument to gen_snapshot. (#28101)" (#28265)
This reverts commit 1c021506df.

The pre-commit tests never actually ran, so it looked green when it wasn't. This breaks 16 tests that depend on the argument existing, even though it isn't actually used.
2019-02-21 08:47:24 -08:00
Alexandre Ardhuin 5169ab5974
format parameter list (#27261) 2019-02-21 09:27:07 +01:00
Stevie Strickland 1c021506df Remove unused --packages argument to gen_snapshot. (#28101)
This command line argument has already been removed in the main
Dart repository, so building flutter with the latest dart fails.
2019-02-21 09:03:59 +01:00
Jonah Williams b594cf85fd
Remove extra slash from builder that is not handled on windows (#28027) 2019-02-20 19:56:02 -08:00
Jonah Williams 72b6ed35d0
Remove set literal syntax (#28238) 2019-02-20 19:55:10 -08:00
Dan Field 4ed096bd29
Remove json_schema and cli_util deps from flutter_tool (#28040)
* remove json_schema dep

* remove unnecessary pin

* removed unused dep

* remove unused impport

* Fix incorrect condition
2019-02-20 15:38:58 -08:00
Stanislav Baranov 20d9de58d0
Revert "Add support for binary compression of dynamic patches by the flutter tool. (#27754)" (#28031)
This reverts commit b47da6c2b7.
2019-02-15 18:43:36 -08:00
Dan Field c90c3a18a2
Reland automatic discovery of observatory port for iOS (#27908)
* Discover port over mDNS 

* Update BUILD.gn for tools
2019-02-15 17:44:55 -08:00
KyleWong f9a6090082 Refactor local engine logic (#27765)
* Refactor for iOS.

* For android_xxx_unopt_arm64&ios_xxx_unopt_arm, remove the _arm64/_arm suffix.
dart generated in host_xxx_unopt/host_xxx has an arch of x86_64 which supports arm64/arm.

* Remove suffixes for various archs.
2019-02-15 15:56:49 -08:00
Jonah Williams 67cf21577f
Add basic codegen app to be used for integration testing and benchmarks (#27257) 2019-02-14 23:17:16 -08:00
Jonah Williams 9bc5656637
Wire dart2js through flutter tool, add compilation test (#27668) 2019-02-14 22:42:30 -08:00
KyleWong e99c881f8d
Don't cache result for homeDirPath. (#27873) 2019-02-14 16:08:26 +08:00
Jonah Williams 537b592ed5 fix multiroot scheme (#27914) 2019-02-13 23:17:28 -05:00
Dan Field ed4e3da360
update packages and supress lint (#27902) 2019-02-13 15:45:20 -08:00
Alexander Aprelev 8de5a07c3f
Revert "Disable usage of bare instructions in AOT (#27410)" (#27789)
This reverts commit 965dc52e2e as performance gains seems to outweigh compressed apk size increase.
2019-02-13 15:29:50 -08:00
Jonah Williams a5af29e83c
Revert "Lazily download artifacts (Part II) (#27735)" (#27895)
This reverts commit 76061c4fa9.
2019-02-13 11:59:51 -08:00
Jonah Williams 76061c4fa9
Lazily download artifacts (Part II) (#27735) 2019-02-13 11:04:28 -08:00
KyleWong 4b4a9400b7 Refactor build-number/build-name logic. (#27743)
This PR aims at several things:

1. Use pub_semver to check a version in pubspec.yaml meets the requirements specified in https://semver.org/.
2. Don't limit build-number/build-name as a fixed format. Instead, validate it according to the target(ios/android).
3. Make sure that build-number/build-name are always validated no matter it's specified by the `flutter command` or version in pubspec.yaml.

Fixes #27589
2019-02-13 07:48:03 -08:00
KyleWong f2004b8f43
Add android studio process logic for JetBrainsToolbox (#27687)
* Make plugin path search logic use version check as a fallback.

* In JetBrainsToolbox, Info.plist would be just some kind of wrapper, we need a double check before get the real one.

* Use Regex to get content instead of `default command` to avoid error output as there could be no JetBrainsToolboxApp key/value for a normal Info.plist(Android Studio.)
2019-02-13 15:05:20 +08:00
KyleWong 199ebaa677 Refactor ios bundleid/android application process logic. (#27471)
When creating a flutter project,
Make sure: applicationid for android conforms to: https://developer.android.com/studio/build/application-id

Make sure: bundleid for ios conforms to:
https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html
(Not only the name,but also the organization, as it's a check for whole bundleid.)
2019-02-12 19:40:53 -08:00
Ian Hickson 58939b70ef Prevent tests from importing other tests. (#27800)
This pattern is problematic when Flutter is ported to build systems
that require each executable end-point to be self-contained (e.g.
Bazel).
2019-02-12 12:29:36 -08:00
Dan Field ead5e8e4d7
Fix Xcode_backend.sh for flavors (#27691) 2019-02-12 12:28:56 -08:00
Dan Field fdcb861b05
Deflake AnsiSpinner tests (#27825) 2019-02-12 12:28:45 -08:00
TruongSinh Tran-Nguyen d15a361244 flutter create --template=plugin now include flutter unit test (#26456) 2019-02-12 10:37:00 -08:00
KyleWong 52687c7910
Optimize flutter run logic for iOS by "ONLY_ACTIVE_ARCH=YES" if possible (#27817) 2019-02-12 12:24:57 +08:00
KyleWong bf20fa7c9d
Refactor "no ios devices attached" logic. (#27717) 2019-02-12 10:14:01 +08:00
Jonah Williams 23d38901ef
Pass method used to start flutter application (#27812) 2019-02-11 18:05:23 -08:00
Stanislav Baranov b47da6c2b7
Add support for binary compression of dynamic patches by the flutter tool. (#27754)
This reduces the typical dynamic patch size by more than 10x.

Also see https://github.com/flutter/engine/pull/7777 for decompression support in the runtime.
2019-02-11 16:57:26 -08:00
KyleWong 1c0a06f397 Make version documentation clearer. (#27278)
Currently, in pubspec.yaml, semver.org is referred to for more about versioning.
However, the versionCode/versionName could differ on different platforms (iOS, Android, Dart).

This adds more clear and complete information that could help users to understand it better.

See: #27251
2019-02-11 16:29:38 -08:00
Jonah Williams 4c3d15832d
add desktop devices to daemon behind flag (#27665) 2019-02-11 14:49:07 -08:00
Danny Tuppeny ad3da3b4a3
Update temp folder name to me more consistent with others (#26702)
This change was dropped out of #26227 because it seems to inexplicably result in timeouts talking to the VM service on Windows Cirrus. After 1 month of periodically debugging it, it just started passing 🤷‍♂️.
2019-02-11 16:20:45 +00:00
Jonah Williams 216a65b669
remove build_runner_core import from flutter_tools (#27708) 2019-02-08 18:12:28 -08:00
Stanislav Baranov 63e6a7ad30
Support for building dynamic patches in AOT mode. (#27672) 2019-02-08 17:52:57 -08:00
Jonah Williams 7cdb30fba2
Revert "Lazily download artifacts (#27374)" (#27705)
This reverts commit 98971f3c64.
2019-02-08 15:50:18 -08:00
Jonah Williams 98971f3c64
Lazily download artifacts (#27374) 2019-02-08 15:24:09 -08:00
Zachary Anderson fe701c45e5
Add build_runner_core to flutter_tools BUILD.gn (#27661)
Need for roll into Fuchsia
2019-02-08 07:40:44 -08:00
Michael Klimushyn 4a9e5bc11b
Warn when gradle builds fail because of AndroidX (#27566)
Try to detect Gradle error messages that hint at AndroidX problems, and
warn in the logs about the potential problem and point to documentation
on how to fix the issue.

Unfortunately the Gradle errors based on this root issue are varied and
project dependent. It's probably better to still leave the message
intact in case the problem is unrelated.

Also filters out the plugin warning message pending in
flutter/plugins#1138. It's still valuable to add that for people on
previous versions of Flutter, but this link should override that message
for anyone on an up to date version of Flutter.

#27106
2019-02-07 17:23:35 -08:00
KyleWong 99497dc2d9 Refactor android launchable activity extractor logic (#26819) 2019-02-07 13:24:03 -08:00
Greg Spencer 2aad59314f
Add a keyboard key code generator. (#27620)
This adds a keycode generator that incorporates input from the Chromium and Android source trees, as well as some local tables, to generate static constants for the LogicalKeyboardKey and PhysicalKeyboardKey classes, as well as mappings from each of the platforms we support so far (currently only Android and Fuchsia).

This code generator parses the input files, generates an intermediate data structure (`key_data.json`) that is checked in, and then generates the Dart sources for these classes and some static maps that will also be checked in (but are not included in this PR).

The idea is that these codes don't change often, and so we don't need to generate them on every build, but we would like to be able to update them easily in the future if new data becomes available. If the existing data disappears or becomes unusable, we can maintain the checked-in data structure by hand if necessary, and still be able to generate the code.

This PR only contains the code generator, not the classes themselves. In another follow-on PR, I'll run the generator and check in the output of the generator.
2019-02-06 16:53:16 -08:00
Jonah Williams 5b943257d7
fix list devices throwing on junk input (#27615) 2019-02-06 15:41:22 -08:00
Jonah Williams c920cb7c57
Remove build runner from injection (#27607) 2019-02-06 14:38:50 -08:00
Greg Spencer da27f62337
Make a kReleaseMode constant that is public. (#27502)
Before this, we had several places where an isReleaseMode was defined, all with the same definition. This just makes it more broadly visible to allow our users to use it, as well as creating debug and profile versions, and adding a device lab test for it.

Since this is a const value, this makes it possible for a developer to easily mark blocks that can be removed at AOT compile time.
2019-02-06 14:37:17 -08:00
Jonah Williams b06a709305
Use flutter_tools to generate build_script (#27277) 2019-02-05 18:35:20 -08:00
KyleWong 7765dd4c3c Refactor logic to get plugins path for android studio in mac (#26964) 2019-02-05 16:48:14 -08:00
Dan Field 704814c67a
Use CP_REPOS_DIR if it's set (#27553)
* Allow CP_REPOS_DIR
2019-02-05 16:03:37 -08:00
xster 36c5e321a5
Print 50000$ monopoly money (#27531) 2019-02-05 15:00:51 -08:00
KyleWong 9abe4c6dfe Fix gradle verbose error. (#26938) 2019-02-05 15:00:18 -08:00
Ryan Macnak 965dc52e2e Disable usage of bare instructions in AOT (#27410)
Issue #27250
2019-02-05 13:52:59 -08:00
木士羽 9f7ab4c4a0 Support using flutter with specific version (#26840)
* Support using flutter with specific version

* Set min supported version to 1.2.1
2019-02-04 11:26:06 -08:00
Jonah Williams 8e2ea26301
Make the deviceDiscovery API overridable (#27378) 2019-01-31 18:42:30 -08:00
Alexander Aprelev 030dc3fade
Don't send accept/reject if compilation never started. (#27319)
* Don't send accept/reject if compilation never started.

Ensure that we wait for reject's response since that is async operation.

Fixes https://github.com/flutter/flutter/issues/27120.

* Fix analysis errors

* Rename flag. Ensure we raise it on first compilation too.
2019-01-31 17:43:32 -08:00
Zachary Anderson 7634a0ecbe
[flutter_tool,doctor] Fix and test gen_snapshot failure message (#27253) 2019-01-30 13:01:19 -08:00
KyleWong 7c19ec6ca8 Add2App: Fix crash resulted from hard-code module 'app' based resource copy. (#27154) 2019-01-30 10:29:29 -08:00
Michael Goderbauer 6d20ff2446
Remove all obsolete "// ignore:" (#27271) 2019-01-30 08:56:12 -08:00
Jonah Williams c219e6f3b1
Inject KernelCompiler via KernelCompilerFactory (#27211) 2019-01-30 08:34:01 -08:00
jonnyandrew 59dc909d0f Include empty config in 'flutter config' output (#25094) 2019-01-30 07:36:03 -08:00
sjindel-google 95b34d7a07 Pass --verify-entry-points in debug mode. (#27032) 2019-01-30 07:33:55 -08:00
Mohammed Salman 8cb2695a0b fix #26207 .gitignore only include project root build directory (#26388) 2019-01-30 07:33:28 -08:00
Todd Volkert c8c935cd83 Allow bundle identifier to be surrounded with quotes. (#26300)
Picked up from #22498, originally by @jugyo
2019-01-30 07:32:05 -08:00
Jonah Williams 763a8d6d9b
add support to multiroot scheme to PackageUriMapper (#27207) 2019-01-30 07:31:16 -08:00
KyleWong 60aa49e064 Let injectPlugins integrate custom pods (#26970) 2019-01-29 20:33:16 -08:00
Siva 4e68b7c752
Add support for experimental flags during hot reload. (#27252)
* Add support for experimental flags during hot reload.
2019-01-29 17:19:06 -08:00
Alexandre Ardhuin ef276ffea5
format initializer list of constructors (#27111) 2019-01-29 21:47:16 +01:00
Jonah Williams ca92efecae
Add module checking (#27122) 2019-01-29 12:26:48 -08:00
Konstantin Scheglov 4fe41abfcc
Add default values for optional parameters. (#27197) 2019-01-29 11:49:57 -08:00
Chinmay Garde e38efc890b
Add a flag to enable tracing to systrace. (#27208) 2019-01-28 19:55:01 -08:00
Dan Field c082f8d8a3
Revert f9e6242db (#26944) (#27191)
* Revert f9e6242db

* fix pubspec

* finish pubspec upgrade
2019-01-28 15:35:59 -08:00
Danny Tuppeny d5fd57cfbd
Improve unsupported text (#27186) 2019-01-28 17:51:23 +00:00