Commit Graph

287 Commits

Author SHA1 Message Date
Jonah Williams
2e50fd75eb
[flutter_tools] migrate FlutterView to new vm_service (#55341)
Move FlutterView and related RPCs to the package:vm_service implementation. Update some getIsolate calls with catchError to match previous behavior.

- Updates tests that were previously mocking FlutterViews to use real views
- Moves the FlutterView cache from VM to FlutterDevice
- Catch SentinelException during Isolate.kill
2020-04-27 14:16:28 -07:00
Jonah Williams
bb683c4cdb
[flutter_tools] fix package config invalidation (#55420) 2020-04-23 11:34:01 -07:00
Jonah Williams
d46da3ae11
[flutter_tools] remove PackageMap and finish PackageConfig migration (#55244) 2020-04-21 19:55:15 -07:00
Jonah Williams
9202e54704
[flutter_tools] move service extensions off of deprecated vm service (#55012) 2020-04-20 15:15:54 -07:00
Jonah Williams
b7e30cfc26
[flutter_tools] update compilation to use package config (#54467) 2020-04-20 14:02:49 -07:00
Jonah Williams
e6abda7f00
[flutter_tools] remove Isolate implementations of vm_service methods (#54920) 2020-04-16 15:48:21 -07:00
Jonah Williams
b6262e7c1c
[flutter_tools] remove runFromSource, move runInView to vm_service extension (#54700) 2020-04-15 10:35:01 -07:00
Jonah Williams
5adfd38dde
[flutter_tools] Move service methods to VmService extension methods (#54337) 2020-04-10 10:33:07 -07:00
Jonah Williams
de84c1e18a
[flutter_tools] attempt to fix benchmark mode test (#54414) 2020-04-10 10:10:04 -07:00
Jonah Williams
d390f4d9c6
switch benchmark to isolate runnable (#54374) 2020-04-09 09:48:54 -07:00
Jonah Williams
4851888864
[flutter_tools] Migrate to package:vm_service 4: trigonometric boogaloo (#54132) 2020-04-08 12:33:33 -07:00
Jason Simmons
c663cd55a7
[flutter_tools] Refresh VM state before executing hot reload (#53960) 2020-04-07 15:41:02 -07:00
Jonah Williams
61b3361781
Revert "[flutter_tools] Migrate to vm service 3 (reland): electric boogaloo (#53957)" (#54114)
This reverts commit d6b09626f2.
2020-04-06 10:36:14 -07:00
Jonah Williams
d6b09626f2
[flutter_tools] Migrate to vm service 3 (reland): electric boogaloo (#53957) 2020-04-06 10:18:41 -07:00
Jonah Williams
66f4907754
Revert "[flutter_tools] update to package vm_service: electric boogaloo (#53809)" (#53951)
This reverts commit 66d7a6c266.
2020-04-03 14:00:07 -07:00
Jonah Williams
66d7a6c266
[flutter_tools] update to package vm_service: electric boogaloo (#53809) 2020-04-03 12:38:56 -07:00
Jonah Williams
fe310148a1
[flutter_tool] Remove extra usage of .packages in vm service API (#52845) 2020-03-19 09:35:57 -07:00
Jonah Williams
d98213c46f
[flutter_tools] reland: Update background isolates when performing hot reload/restart (#52479)
Reland of #52149
2020-03-12 12:48:05 -07:00
Zachary Anderson
04a1b78b75
Revert "[flutter_tools] Update background isolates when performing hot reload/restart (#52149)" (#52476)
This reverts commit edd03a1af8.
2020-03-12 09:02:31 -07:00
Jonah Williams
edd03a1af8
[flutter_tools] Update background isolates when performing hot reload/restart (#52149)
When performing a hot restart, collect isolates without an attached flutter view and send a kill signal. These must have been spawned by running main, so restarting without removing them leads to isolate duplication.

When performing a hot reload, ensure that we send a reloadSources command to every isolate and not just uiIsolates.
2020-03-11 15:52:04 -07:00
Jonah Williams
377879825e
[flutter_tools] prevent StateError when log reader is disposed (#52173)
Previously the AdbLogReader did async setup in the StreamController.onListen callback, specifically it would query the api version and start the adb process. If the log subscription was cancelled before this setup completed, then the log output could (haven't confirmed) get added to a closed controller, causing the above state error.
2020-03-10 11:34:40 -07:00
Jonah Williams
c1112d3f7e
[flutter_tools] Reland: Allow providing dart-defines to Android, iOS, macOS builds (#52044) 2020-03-06 14:53:36 -08:00
Jenn Magder
f6a55125d2
Add usage event for failed iOS project migration (#51879) 2020-03-06 12:14:29 -08:00
Zachary Anderson
6c408a0567
Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#52021)
* Reland: [flutter_tool] Where possible, catch only subtypes of Exception

* Add armv7f to getIOSArchForName
2020-03-06 10:22:12 -08:00
Jonah Williams
ee476a7bd1
Revert "[flutter_tools] Allow providing dart-defines to Android, iOS, macOS builds (#51714)" (#52041)
This reverts commit ee60eeea3e.
2020-03-05 12:51:42 -08:00
Jonah Williams
ee60eeea3e
[flutter_tools] Allow providing dart-defines to Android, iOS, macOS builds (#51714) 2020-03-05 12:38:40 -08:00
Jenn Magder
cbbb7ec5a7
Revert "Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#51774)" (#51960)
This reverts commit 57c6721cd5.
2020-03-04 12:40:15 -08:00
Flutter GitHub Bot
57c6721cd5
Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#51774) 2020-03-04 11:41:02 -08:00
Konstantin Scheglov
fb953b719f
Cast to List<dynamic> and cast(). (#51591) 2020-03-03 14:49:02 -08:00
Zachary Anderson
b32ee2f15c
Revert "Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#51567)" (#51616)
This reverts commit 9de7787f25.
2020-02-27 22:57:13 -08:00
Zachary Anderson
9de7787f25
Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#51567) 2020-02-27 22:46:23 -08:00
Zachary Anderson
483f49962c
Revert "[flutter_tool] Where possible, catch only subtypes of Exception (#51440)" (#51539)
This reverts commit f1cd47ef5c.
2020-02-26 23:42:19 -08:00
Zachary Anderson
f1cd47ef5c
[flutter_tool] Where possible, catch only subtypes of Exception (#51440) 2020-02-26 21:45:02 -08:00
Jonah Williams
53457c2241
[flutter_tools] Reland initialize frontend_sever with build (#51477) 2020-02-26 08:06:03 -08:00
Jonah Williams
421056ee54
Revert "[flutter_tools] initialize frontend server with build (#49405)" (#51476)
This reverts commit 59cc3cdf01.
2020-02-26 07:24:18 -08:00
Jonah Williams
59cc3cdf01
[flutter_tools] initialize frontend server with build (#49405) 2020-02-24 14:21:33 -08:00
Levi Lesches
149e06232b
Add option to clear the terminal by pressing "c" (#50034) 2020-02-06 15:53:04 -08:00
Zachary Anderson
4d096c434f [flutter_tool] Make CommandHelp context free (#48584) 2020-01-10 16:53:01 -08:00
Zachary Anderson
23ce192a8f Reland: Reword flutter run help screen. (#48423) 2020-01-09 08:18:03 -08:00
Zachary Anderson
a1bf03f87a
Revert "Esarbanis flutter run help (#48314)" (#48351)
This reverts commit 866fa64dce.
2020-01-07 15:06:40 -08:00
Zachary Anderson
866fa64dce
Esarbanis flutter run help (#48314)
* Reword flutter run help screen.

* As per Hixie request, added Efthymios Sarmpanis to the AUTHORS file

* fix test

Co-authored-by: Efthymis Sarmpanis <e.sarbanis@gmail.com>
2020-01-07 12:10:08 -08:00
Alexandre Ardhuin
4f9b6cf017
enable lint prefer_final_in_for_each (#47724) 2020-01-07 16:32:04 +01:00
Jonah Williams
ee7a37f1d3
[flutter_tools] Ensure that global variables are easily identifiable (#47398) 2020-01-06 11:04:20 -08:00
Jonah Williams
a723c94650
[flutter_tool] restructure ProjectFileInvalidator to no longer directly depend on context (#45739) 2019-12-16 18:12:04 -08:00
Jonah Williams
bda9d90804
[flutter_tool] Reland: support --fast-start for Android applications (as an opt-in) (#46140) 2019-12-10 10:26:14 -08:00
Jonah Williams
81aa2710d2
[flutter_tool] add a vmservice API for hot ui requests (#45649) 2019-12-09 21:31:34 -08:00
Zachary Anderson
99684ce159 [flutter_tool] Make Device.dispose() abstract (#46006) 2019-12-05 08:48:00 -08:00
Jenn Magder
d01de941b9
Revert "Support --fast-start for Android applications (as an opt-in) (#45431)" (#46138)
This reverts commit 2a113165c0.
2019-12-04 18:12:57 -08:00
Jonah Williams
2a113165c0
Support --fast-start for Android applications (as an opt-in) (#45431) 2019-12-04 17:34:25 -08:00
Ian Hickson
449f4a6673
License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
Jonah Williams
598f2ab0fb
Cleanups to resident runner and flutter device classes (#45673) 2019-11-27 13:11:04 -08:00
Jonah Williams
35b571ccfc
Revert "Improve time to development by initializing frontend_server concurrently with platform build (#45236)" (#45422) 2019-11-22 13:36:12 -08:00
Jonah Williams
60869e0a93
Improve time to development by initializing frontend_server concurrently with platform build (#45236) 2019-11-22 12:26:31 -08:00
Emmanuel Garcia
5df4b7db23
Reland: Attach looks at future observatory URIs (#45307) 2019-11-20 18:51:25 -08:00
Emmanuel Garcia
fb5e49082b
Revert "Attach looks at future observatory URIs (#45228)" (#45237)
This reverts commit 2135e9fb1e.
2019-11-19 23:14:25 -08:00
Emmanuel Garcia
2135e9fb1e
Reland: Attach looks at future observatory URIs (#45228) 2019-11-19 21:43:52 -08:00
Emmanuel Garcia
7a0911b47a
Revert "Attach looks at future observatory URIs (#44637)" (#45211)
This reverts commit 6d77996d6a.
2019-11-19 16:47:39 -08:00
Emmanuel Garcia
6d77996d6a
Attach looks at future observatory URIs (#44637) 2019-11-19 15:11:41 -08:00
Alexandre Ardhuin
adc7351046
implicit-casts:false on flutter_tools/lib (#44447)
* implicit-casts:false on flutter_tools/lib

* address review comments

* use castStringKeyedMap

* introduce {bool,string,strings}Arg

* fix ci
2019-11-19 07:57:42 +01:00
James D. Lin
1f0c3d462e
Make ProjectFileInvalidator injectable (#44200)
Allow ProjectFileInvalidator to be overridden with a different
implementation.

I stole this from https://github.com/flutter/flutter/pull/39217.
2019-11-05 21:40:48 -08:00
James D. Lin
83704b1d91
Make ProjectFileInvalidator.findInvalidated able to use the async FileStat.stat (#42028)
Empirical measurements indicate on the network file system we use
internally, using `FileStat.stat` on thousands of files is much
faster than using `FileStat.statSync`. (It can be slower for files
on a local SSD, however.)

Add a flag to `ProjectFileInvalidator.findInvalidated` to let it
use `FileStat.stat` instead of `FileStat.statSync` when scanning for
modified files.  This can be enabled by overriding `HotRunnerConfig`.

I considered creating a separate, asynchronous version of
`findInvalidated`, but that led to more code duplication than I
liked, and it would be harder to avoid drift between the versions.
2019-10-22 20:48:23 -07:00
Jonah Williams
e22d4aa140
Add debugging option to write vmservice address to file after starting (#41583) 2019-10-15 13:05:47 -07:00
Ian Hickson
08643c41d7
Always fake ProcessManager when you fake Filesystem in tests (#42369)
...because otherwise, processes that think they're manipulating your
filesystem will be doing crazy things the test is ignoring, leading to
(at best) failures and (at worst) flakes or disk corruption.
2019-10-11 11:23:12 -07:00
Christopher Fujino
ed482c3e09
Stop leaking iproxy processes (#42026) 2019-10-09 16:30:27 -07:00
James D. Lin
fcbe8f44ea
Restructure ProjectFileInvalidator.findInvalidated a bit (#42008)
Restructure ProjectFileInvalidator.findInvalidated a bit

I plan to modify `ProjectFileInvalidator.findInvalidated` to allow
it to use `FileStat.stat` instead of `FileStat.statSync`.
Restructure `findInvalidated` a bit so that `FileStat.statSync` is
called in only one place.

Note that this change now always counts the `.packages` file as one
of the files scanned, even if it does not exist.  I think that this
is okay since it more accurately reflects the number of times that we
hit the filesystem with `stat()`, and it is consistent with how other
files are counted.
2019-10-04 17:22:35 -07:00
James D. Lin
14c5c6e161
Clean up ProjectFileInvalidator.findInvalidated a bit (#41889)
In preparation for some refactoring that I will be doing to
`ProjectFileInvalidator.findInvalidated`, make its code a bit
clearer:
* Indicate which arguments may be null.
* Don't bother calling `FileStat.statSync` on the `.packages` file
  for the initial load.  This makes the checks for the `.packages`
  file consistent with those for other files.
* Use `DateTime.isAfter()` instead of comparing microseconds
  ourselves.

While I was touching this file, I also removed some unnecessary
comparisons to `false`. (`_ManifestAssetBundle.wasBuiltOnce()` is the
only implementation I can find of `AssetBundle.wasBuiltOnce()`, and
it never returns `null`.)
2019-10-04 12:55:17 -07:00
Alexandre Ardhuin
f0553ba58e
Missing trailing commas (#41473)
* add missing trailing commas

* add more missing trailing commas

* add more and more missing trailing commas
2019-09-30 18:48:23 +02:00
Alexandre Ardhuin
89427d672d
add missing trailing commas in flutter_tools (#40968) 2019-09-24 08:06:09 +02:00
Alexandre Ardhuin
df4bf453ab
more UI-as-code (#35516) 2019-09-17 16:23:44 +02:00
Zachary Anderson
e2340c641d
[flutter_tool] Use curly braces around single statment control structures (#40446) 2019-09-13 14:51:35 -07:00
Jonah Williams
6d37867c4a
Place hot reload artifacts in a temp directory (#40171) 2019-09-11 12:57:43 -07:00
Jonah Williams
6f71ce26d6
Place terminalUi flag on terminal interface (#39214) 2019-08-27 14:20:51 -07:00
Jonah Williams
8d6dc620d6
fix rpc exception for real (#38575) 2019-08-15 12:13:12 -07:00
Jonah Williams
8e6205fe1d
Handle thrown maps and rejects from fe server (#37743) 2019-08-07 17:00:36 -07:00
Jason Simmons
4f302dc18c
Remove unused no-build flag from the flutter run command (#37735)
The use-application-binary flag can be used to run a previously built
app package.
2019-08-07 12:44:02 -07:00
Emmanuel Garcia
80ee3dd04c
Print message when HttpException is thrown after running flutter run (#37440) 2019-08-02 16:02:02 -07:00
Jonah Williams
2ab469952b
Flutter assemble for macos take 2! (#36987) 2019-07-31 16:19:22 -07:00
Zachary Anderson
ef146f63bb
[flutter_tool] Clean up usage events and custom dimensions (#36785) 2019-07-29 07:24:02 -07:00
Todd Volkert
aa9a115181
Move reporting files to reporting/ (#36017)
Slight cleanup of file locations in flutter_tools
to make it easier to see which files are responsible
for data reporting.
2019-07-16 13:21:06 -07:00
Jonah Williams
e3ee5c6bbb
Add better handling of JSON-RPC exception (#36082) 2019-07-13 16:02:09 -07:00
Jonah Williams
adf45d1e40
Refactor signal and command line handler from resident runner (#35406) 2019-07-09 13:10:26 -07:00
Jonah Williams
73330e1241
Remove compilation trace and dynamic support code (#34529) 2019-06-18 15:22:04 -07:00
Zachary Anderson
5555725fe3
[flutter_tool] Fix 'q' for Fuchsia profile/debug mode (#33846) 2019-06-06 11:16:19 -07:00
Sam Rawlins
9c77e8e8a0 Fix missing return statements on function literals (#31825) 2019-05-09 12:43:51 -07:00
Jonah Williams
0acd3e6b04
refactor context to be implicit-downcast safe (#31622) 2019-04-25 15:51:08 -07:00
Devon Carew
d075d647c3
remove the unused hintMessage and hintId fields from the reload results (#31267) 2019-04-18 11:00:54 -07:00
Jonah Williams
99866f4a3d
Make timeout durations configurable (#30053) 2019-03-27 16:21:16 -07:00
Alexandre Ardhuin
bfa1d25bf9
some formatting of map, parameters and spaces (#29760) 2019-03-23 00:02:21 +01:00
Jonah Williams
fc9f7dea1a
Allowing adding/updating packages during hot reload (#29747) 2019-03-21 13:59:38 -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
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
Jonah Williams
edd4c6207a
prevent stream notifications from interfering with reload (#29467) 2019-03-19 16:19:45 -07:00
Jonah Williams
f8f2b043e1
remove explicit frame schedule (#29461) 2019-03-19 10:24:55 -07:00
Jonah Williams
cd803ac7f2
Improve hot reload performance (#28152) 2019-03-15 15:02:45 -07: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
Alexandre Ardhuin
5169ab5974
format parameter list (#27261) 2019-02-21 09:27:07 +01: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
xster
36c5e321a5
Print 50000$ monopoly money (#27531) 2019-02-05 15:00:51 -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