Commit Graph

246 Commits

Author SHA1 Message Date
Jonah Williams
183fe75d58
[flutter_tools] reland: drive service (#68887)
Overhaul of flutter drive in order to deliver a better experience, namely:

* flutter run and flutter drive now share more flags, so code paths that were previously only testable on run are now testable on drive.
* Removes web-initialize-platform as this is no longer used
* flutter drive correctly sets up a logger that shows native exceptions, by connecting to the vm service.
* VM service connection now provides access to memory info without launching devtools (only for debug/profile mode)

Web changes

* Passes on the one test in the repo, otherwise the webdriver code has been isolated as much as possible

Additional NNBD related bug fixes:

No longer passes --enable-experiment to the test script. (FYI @blasten ). earlier we might have assumed that the flutter gallery benchmarks would be migrated along side the app and flutter driver, but only the app under test needs to be migrated. The test scripts should never be run with the experiment.
2020-10-26 10:11:30 -07:00
Jonah Williams
1edec6fc20
Revert "[flutter_tools] refactor drive launch into separate service, split by mobile+desktop and web (#68451)" (#68845)
This reverts commit 2e75f52ae4.
2020-10-22 19:39:33 -07:00
Jonah Williams
2e75f52ae4
[flutter_tools] refactor drive launch into separate service, split by mobile+desktop and web (#68451)
Overhaul of flutter drive in order to deliver a better experience, namely:

flutter run and flutter drive now share more flags, so code paths that were previously only testable on run are now testable on drive.
Removes web-initialize-platform as this is no longer used
flutter drive correctly sets up a logger that shows native exceptions, by connecting to the vm service.
VM service connection now provides access to memory info without launching devtools (only for debug/profile mode)
Web changes

Passes on the one test in the repo, otherwise the webdriver code has been isolated as much as possible

Additional NNBD related bug fixes:

No longer passes --enable-experiment to the test script. (FYI @blasten ). earlier we might have assumed that the flutter gallery benchmarks would be migrated along side the app and flutter driver, but only the app under test needs to be migrated. The test scripts should never be run with the experiment.
2020-10-22 15:07:02 -07:00
Jonah Williams
08576cb671
[flutter_tools] HACKTOBERFEST (#67882)
HACKTOBERFEST
2020-10-12 09:31:02 -07:00
Jonah Williams
3a51bcb5c0
[flutter_tools] delete code related to reload method (#67279)
This functionality ultimately became the single widget reload optimization, which did not require a separate service protocol.
2020-10-05 09:57:10 -07:00
Jonah Williams
a19f5baccc
[flutter_tools] connect widget cache from frontend_server (#65951) 2020-09-19 11:02:04 -07:00
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07:00
Jonah Williams
042fa8cf66
[flutter_tools] trim trailing newline from vm service logging events (#63976) 2020-08-17 12:26:03 -07:00
Nolan Scobie
43c1b34cf5
Add punctuation for unterminated sentences in doc comments (#62755)
* Add punctuation for unterminated sentences in doc comments

* Addressing review nit
2020-08-06 19:18:52 -04:00
Jonah Williams
07caa0fbfe
[flutter_tools] Add plumbing for widget cache (#61766)
To support #61407 , the tool needs to check if a single widget reload is feasible, and then conditionally perform a fast reassemble.

To accomplish this, the FlutterDevice class will have a WidgetCache injected. This will eventually contain the logic for parsing the invalidated dart script. Concurrent with the devFS update, the widget cache will be updated/checked if a single widget reload is feasible. If so, an expression evaluation with the target type is performed and the success is communicated through the devFS result. An integration test which demonstrates that this works is already present in https://github.com/flutter/flutter/blob/master/packages/flutter_tools/test/integration.shard/hot_reload_test.dart#L86

Finally, when actually performing the reassemble the tool simply checks if this flag has been set and calls the alternative reassemble method.

Cleanups:

Remove modules, as this is unused now.
2020-07-20 14:03:44 -07:00
Dan Field
eadc35f62b
Optionally invert oversized images (#61209)
* Optionally invert oversized images
2020-07-13 14:03:23 -07:00
Chris Bracken
e0f60918d4
Roll the engine from 965fbbe to b5f5e63 (#59804)
This rolls the engine from:
965fbbed1776545ee681cb57f3fb1d0c2000bbcb to
b5f5e6332cb4987e9e38ffaa267733ec0a8705ba. A Dart SDK roll in this range
changed the format of the compileExpression RPC VMService endpoint,
necessitating a tool patch.
2020-06-18 16:12:54 -07:00
Jonah Williams
e1f4cfb4f4
[flutter_tools] add toggle b and service extension to change platform brightness (#59571)
A frequent request from the last Flutter developer survey was for an easier method of testing light/dark mode changes. Currently, a user needs to manually change the theme settings or adjust phone settings to see the difference. Instead we should add a toggle from the CLI, and eventually devtools/Intellij/Vscode that allows developers to override the current setting.

Fixes #59495

Adds flutter.ext.brightnessOverride service protocol which either queries the current platform brightness, or overrides it to a new value. This accepts either Brightness.light or Brightness.dark as a value.

Adds a CLI toggle b which allows the setting to be toggled manually.

Requires an update to the MediaQuery, to conditionally use a debug override when not in release mode
2020-06-18 10:32:43 -07:00
Chris Bracken
f39ab52221
Revert "Manual engine roll to update format of compileExpression RPC response (#59717)" (#59774)
Failing dev/integration_tests/ui/test_driver/keyboard_resize_test.dart
Also timing out on new_gallery_ios__transition_perf

This reverts commit c7a37c72c2.
2020-06-18 09:52:44 -07:00
Ben Konyi
c7a37c72c2
Manual engine roll to update format of compileExpression RPC response (#59717) 2020-06-18 09:18:03 -07:00
Jonah Williams
719ea5a8c0
[flutter_tools] make expando on vm service null safe to handle web stuff (#59624) 2020-06-18 08:18:04 -07:00
Helin Shiah
e62c1f6954
Send text error in JSON and print in tools (#59018) 2020-06-09 11:18:03 -07:00
Jonah Williams
0620cfa770
Revert "Send text error in JSON and print in tools (#58994)" (#59002)
This reverts commit f0174b176a.
2020-06-08 11:56:23 -07:00
Helin Shiah
f0174b176a
Send text error in JSON and print in tools (#58994)
* Revert "Revert "Send text error in JSON and print in tools (#58284)" (#58872)"

This reverts commit c2d5e18cb2.

* Put streamListen in try/catch if extension events already listened for
2020-06-08 11:24:23 -07:00
Jonah Williams
c2d5e18cb2
Revert "Send text error in JSON and print in tools (#58284)" (#58872)
This reverts commit cce6b3c5ae.
2020-06-06 10:35:58 -07:00
Helin Shiah
cce6b3c5ae
Send text error in JSON and print in tools (#58284)
* Send text error in JSON and print in tools

* Add test for error text

* Fix analysis issues

* Move streamListen to try/catch and use global.printStatus

* Extract print error fn and listen for events in web runner

* Add extension listen request to test

* Update packages/flutter_tools/lib/src/resident_runner.dart

Co-authored-by: Jonah Williams <jonahwilliams@google.com>

* Rename error parsing method

* Allow crash if listen for extension stream fails

* Add test for error and non-error extension events

* Fix formatting for TextTreeRenderer

* Use shorter message for second exceptions

* Specify types for map

* Add empty JSON for resident_web_runner test

* Move stream listen to vmservice and add vmservice test

* Fix stream type

* Move structured error log definition to vmservice

* Use correct test matcher isNot

Co-authored-by: Jonah Williams <jonahwilliams@google.com>
2020-06-05 19:07:37 -07:00
Jonah Williams
72f81f4167
remove unused completer (#58804) 2020-06-05 11:53:01 -07:00
Jonah Williams
1e4d9f8502
[flutter_tools] add --write-sksl-on-exit to flutter drive (#58743)
Allow dumping sksl files on driver exit when a file path is provided to drive's --write-sksl-on-exit
2020-06-05 11:01:23 -07:00
Jonah Williams
600338286f
[flutter_tools] add vm service method to pull SkSL (#57813) 2020-05-27 10:10:41 -07:00
James D. Lin
c6f7792311
[flutter tools] Improve messages when we fail to connect to the Observatory (#57355) 2020-05-21 17:47:02 -07:00
Jonah Williams
9b7b9d795e
[flutter_tools] reland remove flutter view cache (#56387)
Fixes #56194

Remove caching of FlutterView and poll forever if the list of flutter views is empty. Added test for missing release mode logic.
2020-05-05 12:09:51 -07:00
Jonah Williams
d98d3a973f
Revert "[flutter_tools] remove flutter view cache (#56223)" (#56385)
This reverts commit 209bdcb669.
2020-05-05 11:15:33 -07:00
Jonah Williams
209bdcb669
[flutter_tools] remove flutter view cache (#56223)
Remove caching of FlutterView. Perhaps the FlutterView RPC might return an empty list if the VM is not quite up yet? We had some old logic to poll the flutter views RPC for up to 200ms. That doesn't seem like a great approach, so instead we could forgo it entirely and trust that either the views come up before the developer tries to interact, or we crash.
2020-05-05 10:47:01 -07:00
Devon Carew
3f9ede1311
fix the reload and restart service extension methods (#56240) 2020-05-04 11:34:02 -07:00
Jonah Williams
0889e14361
[flutter_tools] increase stopApp timeout for FlutterDevice.exitApps (#55984) 2020-04-29 15:08:34 -07:00
Jonah Williams
534b0608ce
[flutter_tools] remove vm service (#55794)
Finishes the gradual vm service migration by deleting the flutter tooling's vm_service
2020-04-29 11:52:46 -07:00
Jonah Williams
ffcf1db3ca
[flutter_tools] reland migrate FlutterViews to package:vm_service (#55797)
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 17:41:42 -07:00
Jenn Magder
958ab9336f
Revert "[flutter_tools] reland migrate FlutterView to new vmservice (#55774)" (#55788)
This reverts commit a18e6361cf.
2020-04-27 16:19:25 -07:00
Jonah Williams
a18e6361cf
[flutter_tools] reland migrate FlutterView to new vmservice (#55774) 2020-04-27 15:54:59 -07:00
Jonah Williams
07c451fea9
Revert "[flutter_tools] migrate FlutterView to new vm_service (#55341)" (#55772)
This reverts commit 2e50fd75eb.
2020-04-27 14:26:56 -07:00
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
9202e54704
[flutter_tools] move service extensions off of deprecated vm service (#55012) 2020-04-20 15:15:54 -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
159710ecc5
[flutter_tools] fix response format of flutterVersion, flutterMemoryInfo (#54786) 2020-04-14 15:37:49 -07:00
Jonah Williams
723bc76847
[flutter_tools] update coverage collector to use vmservice api (#54682) 2020-04-13 16:10:02 -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
cf5e4b544e
[flutter_tools] fix routing test (#54313) 2020-04-08 14:53:19 -07:00
Jonah Williams
4851888864
[flutter_tools] Migrate to package:vm_service 4: trigonometric boogaloo (#54132) 2020-04-08 12:33:33 -07:00
Jonah Williams
08fe78fff9
[flutter_tools] write SkSL file to local file (#53859) 2020-04-07 12:17:39 -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