Commit Graph

260 Commits

Author SHA1 Message Date
Jonah Williams
6b17840cbf
Don't try to flutterExit if isolate is still paused (#36199) 2019-07-15 15:44:58 -07:00
Jonah Williams
e3ee5c6bbb
Add better handling of JSON-RPC exception (#36082) 2019-07-13 16:02:09 -07:00
Jonah Williams
7b150f81c5
move reload and restart handling into terminal (#35846) 2019-07-12 08:48:14 -07:00
Jonah Williams
adf45d1e40
Refactor signal and command line handler from resident runner (#35406) 2019-07-09 13:10:26 -07:00
Dan Field
e3acb5ca71
Refactor keymapping for resident_runner (#35762) 2019-07-08 16:38:49 -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
Zachary Anderson
94ce956f0a
[flutter_tool] Adds support for 'run' for Fuchsia devices (#32849) 2019-05-21 08:49:43 -07:00
Sam Rawlins
9c77e8e8a0 Fix missing return statements on function literals (#31825) 2019-05-09 12:43:51 -07:00
Jonah Williams
4ff467191b
make FlutterProject synchronous (#31757) 2019-04-29 08:21:32 -07:00
Jonah Williams
6b191841f3
Allow filtering devices to only those supported by current project (#31446) 2019-04-25 12:25:12 -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
Alexander Aprelev
d775908c7e
Download and handle product version of flutter patched sdk (#31063)
* Support release/debug flavors of flutter_patched_sdk

* Use [anyNamed] instead of [any] for mocking named arguments

* Fix use of local engine in release mode
2019-04-15 21:02:20 -07:00
liyuqian
a8116e9ea3
Allow profile widget builds in profile mode (#30990)
## Description

Previously, such function is only available in the debug mode. But the
performance information is very noisy in debug mode with JIT. I feel
that such function is as important and useful as the performance overlay
and the `--trace-skia` option for the GPU thread.  So we should give it
the same ability to run in both profile and debug mode.

I've tested it using flutter_gallery in the profile mode. There's no
observable difference in the performance overlay between toggling widget
build profiling.

## Related Issues

https://github.com/flutter/flutter/issues/30984
2019-04-15 13:57:43 -07:00
Jonah Williams
cadde2459b
Add toggle for debugProfileWidgetBuilds (#30867) 2019-04-11 12:44:33 -07:00
Dan Field
d2790bd2bb
Check for invalid elevations (#30215)
* Check for invalid elevation usage in the layer tree
2019-04-10 14:57:46 -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
469a859c72
Enable code generation features in tool (#29399) 2019-03-21 13:12:10 -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
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
Jonah Williams
f5c3579f30
Remove extra build_runner modes, remove flutter_build (#28873) 2019-03-07 14:52:29 -08:00
Jonah Williams
a2d349c4c1
select ResidentCompiler during FlutterDevice initialization (#28603) 2019-03-07 11:02:42 -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
6f5f037689
Add basic web device and run support (#28302) 2019-02-26 16:58:24 -08: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
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
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
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
Danny Tuppeny
d5fd57cfbd
Improve unsupported text (#27186) 2019-01-28 17:51:23 +00:00
Gary Qian
b028ee142c Revert "Experimental flags for hot reloads, fixed" (#27059)
* Revert "Make UriMapper and StdoutHandler public and add test cases (#26932)"

This reverts commit 6cf554b0c4.

* Revert "Update packages (#27046)"

This reverts commit 496c57386b.

* Revert "roll engine for TODAY bug (#27049)"

This reverts commit 5ae6346f1d.

* Revert "Warn when building on master channel (#25007)"

This reverts commit dd65a54628.

* Revert "Add experimentalBuildEnabled flag and initial shim for build_runner (#26989)"

This reverts commit 1237ee8f63.

* Revert "Experimental flags for hot reloads, fixed (#27043)"

This reverts commit 2c05d08f0c.
2019-01-24 18:37:56 -08:00
Liam Appelbe
2c05d08f0c
Experimental flags for hot reloads, fixed (#27043)
* Revert "Revert "Experimental flags for hot reloads (#26988)" (#27037)"

This reverts commit cf7441983e.

* Fix analysis failures
2019-01-24 15:58:38 -08:00
Dan Field
cf7441983e
Revert "Experimental flags for hot reloads (#26988)" (#27037)
This reverts commit 763bf11460.
2019-01-24 10:02:38 -08:00
Liam Appelbe
763bf11460
Experimental flags for hot reloads (#26988)
* First pass at incremental exp flags

* adkfgjh
2019-01-24 09:48:10 -08:00
Ian Hickson
31a9626c48
[O] Removing all timeouts (mark II) (#26736)
These are essentially self-inflicted race conditions. Instead of timeouts we're going to try a more verbose logging mechanism that points out when things are taking a long time.
2019-01-19 00:31:05 -08:00
Jonah Williams
830c0dfe83
Allow attaching to profile builds (#26720) 2019-01-18 10:09:44 -08:00
Kenzie Schmoll
33bfa6a7c5
Register hotRestart service in flutter_tools. (#26669)
* Register hot restart service in flutter_tools.
2019-01-17 08:28:54 -08:00
Luca Zuccarini
36a493602c Create an injectable factory for application packages. (#26422) 2019-01-16 14:12:47 -08:00
Stanislav Baranov
585e23173a
Friendlier flutter tool messages for dynamic mode (#26378) 2019-01-10 16:07:50 -08:00
Jonah Williams
891036c9b9
Prevent calls to view.uiIsolate.flutterExit on devices which do not support it (#26201) 2019-01-07 21:58:15 -08:00
Stanislav Baranov
acdd9206aa
Improve message when saving compilation training data. (#26084) 2019-01-04 11:57:32 -08:00
Stanislav Baranov
b57499e704
Friendlier messages when using dynamic patching (#25863) 2019-01-03 16:18:36 -08:00
Alexander Aprelev
52bd2ccb8b
Report devfs stats (#25586)
* Collect devfs stats for better analytics

* Fix fields initialization

* Fix lints
2018-12-27 09:53:24 -08:00
Ian Hickson
8426910a19
Revert "[O] Remove many timeouts. (#23531)" (#25646)
This reverts commit 76f70810e4.
2018-12-20 18:46:36 -08:00
Ian Hickson
76f70810e4
[O] Remove many timeouts. (#23531)
* Remove many timeouts.

These are essentially self-inflicted race conditions. Instead of timeouts we're going to try a more verbose logging mechanism that points out when things are taking a long time.

* Get the attach tests to pass.

* Apply review comments from Todd

* More review comment fixes

* Put back the extended timeouts here now that I know why we have them...
2018-12-20 17:10:40 -08:00
Stanislav Baranov
eb7a59b6d7
Switch over to the new name for compilation trace native function (#25594)
* Switch over to the new name for compilation trace native function.

Also see: https://github.com/flutter/engine/pull/7256

* rename

* roll the engine
2018-12-20 16:07:36 -08:00
Stanislav Baranov
c5251cdc02
Flutter tool support for automatic saving of JIT compilation trace (#25301) 2018-12-14 16:09:17 -08:00
Jonah Williams
c11633e84e
Separate hot reload and hot restart capabilities. (#24122) 2018-11-09 10:33:22 -08:00
Ian Hickson
6bfd9bb996 Fix a race condition in vmservice_test.dart (#23835)
Fixes https://github.com/flutter/flutter/issues/19273
2018-11-08 20:54:06 -08:00
Jonah Williams
81c7af342d
Add fuchsia specific entrypoint (#23916) 2018-11-06 14:36:35 -08:00
Jonah Williams
a43e3a4a2f
Retry remove package:test from flutter (#24007) 2018-11-06 10:48:34 -08:00
Jonah Williams
23a7535a39
Revert "Remove package:test dependency from flutter_test (#23755)" (#24004)
This reverts commit 71e9bd6f25.
2018-11-06 09:12:48 -08:00
Jonah Williams
71e9bd6f25
Remove package:test dependency from flutter_test (#23755) 2018-11-06 08:39:27 -08:00
Greg Spencer
4559ae1a6b
Stop wrapping adb, gradle and ios logger output, and update terminal wrapping column dynamically. (#23592)
Subcommand output (gradle, adb, etc) is no longer wrapped, and wrapping notices when the terminal column width changes dynamically now.

Fixes #23267.
Fixes #23266.
2018-10-30 16:00:50 -07:00
Alexander Aprelev
5fc6b87174
Reland change that speeds up multiple devices hot-reload (#23695)
* Revert "Revert "Run reload asynchronously so that multiple devices can reload in parallel. (#22693)" (#23598)"

This reverts commit 0b68068d6a.

* Fix refreshViews so it sends app-wide(rather than per-isolate) service request.

Sending per-isolate request caused dead-lock in the engine in case of more-than-one ui isolate.
2018-10-29 18:51:57 -07:00
Ian Hickson
5b4a5da78e
Revert "[O] Fix a race condition in vmservice_test.dart" (#23647)
* Revert "[H] Created a variant of InheritedWidget specifically for Listenables (#23393)"

This reverts commit 931328596a.

* Revert "Fix a race condition in vmservice_test.dart (#23529)"

This reverts commit 5e7b0a366b.
2018-10-28 13:43:15 -07:00
Ian Hickson
5e7b0a366b
Fix a race condition in vmservice_test.dart (#23529)
Fixes https://github.com/flutter/flutter/issues/19273
2018-10-27 16:50:53 -07:00
Alexander Aprelev
0b68068d6a
Revert "Run reload asynchronously so that multiple devices can reload in parallel. (#22693)" (#23598)
This reverts commit 709f54f4bb as it seems to have broken two tests: flutter_gallery__back_button_memory, named_isolates_test.
2018-10-26 18:56:49 -07:00
Alexander Aprelev
709f54f4bb
Run reload asynchronously so that multiple devices can reload in parallel. (#22693)
* Run reload asynchronously so that multiple devices can reload in parallel.
2018-10-26 10:32:25 -07:00
Jacob Richman
f5f70f0c99
Include .track in file names for cached dill files for builds with --track-widget-creation (#23299)
Ensure that cached dill files for builds with --track-widget-creation
always have .track. in the file name to avoid mixing transformed and
untransformed kernel files.
2018-10-23 10:09:18 -07:00
Michael Klimushyn
4f8acd8462
Set FlutterDevice.viewFilter by CLI flag (#23026)
`FlutterDevice.views` is limited by a filter. Pipe this filter up as an
option for the commands that instantiate `FlutterDevice`s. This is the
first change necessary for the CLI tooling to target specific isolates
(#22009).

More work needs to be done after this patch.
* Isolate names are dynamically generated and change every restart.
* This just filters views, not background isolates (`VMService.isolates`).
2018-10-17 08:07:49 -07:00
Danny Tuppeny
a02f9d501b
Allow passing a restart reason through to analytics (#21983)
* Allow passing a restart reason through to analytics

* Update to avoid overlaps with other code

* Remove TODO as this is the real live value

* Improve formatting + constant name
2018-10-10 10:23:32 +01:00
Alexandre Ardhuin
2d3ff10d62
apply lint prefer_void_to_null in packages/flutter_tools (#22686) 2018-10-05 07:54:56 +02:00
Alexandre Ardhuin
5de96bb734
unnecessary this in field initializers (#22522) 2018-10-02 17:14:59 +02:00
Alexandre Ardhuin
f62afdcf57
add missing type parameter on methods (#22096) 2018-10-01 21:29:08 +02:00
shrike69
fd8a9603ac
Remove waitForViews() during hot reload (#22371) 2018-09-28 11:35:38 -07:00
Alexandre Ardhuin
d927c93310
Unnecessary new (#20138)
* enable lint unnecessary_new

* fix tests

* fix tests

* fix tests
2018-09-12 08:29:29 +02:00
Todd Volkert
d7a0dcaa4a
Fix race condition in resident_runner (#21696)
* Don't set the `vmServices` member variable until it's fully initialized.
* Add a timeout to the future that sends the 'started' event to the IDE

https://github.com/flutter/flutter/issues/16604
2018-09-11 20:58:47 -07:00
Chris Bracken
05d557b9ef
Make FlutterDevice.generator final (#21555)
Now that Dart 1 support has been eliminated, generator should always be
populated to a kernel compiler instance.

Also moves the constructor to the top of the class, and orders final
fields before non-final fields, as dictated by the style guide.
2018-09-07 13:56:04 -07:00
Chris Bracken
70eefd1e9c
Eliminate Dart 1 support from FlutterDevice class (#21402) 2018-09-04 15:42:05 -07:00
Chris Bracken
d04a057efd
Eliminate BuildInfo.previewDart2 (now always true) (#21392)
Dart 1 is no longer supported in Flutter.
2018-09-04 13:38:17 -07:00
Chris Bracken
4a0106658f
Migrate hot reload tests to Dart 2 (#21290) 2018-08-31 15:40:00 -07:00
xster
cda2c223f5
Turn on unawaited_futures in flutter_tools (#21048) 2018-08-30 20:57:44 -07:00
Mikkel Nygaard Ravn
d4e5e1e11e
Materialize Flutter module, Android (#20520) 2018-08-16 13:21:55 +02:00
Mikkel Nygaard Ravn
b280074815
Move async from member access to construction (#20035) 2018-08-02 14:12:25 +02:00
Ian Hickson
acf4b6c1aa
Clean up startProgress logic. (#19695) (#20009)
Disallow calling stop() or cancel() multiple times. This means that
when you use startProgress you have to more carefully think about what
exactly is going on.

Properly cancel startProgress in non-ANSI situations, so that
back-to-back startProgress calls all render to the console.
2018-07-30 16:58:07 -07:00
Jonah Williams
9c159638bc
Revert "Clean up startProgress logic. (#19695)" (#19842)
This reverts commit 0636c6fe60.
2018-07-26 16:44:27 -07:00
Ian Hickson
0636c6fe60
Clean up startProgress logic. (#19695)
Disallow calling stop() or cancel() multiple times. This means that
when you use startProgress you have to more carefully think about what
exactly is going on.

Properly cancel startProgress in non-ANSI situations, so that
back-to-back startProgress calls all render to the console.
2018-07-26 14:02:25 -07:00
Sigurd Meldgaard
2d3a5c744d
Revert "Revert "Use FlutterProject to locate files (#18913)" (#19409)" (#19456)
With a fix of a path being printed relative instead of absolute.
2018-07-20 08:00:30 +02:00
Danny Tuppeny
ed9afbbc72
Add --machine support for flutter attach (#19077)
* Extract some of startApp into a reusable method

* Get basic attach --machine working

* Attach --machine tweaks

Move validation to validate method and create daemon early so we get the startup event before trying to get a connection.

* Bump daemon version so we know whether it's valid to flutter attach

* Tweak output text

* Swap package imports for relative

* Review tweaks (naming, formatting, typedefs)

* Separate arguments from process spawning

This will make calling attach easier

* Add a basic test for flutter attach --machine

* Fix crash if port unforward modifies the list of forwarded ports

* Add a no-op port forwarder for flutter-tester

* Switch to using BasicProject instead of our own inline code

* Fix expectation in test now we have a portForwarder

* Remove stale TODO (this is done)

* Tweak formatting

* Change some Completers to void to fix Dart 2 issues
2018-07-19 13:38:29 +01:00
Sigurd Meldgaard
6a8f904104
Revert "Use FlutterProject to locate files (#18913)" (#19409)
This reverts commit 57d78cc739.
2018-07-16 16:21:20 +02:00
Sigurd Meldgaard
57d78cc739
Use FlutterProject to locate files (#18913) 2018-07-16 09:39:37 +02:00
Alexander Aprelev
b075229d85
Preserve original kernel file for isolate spawn requests. (#18127)
* Preserve original kernel file for isolate spawn requests.

This change gives incremental kernel files ".incremental.dill" extension thereby preserving original kernel file.

Bug: https://github.com/flutter/flutter/issues/16084
Bug: https://github.com/flutter/flutter/issues/17012
Bug: https://github.com/flutter/flutter/issues/17983

* Factor out naming logic into separate function

* Fix string vs uri
2018-07-12 13:41:15 -07:00
Alexander Aprelev
acf3f3d839
Fix 'are there any views available' check (#19231) 2018-07-10 17:58:36 -07:00
Ian Hickson
d1cc8b6de8
Clean up output of "flutter run --release" (#18380)
(second attempt)
2018-06-14 12:30:20 -07:00
Chris Bracken
2ae48845a8
Revert elimination of Dart 1 (#18460)
fuchsia_tester.dart still assumes Dart 1. Previously, it ran tests directly
from source, flutter_platform.dart automatically runs a kernel compile when
operating in Dart 2 mode, but this assumes a functional Dart SDK is available
in the artifacts directly, and fuchsia_tester.dart mocks out the artifacts
directory with an empty temp dir.

Remaining work is:
1. Get the frontend server building as a dependency on Fuchsia.
2. Patch fuchsia_tester.dart to use a valid Dart SDK and frontend server.

This also reverts migration to Dart 2 typedef syntax.

This reverts commit 6c56bb2. (#18362)
This reverts commit 3daebd0. (#18316)
2018-06-13 12:46:39 -07:00
Chris Bracken
3daebd059c
It's time to #deleteDart1 (again) (#18316)
* It's time to #deleteDart1 (#18293)

Eliminates support for Dart 1 in flutter_tools, and drops our Dart 1
benchmarks. All commands now run in Dart 1 mode only.

Eliminates --preview-dart-2 / --no-preview-dart-2 support.

* Fix indentation, remove no longer necessary .toList()

* Only push udpated kernel if >0 invalidated srcs
2018-06-08 15:49:24 -07:00
Chris Bracken
9495df4bc3
Revert "It's time to #deleteDart1 (#18293)" (#18313)
Several benchmarks started failing during kernel compile:
1. Timeouts:
   * commands_test
   * hot_mode_dev_cycle__benchmark
   * run_machine_concurrent_hot_reload
   * service_extensions_test

2. Kernel compiler crash:
   * hot_mode_dev_cycle_linux__benchmark
   * routing_test

3. Unexpected termination:
   * hot_mode_dev_cycle_win__benchmark

This reverts commit ed63e7082a.
2018-06-08 12:43:11 -07:00
Chris Bracken
ed63e7082a
It's time to #deleteDart1 (#18293)
Eliminates support for Dart 1 in flutter_tools, and drops our Dart 1
benchmarks. All commands now run in Dart 1 mode only.

Eliminates --preview-dart-2 / --no-preview-dart-2 support.
2018-06-08 11:04:57 -07:00
Alexander Aprelev
f11c8d967c
Add compile-expression service. (#16161)
This registers compile-expression service that is used by dart vm to evaluate expressions when debugging flutter applications.
2018-06-05 13:22:13 -07:00
Alexandre Ardhuin
09276bea25
enable lint prefer_equal_for_default_values (#18156) 2018-06-05 08:50:40 +02:00
Ian Hickson
944f0a4cc1
Revert "Clean up output of "flutter run --release" (#18049)" (#18184)
This reverts commit 4f1b66044c.
2018-06-04 16:17:08 -07:00
Ian Hickson
4f1b66044c
Clean up output of "flutter run --release" (#18049) 2018-06-04 15:22:51 -07:00
Todd Volkert
d820e5f3b1
Use deprecated io constants (#17278)
The new values are not ready for use yet inside Google
2018-05-03 22:27:29 -07:00
Yegor
b2c98f9a4e
Roll engine to e976be13c51448f89107d082ec81e2b6731671fa (#17266)
* Roll engine to e976be13c51448f89107d082ec81e2b6731671fa

* move away from deprecated constants
2018-05-03 19:24:48 -07:00
Yegor
d354096299
a11y traversal: sort locally; use new sorting algorithm (#16253)
New a11y traversal:

- sort direct sibling SemanticsNodes only
- use new sorting algorithm
- implement RTL
- test semantics in traversal order by default
- add AppBar traversal test
- breaking: remove nextNodeId/previousNodeId from the framework
- breaking: remove DebugSemanticsDumpOrder.geometricOrder
2018-04-23 14:23:49 -07:00