Commit Graph

502 Commits

Author SHA1 Message Date
Ian Hickson
0021a08c4d
Always activate DevTools if it's not installed (#81242) 2021-04-28 17:14:02 -07:00
Ian Hickson
e5414695d4
Change --disable-dds to --no-dds to avoid double negatives (#80900)
Also, refactor internal code to do the same.

See https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#avoid-double-negatives-in-apis
2021-04-23 16:29:38 -07:00
Emmanuel Garcia
b0a63c4ffe
Reland the Dart plugin registry (#79669) 2021-04-23 15:34:04 -07:00
Ian Hickson
598737adf2
Clean up the command line tool interactive help output. (#80903) 2021-04-22 19:34:02 -07:00
Jonah Williams
b30d97a64c
[flutter_tools] split host artifacts out of Artifacts (#80876) 2021-04-22 19:29:02 -07:00
Jonah Williams
e67f14e511
[flutter_tools] handle missing method on exit, debugDumpX (#80890) 2021-04-22 09:59:04 -07:00
Jonah Williams
fdda777e34
[flutter_tools] support screenshot on all device types (#80616)
Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
2021-04-20 15:48:26 -07:00
Jonah Williams
9904a7f472
Refactor core resident runner logic (#80462) 2021-04-16 17:27:35 -07:00
Jonah Williams
5a5eb2d963
[flutter_tools] connect devtools deeplink URLs for web target platform / debug mode (#80389) 2021-04-15 10:52:09 -07:00
Jonah Williams
4ae68a3aa2
[flutter_tools] Move sksl writing out of vm_service (#79455) 2021-04-01 13:23:40 -07:00
Jonah Williams
6b3093b6af
[flutter_tools] remove globals from Device and separate FlutterDeviceManager (#79454) 2021-03-31 12:59:00 -07:00
Jonah Williams
430626d0f3
[flutter_tools] use existing service implementations for web (#78995) 2021-03-29 21:44:03 -07:00
Jonah Williams
cf6d4a35a5
[flutter_tools] guard L service extension in debug mode (#79173) 2021-03-29 20:54:05 -07:00
Jenn Magder
63d6ec56af
Migrate deferred_components_validator to null safety (#78934) 2021-03-24 15:20:05 -07:00
Zachary Anderson
5efc7169eb
Reverts "Implement dartPluginClass support for plugins #74469" (#78623)
* Revert "Enable dart_plugin_registry_test (#76645)"

This reverts commit 109e0bb9f5.

* Revert "Apply changes caused by https://github.com/flutter/flutter/pull/76662 (#77093)"

This reverts commit cdca6485f0.

* Revert "Disable clang format in the plugin registrants (#76662)"

This reverts commit dadbd47d09.

* Revert "Disable warnings for the dart plugin registrant (#76561)"

This reverts commit 098ece522d.

* Revert "Remove dart_plugin_registry_test timeouts (#76838)"

This reverts commit 1610a27476.

* Revert "Implement dartPluginClass support for plugins (#74469)"

This reverts commit b7d4806243.

Kick.
2021-03-23 14:28:11 -07:00
Jonah Williams
9f420ffb3e
[flutter_tools] io cleanups to simplify null safety migration (#77955) 2021-03-12 16:21:14 -08:00
Jonah Williams
d20ec4c7d8
[flutter_tools] read expression compilation results into memory before starting next compilation (#77867) 2021-03-11 22:18:51 -08:00
Jonah Williams
d39d450594
[flutter_tools] remove most globals from resident web runner (#77432) 2021-03-08 14:38:26 -08:00
Jonah Williams
a3b14c58ae
[flutter_tools] replace vm_service extension methods with wrapper class (#76721) 2021-02-24 15:40:33 -08:00
Emmanuel Garcia
b7d4806243
Implement dartPluginClass support for plugins (#74469) 2021-02-19 09:22:45 -08:00
Jonah Williams
820fb0bf2b
[flutter_tools] stop using throttled print for service extensions (#76022) 2021-02-16 12:11:57 -08:00
Jonah Williams
7ab8517f7e
[flutter_tools] refactor devtools handler to expose single method for run/attach and restart (#75807) 2021-02-10 17:04:47 -08:00
Ian Hickson
b1cc48748d
Only write the pid-file while listening to SIGUSR signals. (#74533) 2021-02-10 16:06:05 -08:00
Jonah Williams
3aece33534
[flutter_tools] refactor devtools handler into its own class (#75444) 2021-02-09 15:31:39 -08:00
Ian Hickson
8acac060bf
Remove the timeout when launching DevTools (#74859) 2021-02-01 16:06:02 -08:00
Jonah Williams
74bd7b6f6d
[flutter_tools] opt all flutter tool libraries and tests out of null safety. (#74832)
* opt out the flutter tool

* oops EOF

* fix import

* Update tool_backend.dart

* Update daemon_client.dart

* fix more
2021-01-27 15:17:53 -08:00
Jonah Williams
4a1445bb1d
[flutter_tools] handle further devtools NPE (#74764) 2021-01-27 09:11:26 -08:00
Dan Field
d1538320d2
Roll packages to null safe (vm_service, test, etc.) (#74671) 2021-01-26 09:15:54 -08:00
Ben Konyi
92427f260a
Handle 'Existing VM service clients' error from old VM service instances (#74665) 2021-01-25 12:29:05 -08:00
Jonah Williams
9ba06b4d3b
[flutter_tools] handle waitForExtension having no isolates (#74664) 2021-01-25 11:54:03 -08:00
Kenzie Schmoll
c89d649847
Add connectedVmServiceUri service extension and set from flutter_tools (#74534)
* Add connectedVmServiceUri service extension and set from flutter_tools
2021-01-25 10:40:14 -08:00
Kenzie Schmoll
75dc45aba3
Fix bugs with ext.flutter.activeDevToolsServerAddress (#74423) 2021-01-21 11:51:02 -08:00
Kenzie Schmoll
b45088c0cf
Print DevTools inspector links in RenderFlex Overflow errors (#74251) 2021-01-21 02:59:04 -08:00
Ben Konyi
913d5933c1
Check VM service URI is valid before attempting to start DDS (Re-upload #73998) (#74280) 2021-01-19 22:34:03 -08:00
Jonah Williams
fc59f01ea8
[flutter_tools] ensure allowExistingDdsInstance param is always non-null (#74091) 2021-01-15 18:04:40 -08:00
Jenn Magder
912c3ab171
Revert "Revert "[flutter_tools] Serve DevTools at app start (#73366)" (#73896)" (#73903)
This reverts commit 388dcd2478.
2021-01-13 15:36:43 -08:00
Jenn Magder
388dcd2478
Revert "[flutter_tools] Serve DevTools at app start (#73366)" (#73896)
This reverts commit 1cb0a24a46.
2021-01-13 13:57:09 -08:00
Kenzie Schmoll
1cb0a24a46
[flutter_tools] Serve DevTools at app start (#73366)
* [flutter_tools] Serve DevTools at app start
2021-01-12 21:39:27 -08:00
Ben Konyi
620a8284f8
Catch StateError and output more useful error message when DDS fails to start (#72736) 2020-12-22 10:24:04 -08:00
Kenzie Schmoll
cd452286ab
Launch DevTools from pub instead of devtools_server (#71737)
* Launch DevTools from pub instead of devtools_server
2020-12-14 10:12:42 -08:00
Ben Konyi
89ef88c64f
Ensure attaching to an application with an existing DDS instance is not treated as a fatal error (#70847) 2020-12-04 17:16:30 -08:00
Jonah Williams
1816778529
[flutter_tools] wire up alternative invalidation strategy to features (#71439) 2020-12-01 09:54:23 -08:00
Jonah Williams
613a959878
only use code single path for verification of target file existence (#70962) 2020-11-20 14:17:11 -08:00
Jonah Williams
1efb36035e
[flutter_tools] display message for current null safety mode (#70718) 2020-11-20 11:53:02 -08:00
Jonah Williams
7086a2f43b
Revert "[flutter_tools] wire up alternative invalidation strategy to features (#70865)" (#70884)
This reverts commit ef4741540b.
2020-11-19 14:01:39 -08:00
Jonah Williams
ef4741540b
[flutter_tools] wire up alternative invalidation strategy to features (#70865) 2020-11-19 13:13:51 -08:00
Jonah Williams
0a73ecf6df
[flutter_tools] use initially parsed package config for language version, sound mode determination (#70323) 2020-11-13 09:41:11 -08:00
Jonah Williams
a40ee8a3fb
[flutter_tools] migrate .packages to package_config, partial (#70200) 2020-11-11 13:50:41 -08:00
Jonah Williams
0bbd9020ed
[flutter_tools] remove experiment tracking analytics for null safety (#70183) 2020-11-10 12:49:50 -08:00
Jonah Williams
39bc68b6a2
[flutter_tools] dont use autodetect enum for web (#70189) 2020-11-10 12:49:38 -08:00
Jonah Williams
3fb389c75a
[null-safety] implement null-safe autodetection for the web (#70126)
Fixes #69416
Fixes #70121
2020-11-09 16:13:38 -08:00
Jonah Williams
4c511fbde2
[flutter_tools] remove workaround for caching sound dill (#70014) 2020-11-09 11:53:56 -08:00
Jonah Williams
3e41962dff
[null-safety] update tests and tool auto-detection for null safe dart (#69405)
Disable null safety auto-detection for the web
2020-10-30 13:42:54 -07:00
Angjie Li
2bbd004682
Support --web-renderer options which would allow user to specify which rendering backend to use. (#68848) 2020-10-28 17:32:09 -07:00
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
0f28edac65
[flutter_tools] null safety mode is used for dill naming (#68898)
* [flutter_tools] null safety mode is used for dill naming

* add bad test case
2020-10-23 15:39:58 -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
Shi-Hao Hong
38ebc5588b
[gen_l10n] Create pubspec.yaml in ".dart_tool/flutter_gen" if it does not already exist (#68206)
* Generate pubspec.yaml for synthetic package if it did not exist prior
2020-10-16 11:34:27 +08:00
Jonah Williams
4b351ac1b4
[flutter_tools] do not allow attaching in release mode (#68071)
Do not allow attach in release mode, as there is not VM Service to connect to. Observed in crash reporting as thrown string which is changed to exception below.
2020-10-13 21:29:23 -07:00
Jonah Williams
9e70180f63
[flutter_tools] do not measure progress timeout (#67959)
Remove "This is taking a long time" progress timeout and TimeoutConfiguration.
2020-10-13 13:05:47 -07:00
Jonah Williams
0afddf3578
[flutter_tools] use fixed entry for dill uploads (#67837)
For historical reasons, the flutter tool uploads dill files to paths based on the entrypoint URI. This isn't actually necessary, and the tool can use specific files : main.dart.incremental.dill for incremental dills, and main.dart.dill/main.dart.swap.dill for full dills. This allows hot restarting applications with an entrypoint outside of lib/ and simplifies the devFS code.

Fixes #63243
2020-10-12 09:47:41 -07:00
Jonah Williams
08576cb671
[flutter_tools] HACKTOBERFEST (#67882)
HACKTOBERFEST
2020-10-12 09:31:02 -07:00
Jonah Williams
bdb830a833
[flutter_tools] pretty print hot reload rejection error (#66701)
If the vm of an attached device rejects a hot reload, pretty print the reason. Suggest a hot restart so that users are aware that they do not have to detach and rebuild. Also resets the last compilation time, so a subsequent restart would still apply the last change. Adds an integration test for the const field removal.

Fixes #64027
2020-10-09 15:44:52 -07:00
Jonah Williams
ddab09f553
[flutter_tools] enable LocalDevFSWriter for desktop devices, iOS simulator (#66678)
* [flutter_tools] enable LocalDevFSWriter for desktop devices, iOS simulator

* Update device.dart

* Update desktop_device_test.dart

* fix analysis errors
2020-10-08 13:40:19 -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
e819f292b3
[flutter_tools] do not require a dependency on devtools server (#66842)
Re-arrange the implementation of the devtools launcher so that google3 is not required to depend on any devtools packages. Also renames the build_runner folders to isolated to better clarify their intention.
2020-09-29 18:15:56 -07:00
Ben Konyi
65a81c7cd3
Roll package:dds to 1.4.0 and update error handling (#66836) 2020-09-29 10:28:17 -07:00
Jonah Williams
90bc7c64dd
[flutter_tools] fix calling debugToggleBrightness on release mode (#66401)
ensure that the terminal handler checks if the service protocol is enabled before calling debug toggle brightness. Also removes globals from TerminalHander and test cases.

Fixes #65477
2020-09-24 18:56:07 -07:00
Jonah Williams
51ededb92f
[flutter_tools] reland: map file URIs to a multiroot scheme (#66405)
If a file scheme and one or more roots is provided, fall back to this mapping before the direct file path if the file path cannot be turned into a package URI.

Use URI representation so that the transformation is resilient to the org-dartlang-app scheme used by the web builds.

Fixes #66095
Fixes #66404
2020-09-23 07:03:59 -07:00
Jenn Magder
78e54dd46b
Revert "[flutter_tools] map file Uri to multi-root scheme if provided (#66151)" (#66403)
This reverts commit af6ba86728.
2020-09-22 17:50:27 -07:00
Jonah Williams
943b41bd61
[flutter_tools] allow device classes to provide platform-specific interface for devFS Sync (#66266) 2020-09-22 16:57:04 -07:00
Jonah Williams
af6ba86728
[flutter_tools] map file Uri to multi-root scheme if provided (#66151)
If a file scheme and one or more roots is provided, fall back to this mapping before the direct file path if the file path cannot be turned into a package URI.

Fixes #66095
2020-09-22 16:51:18 -07:00
Jonah Williams
511367aa5a
[flutter_tools] remove k toggle for canvaskit from web runner (#66273)
The k toggle allows switching between canvaskit and html backend at runtime. unfortunately this causes hot restart to break, since the dart_sdk modules stores state at runtime. The recommendation will be to use cavaskit via dart-defines.
2020-09-21 15:33:32 -07:00
Jonah Williams
a19f5baccc
[flutter_tools] connect widget cache from frontend_server (#65951) 2020-09-19 11:02:04 -07:00
Ben Konyi
a17b330980
Reland "Re-enable the Dart Development Service (DDS) (#64671)" (#65873)
This reverts commit 66b01c1f29.

* Add DDS ipv6 support

* Use --dds-port for DDS instead of hijacking --host-vmservice-port
2020-09-16 16:27:42 -07:00
Jonah Williams
6d360562e3
[flutter_tools] alternate the name of the dill file used for hot restart (#65435)
* [flutter_tools] alternate the name of the dill file used for hot restart

* switch alternative name to .swap
2020-09-09 15:56:25 -07:00
Jonah Williams
c034f1a1cc
[flutter_tools] fix screenshot command in release mode and help documentation (#65114)
Currently taking a screenshot in release mode crashes and is also not documented as a supported command. Fix both of these and add test cases.
2020-09-02 17:33:41 -07:00
Mehmet Fidanboylu
66b01c1f29
Revert "Reland "Re-enable the Dart Development Service (DDS) (#64671)" (#64847)" (#64981)
This reverts commit c8f234d365.
2020-08-31 16:09:02 -07:00
Ben Konyi
c8f234d365
Reland "Re-enable the Dart Development Service (DDS) (#64671)" (#64847)
This reverts commit 2436de1391.
2020-08-31 12:14:32 -07:00
Jonah Williams
2436de1391
Revert "Reland "Re-enable the Dart Development Service (DDS) (#64671)" (#64802)" (#64845)
This reverts commit eef0050d08.
2020-08-28 18:02:15 -07:00
Ben Konyi
eef0050d08
Reland "Re-enable the Dart Development Service (DDS) (#64671)" (#64802)
* Reland "Re-enable the Dart Development Service (DDS) (#64671)"

This reverts commit 2ae25cc2d7.

* Fix MDNS building Observatory URI with port 0 instead of forwarding the device port

* Added MDNS test
2020-08-28 16:18:35 -07:00
Ben Konyi
2ae25cc2d7
Revert "Re-enable the Dart Development Service (DDS) (#64671)" (#64797)
This reverts commit d7d12412e5.
2020-08-28 09:00:53 -07:00
Ben Konyi
d7d12412e5
Re-enable the Dart Development Service (DDS) (#64671)
This change re-enables DDS and outputs the DDS URI in place of the VM
service URI on the console. If --disable-dds is not provided,
--host-vmservice-port will be used to determine the port for DDS rather
than the host port for the VM service, which will instead be randomly
chosen.
2020-08-27 16:35:00 -07:00
Helin Shiah
3d3b5349a7
Return host and port from devtools launcher (#63795) 2020-08-17 10:46:05 -07:00
Michael Klimushyn
cb69bbb4d5
Remove unused l and --isolate-filter tools (#63336) 2020-08-10 10:51:04 -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
Helin Shiah
7cbec567de
Add daemon handler to start devtools (#62608) 2020-07-31 11:06:05 -07:00
Ben Konyi
3a5a3eaf68
Reland "Add support for Dart Development Service (DDS) in Flutter Tools (#61276)" (#62147)
This reverts commit adc9dde3ba.

- Fixed issue where `FallbackDiscovery` would hold on to a `VmService` when launching on iOS devices, causing DDS to fail to start
- Fixed `flutter drive` case where DDS is already running in another flutter_tools instance
2020-07-29 10:05:40 -07:00
Lau Ching Jun
a317c2c06a
Wrap launching devtools in DevtoolsLauncher (#62364) 2020-07-28 19:46:05 -07:00
Ben Konyi
adc9dde3ba
Revert "Reland "Add support for Dart Development Service (DDS) in Flutter Tools (#61276)" (#61975)" (#61993)
This reverts commit f7a1c87ffd.
2020-07-21 16:17:23 -07:00
Ben Konyi
f7a1c87ffd
Reland "Add support for Dart Development Service (DDS) in Flutter Tools (#61276)" (#61975)
This reverts commit 4867f5931f.
2020-07-21 15:44:38 -07:00
Ben Konyi
4867f5931f
Revert "Reland "Add support for Dart Development Service (DDS) in Flutter Tools (#61276)" (#61882)" (#61909)
This reverts commit 895b7ef6fa.
2020-07-20 16:41:01 -07:00
Ben Konyi
895b7ef6fa
Reland "Add support for Dart Development Service (DDS) in Flutter Tools (#61276)" (#61882)
This reverts commit 38fe887342.
2020-07-20 16:01:58 -07: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
Helin Shiah
5b9ce492f3
Skip printing rendered error text in machine mode (#61684) 2020-07-20 09:41:03 -07:00
Ben Konyi
38fe887342
Revert "Reland "Add support for Dart Development Service (DDS) in Flutter Tools (#61276)" (#61633)" (#61641)
This reverts commit 594c3541aa.
2020-07-16 11:43:54 -07:00
Ben Konyi
594c3541aa
Reland "Add support for Dart Development Service (DDS) in Flutter Tools (#61276)" (#61633)
This reverts commit a1a5a8f635.
2020-07-16 11:38:17 -07:00
Jonah Williams
045f3a54f5
[flutter_tools] turn down flutter generate (#61475)
complete removal of all generate functionality

Fixes #61508
2020-07-16 09:51:22 -07:00
Ben Konyi
a1a5a8f635
Revert "Reland "Add support for Dart Development Service (DDS) in Flutter Tools (#61276)" (#61395)" (#61498)
This reverts commit f98184e487.
2020-07-14 16:32:49 -07:00