Commit Graph

342 Commits

Author SHA1 Message Date
Jonah Williams
1bea512a83
[flutter_tools] flutter logs no longer requires supported device (#66696)
Flutter logs should not attempt to filter the device list based on the current project, because it does not require a current project. Also fix disabled polling test

Fixes #47996
Fixes #63550
2020-10-02 21:12:50 -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
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
a19f5baccc
[flutter_tools] connect widget cache from frontend_server (#65951) 2020-09-19 11:02:04 -07:00
Devon Carew
04e4b117f6
fix an issue where raw json output is written to IDE clients (#65508)
fix an issues where raw json output was written to IDE clients
2020-09-15 12:44:05 -07:00
Danny Tuppeny
92eb7945a5
Remove invalid assert (#65623) 2020-09-11 15:35:04 -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
Helin Shiah
5ce7282a36
Return devtools serve response instead of printing (#62702) 2020-08-03 10:26:12 -07:00
Helin Shiah
7cbec567de
Add daemon handler to start devtools (#62608) 2020-07-31 11:06:05 -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
Jenn Magder
55176c4d6f
Show device diagnostic messages in doctor (#61585) 2020-07-17 09:41:03 -07:00
Danny Tuppeny
51fcf8fa7a
Add debounce support to daemon hot reload requests (#55376) 2020-07-15 11:56:05 -07:00
Jonah Williams
d4589e0c71
[flutter_tools] ensure AppRunLogger is injected for run/attach machine (#61103)
run/attach --machine requires a different logger than daemon, which uses the NotifyingLogger. We have too many loggers!

Fixes #59463
2020-07-08 18:21:46 -07:00
Jonah Williams
82a6f9bf0b
[flutter_tools] remove most use of global packages path (#60231)
The global packages path could cause tests to fail when it would be overriden to unexpected (in test setup) values. Remove most usage and make it a configuration on buildInfo, along with most other build information. Cleanup the asset builder to require the .packages path and the resident runners to no longer require it, since they already have the information in build_info.

It needs to stick around for the fuchsia deps we do not control.

Filled #60232 for remaining work.
2020-06-25 12:52:14 -07:00
Jenn Magder
f41f795640
Clean up PollingDeviceDiscovery dispose (#59709) 2020-06-18 16:38:02 -07:00
Jonah Williams
5e77083b8d
[flutter_tools] make parent logger optional (#59786)
The addition of the non-optional parent logger broke the google3 roll. Make it optional so we can roll
2020-06-18 11:44:29 -07:00
Jonah Williams
447e3d3f38
[flutter_tools] remove globals from compilers (#59184)
Refactors KernelCompiler and ResidentCompiler to no longer use globals (except as a fallback for g3 migration). Improves the compilation error when running flutter test on a package without a flutter_test dependency.

Updates machine mode to output trace text to stderr
2020-06-18 10:33:17 -07:00
Jenn Magder
5eb4917d73
Release cache lock for commands after required artifacts are downloaded (#59012) 2020-06-08 17:18:02 -07:00
Jonah Williams
4f88ed1d3c
[flutter_tools] only restrict devices based on arch + buildMode, not emulator status (#58887)
instead of restricting profile/release mode based on whether the tool thinks the device is an emulator, restrict based on the device target architecture and the requested build mode. Notably, this enables release mode on x86_64 Android emulators, but not x86 emulators since we do not support that as an AOT target.

This does not add release mode support for simulators, since this requires us to build and upload artifacts for simulator/x86_64
2020-06-08 11:20:15 -07:00
Jonah Williams
f5de6aadd4
[flutter_tools] remove zone level overrides of verbose and daemon logging (#57448)
Make it possible for all FlutterCommands to be global free, by moving instantiation to inside the Zone context. Additionally, provide VerboseLogger and NotifyLogger (daemon) at the top level and remove from command-specific overrides.

This allows removing a work around where web devices needed to look up directly from the context in non-test code.

Technically the output preferences are still zone injected, but these will be moved soon as they were not being used correctly by the top level command (the injection comes after ArgParser reads the overflow values, causing numerous wrap issues)
2020-06-04 16:35:36 -07:00
Jenn Magder
f4d26a3b85
Change iOS device discovery from polling to long-running observation (#58137) 2020-06-01 12:33:01 -07:00
Jonah Williams
f640ad6914
[flutter_tools] ensure emulator command does not crash with missing avdmanager (#57703) 2020-05-27 10:10:30 -07:00
Jonah Williams
4605b51a7e
[flutter_tools] use package Uuid consistently (#53492) 2020-03-30 12:46:06 -07:00
Jonah Williams
8e492fa845
[flutter_tools] fix type error with AppDomain current directory (#53181) 2020-03-24 12:58:40 -07:00
Jonah Williams
6804cef587
[flutter_tools] throw exception instead of string from startApp (#52365)
When attempting to start an emulator in profile mode, ensure the daemon can exit gracefully
2020-03-11 09:41:52 -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
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
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
Levi Lesches
149e06232b
Add option to clear the terminal by pressing "c" (#50034) 2020-02-06 15:53:04 -08:00
Zachary Anderson
68ed5c2baf [flutter_tool] Hide unsafe std{out,err} operations (#49561) 2020-01-28 07:58:02 -08:00
Zachary Anderson
93a5b7d419 [flutter_tool] Don't crash on a failure to write to std{out,err} (#49380) 2020-01-25 01:23:01 -08:00
Emmanuel Garcia
ec2d58335a Make subcommands return success instead of null (#48100) 2020-01-10 11:28:01 -08:00
Jonah Williams
749589d896
[flutter_tools] Remove context usage from status and clean up test cases (#48446) 2020-01-10 09:36:49 -08:00
Jonah Williams
f7b8d62cbc
[flutter_tool] Refactor Logger and Terminal to (mostly) no longer depend directly on context (#47269) 2020-01-08 12:35:12 -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
Danny Tuppeny
4944622b5d
Support URL tunnelling (pass dwds UrlEncoder through to editors via daemon) (#44271)
* Prposal for supporting URL tunnelling

* Update daemon.md

* Add the ability for daemon to call clients to expose URLs

* Fix dwds mock in web_fs tests

* Fix type error

* Remove build_runner import from run

* Move appStartedTime back to after the app has started

* Remove nested DI scope and pass urlTunneller down

* Fix import

* Tweak TODO

* Fix existing tests

* Fix spec to use result instead of params for response object

* Fix exposeUrl to use a url field, as spec'd

* Test that the daemon's exposeUrl sends a request and handles the response
2019-12-12 18:43:58 +00: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
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
Yegor
aa3943316b
Fix dartDefines in daemon mode (#45317)
* de-null dartDefines in daemon mode
* remove daemonCommand; pipe through dartDefines into Daemon
* pass dartDefiles in attach; add test for --machine mode
2019-11-22 08:57:14 -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
Danny Tuppeny
81f6ba84b9
Switch from using app.progress to app.webLaunchUrl for passing web launch urls (#44268)
* Switch from using app.progress to app.url for passing web launch urls

* Update daemon.md

* Change app.url -> app.webLaunchUrl

* Add tests for app.webLaunchUrl event

* Update tests with recent changes after rebasing
2019-11-18 18:10:15 +00:00
Yegor
e7073f9a1f
add --dart-defines option (#44083) 2019-11-09 17:08:53 -08:00
Jonah Williams
cc51ad5d08
Reland: enable usage of experimental web compiler (#44400) 2019-11-07 20:13:02 -08:00
Jonah Williams
7535ef735f
Revert "Enable usage of experimental incremental compiler for web (#43576)" (#44396)
This reverts commit e5d6d92498.
2019-11-07 16:32:20 -08:00
Jonah Williams
e5d6d92498
Enable usage of experimental incremental compiler for web (#43576) 2019-11-07 16:29:51 -08:00
Jonah Williams
5e1bb20c83
support --no-resident on the web (#44028) 2019-11-04 09:08:40 -08:00
Jonah Williams
7065e43306
Allow skipping chrome launch with --no-web-browser-launch (#40627) 2019-09-25 13:55:54 -07: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
f614144f0a
Add "web" server device to allow running flutter for web on arbitrary browsers (#39951)
* add web server device

* remove extra async

* fixes to server device

* testing updates

* fix test cases

* address comments
2019-09-10 19:29:31 -07:00
Jonah Williams
6f71ce26d6
Place terminalUi flag on terminal interface (#39214) 2019-08-27 14:20:51 -07:00
Jonah Williams
f98df595f3
Restructure resident web runner usage to avoid SDK users that don't support dwds (#37815) 2019-08-08 16:36:27 -07:00
Jonah Williams
a785db78fb
Reland "Integrate dwds into flutter tool for web support (#34252)" (#37649)" (#37650) 2019-08-05 16:51:57 -07:00
Jonah Williams
433436e1ee
Revert "Integrate dwds into flutter tool for web support (#34252)" (#37649) 2019-08-05 15:58:04 -07:00
Jonah Williams
4ccd81199f
Integrate dwds into flutter tool for web support (#34252) 2019-08-05 12:41:58 -07:00
Zachary Anderson
2b03e2089d
[flutter_tool] Add missing toString() (#37331) 2019-08-01 09:23:05 -07:00
Jonah Williams
2ab469952b
Flutter assemble for macos take 2! (#36987) 2019-07-31 16:19:22 -07:00
Jonah Williams
adf45d1e40
Refactor signal and command line handler from resident runner (#35406) 2019-07-09 13:10:26 -07:00
Alexandre Ardhuin
758009ba70
more ui-as-code (#35393)
* more ui-as-code

* address review comments
2019-07-02 21:11:56 +02:00
Danny Tuppeny
f3be1d9d95
Add emulatorID field to devices in daemon (#34794)
* Add emulatorId to Android and iOS emulator devices

* Update docs

* Review tweaks

* Add tests for AndroidConsole for getting avd names

* Remove unused import

* Remove duplicated header

* Fix imports
2019-06-26 16:39:23 +01:00
Jonah Williams
d7e53d4816
move hack flag to common (#34754) 2019-06-19 16:29:11 -07:00
Jonah Williams
0d9a1b201e
Remove environment variable guards for command line desktop and web (#33867) 2019-06-19 13:39:27 -07:00
Danny Tuppeny
d9983e1be7
Add category/platformType to emulators (#34721) 2019-06-19 17:10:39 +01:00
Jonah Williams
5c52498d4e
Add device category, ephemeral, platformType for daemon (#33990) 2019-06-18 15:23:14 -07:00
Danny Tuppeny
d2e6ab69a2
Increase daemon protocol version for getSupportedPlatforms (#33980) 2019-06-07 07:48:27 +01:00
Zachary Anderson
5555725fe3
[flutter_tool] Fix 'q' for Fuchsia profile/debug mode (#33846) 2019-06-06 11:16:19 -07:00
Jonah Williams
f38ee15286
add daemon command to enumerate supported platforms (#33472) 2019-05-30 10:14:23 -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
Alexandre Ardhuin
bfa1d25bf9
some formatting of map, parameters and spaces (#29760) 2019-03-23 00:02:21 +01: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
cd803ac7f2
Improve hot reload performance (#28152) 2019-03-15 15:02:45 -07: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
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
e9b935b00e
use deviceManager discovery in daemon protocol (#28341) 2019-02-26 12:02:27 -08:00
Alexandre Ardhuin
5169ab5974
format parameter list (#27261) 2019-02-21 09:27:07 +01:00
Jonah Williams
23d38901ef
Pass method used to start flutter application (#27812) 2019-02-11 18:05:23 -08:00
Jonah Williams
4c3d15832d
add desktop devices to daemon behind flag (#27665) 2019-02-11 14:49:07 -08:00
xster
36c5e321a5
Print 50000$ monopoly money (#27531) 2019-02-05 15:00:51 -08:00
Michael Goderbauer
6d20ff2446
Remove all obsolete "// ignore:" (#27271) 2019-01-30 08:56:12 -08:00
Konstantin Scheglov
4fe41abfcc
Add default values for optional parameters. (#27197) 2019-01-29 11:49:57 -08:00
Jonah Williams
91fd89e8b3
Wrap dart:convert to track utf8 decode failures (#26650) 2019-01-25 16:16:26 -08:00