Commit Graph

717 Commits

Author SHA1 Message Date
includecmath
f1013e6873
[flutter_tools] According to AnalysisSeverity return exit code detailed proposal (#61589)
No matter what level(error, warning, info) issues flutter analyze always return fatal exit code(1). CI/CD environment receive 1(!0). This may leads to e.g. Jenkins Build step 'Execute shell' marked build as failure.
I propose according to AnalysisSeverity level return fatal(1) or success(0) exit code.
2020-10-01 18:50:33 -07:00
Jenn Magder
36fca52c0d
Replace MockArtifacts with Artifacts.test() (#67012) 2020-09-30 16:25:29 -07:00
stuartmorgan
b92bb62d4d
Fix Windows and Linux plugin template filenames (#66997) 2020-09-30 16:07:03 -07:00
Jenn Magder
becaf4913f
Replace MockCache with Cache.test() (#66946) 2020-09-30 14:53:57 -07:00
Jonah Williams
f8750b16bb
[flutter_tools] do not error doctor on missing vs code extension (#66780)
In cases where the VSCode plugins are not located, display links to where they can be downloaded but do not surface an error.
2020-09-30 08:41:31 -07:00
Jenn Magder
e8fbb43aac
Replace MockFile with memory file system files (#66941) 2020-09-29 17:50:33 -07:00
Jonah Williams
9bc533c9e5
[flutter_tools] do not error flutter doctor on missing AS/intellij plugins (#66782)
In cases where the Intellij/AS plugins are not located, display links to where they can be downloaded but do not surface an error. This should generally reduce confusion about whether the plugins are required for every installed IDE. For example, frequently users may only install AS so that they can install the Android SDK - or they may have multiple copies of Intellij installed.

For example: #66762
2020-09-29 16:51:28 -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
Emmanuel Garcia
fc1e764264
Expose enable-experiment in Flutter drive (#66311) 2020-09-23 10:38:02 -07:00
stuartmorgan
50fd10fc6f
Consider the Windows app template stable (#66022)
Removes the template version from the Windows template; the API and
tooling boundary will now be considered stable, so there will no longer
be frequent breaking changes.

Also updates the link for adding desktop support to a project for all
three platforms to reflect the current location.

Fixes https://github.com/flutter/flutter/issues/52748
2020-09-17 15:24:28 -07:00
stuartmorgan
eaf3f8b4f7
Add VERSIONINFO to the Windows template (#66025)
Adds a VERSIONINFO to Runner.rc in the Windows app template, populated
from the project creation metadata.

Currently the version itself is hard-coded, but it is future-proofed to
allow plumbing the actual version through at build time via preprocessor
defines.
2020-09-17 15:23:38 -07:00
Jonah Williams
3e838da96a
[flutter_tools] use flutter tool handler for dwds resources and precache tool pub dependencies (#65814)
If the tool is downloaded from a precompiled snapshot, or if the backing source files in the pub cache are deleted, the dwds debugging functionality will break as the client.js file cannot be located. Instead use the PackageConfig to verify that package location, downloading if it is missing.

Override the dwds middleware to avoid Isolate.resolvePackageUri

Fixes #53644
Fixes #65475
2020-09-17 15:22:06 -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
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07:00
Ian Hickson
e10bdbbd9d
Fix RangeMaintainingScrollPhysics (#65135) 2020-09-07 11:40:03 -07:00
Jonah Williams
418681d6f1
[flutter_tools] allow disabling pwa from build command, fix run release build caching (#64587)
Fix run release/profile modes generating a full service worker.
2020-09-03 13:42:47 -07:00
Shi-Hao Hong
b80b432555
Move gen_l10n into flutter_tools (#65025) 2020-09-03 09:26:58 -07:00
Jenn Magder
6175183545
Add --device-timeout flag to device-related commands (#64834) 2020-09-02 15:38:52 -07:00
stuartmorgan
6eef5f2c5f
Share build command flag configuration on desktop (#64983)
Almost all of the flag setup on Linux, macOS, and Windows should be
identical; this pulls that common setup to a shared method.

This adds support for several flags on macOS that have all the necessary
plumbing already in place due to shared backend code, but were never
enabled.

Fixes https://github.com/flutter/flutter/issues/64944
2020-09-01 10:21:51 -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
Jonah Williams
d3515f5fb6
[flutter_tools] add analytics to code size, add more testing (#64578)
* [flutter_tools] add analytics to code size, add more testing

* add gradle case

* Update build_macos_test.dart

* move analytics to code size tooling

* Update analyze_size.dart

* fix analysis
2020-08-27 09:45:10 -07:00
xster
a2e5e074ab
Move Android doctor SDK check to 29 and Cirrus images to 30 (#63517) 2020-08-20 11:06:32 -07:00
xster
e1ae4dfcae
Move v1 embedding migration warning from plugin consumers to all apps (#64181) 2020-08-19 22:32:08 -07:00
Jenn Magder
6ca9cd7b8f
Use real flutter root for finding pub in command integration test (#64021) 2020-08-18 17:09:02 -07:00
Jonah Williams
39c735f408
[flutter_tools] correctly forward error only stdout in non-verbose modes (#63815) 2020-08-18 16:56:05 -07:00
Albert Viilik
654022aecb
Make deprecation notice link to website downloads (#63829) 2020-08-17 17:01:02 -07:00
Zachary Anderson
1884920e30
[flutter_tool] Handle Windows line endings in packages_test.dart (#63806) 2020-08-17 11:41:08 -07:00
Helin Shiah
3d3b5349a7
Return host and port from devtools launcher (#63795) 2020-08-17 10:46:05 -07:00
Zachary Anderson
f360d8b8e8
[flutter_tool] Fix some create_test.dart tests on Windows (#63796) 2020-08-14 15:26:29 -07:00
stuartmorgan
6f0cfc9524
Surface Windows build errors in non-verbose mode (#63707) 2020-08-13 19:46:02 -07:00
Jonah Williams
9225d8d5b7
[flutter_tools] move to fake_async, skip failing tests (#63536) 2020-08-11 19:36:05 -07:00
Christopher Fujino
8dcb4c338a
Fix version parsing to use git tag --points-at (#63505) 2020-08-11 17:29:35 -07:00
Jonah Williams
c86d090e6f
[flutter_tools] add --null-assertions flag for debugging with null safety (#63416) 2020-08-11 11:36:03 -07:00
Chris Yang
c9cd825fca
[flutter_tools] flutter version reports picks up release versions (#63019) 2020-08-05 15:20:27 -07:00
Chris Yang
2459f5c513
plugin template min flutter sdk version to 1.20 (#62605) 2020-08-04 12:31:05 -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
Chris Yang
48fab86c6e
[flutter_tools] update pubspec .yaml message should not be displayed when creating a new plugin (#62599)
* update pubspec message should not be displayed when creating a new plugin

* formatting

* revikew

* review

* cleanup
2020-07-30 13:49:15 -07:00
Robert Ancell
392e25c8f2
Set the application-id in the Linux shell (#60053) 2020-07-30 08:46:29 +12:00
Yuqian Li
22bf19cece
Add purge-persistent-cache option to run and drive (#62221)
Fixes https://github.com/flutter/flutter/issues/39526

Needs https://github.com/flutter/engine/pull/20013 to land and roll first.
2020-07-29 12:24:39 -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
Chris Yang
004f90f8fd
remove iOS folder (#61561) 2020-07-28 10:33:52 -07:00
includecmath
3215a0130b
[flutter_tools] Unified analyze error log format (#61146)
* Unified analyze error log format

* Fix review issues
2020-07-28 10:21:57 -07:00
Zachary Anderson
523afbe58b
Ensure analytics are sent before disabling (#62094) 2020-07-24 15:31:18 -07:00
Jonah Williams
3a976feb58
[flutter_tools] clean plugin dependencies file (#62061)
Clean even more, in case the plugin dependency update logic is wrong-o.
2020-07-22 18:39:33 -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
Jonah Williams
8be1c9ef25
[flutter_tools] turn off fuchsia support by default (#61634) 2020-07-21 02:26:04 -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
78a975444a
[flutter_tools] revert dart format changes (#61760) 2020-07-20 07:41:05 -07:00
Jenn Magder
55176c4d6f
Show device diagnostic messages in doctor (#61585) 2020-07-17 09:41:03 -07:00
Konstantin Scheglov
741e9675e7
Remote returns for function expression inferred return type void. (#61582) 2020-07-17 09:36: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
859fce9010
[flutter_tools] add feature for iOS, android, and fuchsia (#61481)
Add feature flags for android, ios, and fuchsia (on by default). After updating the g3 rollers, the fuchsia feature will be turned off by default. Creates a simpler base type of feature flags for g3 to extend.

Updates android, ios, fuchsia workflows to use feature flags check.
Removes concept of stable artifacts and checks on flutter version.

Fixes #58999
#52859
#12768
2020-07-16 09:51:59 -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
Danny Tuppeny
51fcf8fa7a
Add debounce support to daemon hot reload requests (#55376) 2020-07-15 11:56:05 -07:00
Jonah Williams
d8b6fa153a
[flutter_tools] generate a synthetic flutter_gen package on pub get (#61261)
Allow configuring the flutter_manifest to support a synthetic package, this is done through flutter: generate: true.

When running pub get, insert a flutter_gen entry into the packages if it does not already exist. This points to .dart_tool/flutter_gen, which can be updated to contain the generated intl sources (But doesn't currently)

Adds an integration test that verifies this code can be run and imported when enabled.

Part of #60914
2020-07-15 10:12:52 -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
Ben Konyi
f98184e487
Reland "Add support for Dart Development Service (DDS) in Flutter Tools (#61276)" (#61395)
This reverts commit 5b9c6e2b0e.
2020-07-14 15:57:36 -07:00
xster
8bd2e6585b
Remove v1 Android create templates (#61203) 2020-07-11 12:15:19 -07:00
Dan Field
5b9c6e2b0e
Revert "Add support for Dart Development Service (DDS) in Flutter Tools (#59114)" (#61276)
This reverts commit fe7bbf7226.
2020-07-10 15:53:35 -07:00
Ben Konyi
fe7bbf7226
Add support for Dart Development Service (DDS) in Flutter Tools (#59114) 2020-07-10 15:35:21 -07:00
Jenn Magder
e110ca7209
Case insensitive check flavor names against Xcode schemes (#61140) 2020-07-09 16:56:02 -07:00
includecmath
72258eac5f
[flutter_tools] Separate style and data from AnalysisError (#60591) 2020-07-09 13:51:02 -07:00
includecmath
93eac884eb
[flutter_tools] Clean code analyze command (#60200) 2020-07-08 18:11:03 -07:00
Jonah Williams
741608a261
[flutter_tools] fix recursive asset variant issue (#61129)
Fixes #45075
Fixes #57210

If an asset was included directly from the project root directory, then the same asset when copied to various output or ephemeral directories would also be picked up as an asset variant. This could cause assets to be recursively copied into asset/build/ephemeral directories, as each time it would run it would pick up all of the previous "variants".

The solution is to include project ephemeral directories, in addition to the build directory.
2020-07-08 18:07:27 -07:00
Jonah Williams
07e2d6f63b
[flutter_tools] make precache force blow away stamp files (#61003)
update flutter precache --force to delete all stamp files. In the event that a user is hitting a cache issue, this should be easier than re-downloading all artifacts or manually blowing away the cache.

This is probably how it should have worked in the first place
2020-07-07 19:33:25 -07:00
Jonah Williams
77310c152f
[flutter_tools] deprecate flutter version (#60998) 2020-07-07 18:04:02 -07:00
stuartmorgan
4b12050112
Switch Windows to CMake (#60629)
* First pass at CMake files; untested

* First pass of adding CMake generation logic on Windows

* Misc fixes

* Get bundling working, start incoprorating CMake build into tool

* Fix debug, exe name.

* Add resources

* Move cmake.dart

* Rip out all the vcxproj/solution plumbing

* Fix plugin cmake generation

* Build with cmake rather than calling VS directly

* Adjust Windows plugin template to match standard header directory structure

* Pass config selection when building

* Partially fix multi-config handling

* Rev template version

* Share the CMake generation instead of splitting it out

* VS build/run cycle works, with slightly awkward requirement to always build all

* Update manifest

* Plugin template fixes

* Minor adjustments

* Build install as part of build command, instead of separately

* Test cleanup

* Update Linux test for adjusted generated CMake approach

* Plugin test typo fix

* Add missing stub file for project test

* Add a constant for VS generator
2020-07-06 12:59:16 -07:00
Chris Yang
07e24f6dad
[flutter_tool] fix ide-config crash because of no android key (#60617) 2020-06-30 13:01:47 -07:00
James D. Lin
cf8fbc363a
[flutter tools] Revert desktop device name changes and print the category instead (#60395) 2020-06-30 11:28:02 -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
Jonah Williams
5cfcae004a
[flutter_tools] fix tests that depend on correct cache existance (#60241)
These tests will hit the real Cache, failing if the flutter root has been modified
2020-06-24 16:45:46 -07:00
Jonah Williams
a0334fb500
[flutter_tools] maintain file manifest for create (#59706)
First pass at fixing #57985 and implementing #59602

This doesn't have enough metadata to be useful for IDEs yet, but it prevents the issue from getting worse while we iterate on it.
2020-06-24 16:20:21 -07:00
stuartmorgan
d9902a5474
Consider the Linux template stable (#60163)
Remove the version checking and associated warnings. The Linux template
and build process will now be subject to more typical Flutter breaking
change policy, and should no longer require regularly deleting and
recreating the platform directory.
2020-06-24 12:23:57 -07:00
Jonah Williams
9e30d51ac6
[flutter_tools] start fixing command tests (#60172) 2020-06-24 11:26:36 -07:00
Chris Yang
95b98dc2c2
flutter create . on plugins also regenerates files for platforms supported in pubspec.yaml (#60159) 2020-06-24 10:38:03 -07:00
Chris Yang
2e63b7d4f8
Add --platforms to flutter create -t plugin command (#59507) 2020-06-23 17:38:03 -07:00
Jenn Magder
c8e53b3859
Add null safety options to build ios-framework (#60111) 2020-06-23 14:35:45 -07:00
David Iglesias
8fce4ce974
[flutter_tools] Add web support through MethodChannels. (#60116) 2020-06-23 13:53:01 -07:00
Jenn Magder
d82ef3517c
Use assemble build system directly for build ios-framework (#60041) 2020-06-22 18:44:27 -07:00
Jenn Magder
6a2bc2617e
Replace ANDROID_HOME user messages with ANDROID_SDK_ROOT (#59867) 2020-06-22 18:43:04 -07:00
Jonah Williams
01e09ea8af
[flutter_tools] add missing null-safety flags (#59773)
Some of the null-safety commands were missing - plumb them through. Ensure that verbose mode shows their output, and clean up the messaging around sound-null-safety.

Fixes #59769

Adds a test that validate each of the null safety supporting build commands has everything plumbed through.
2020-06-18 12:34:35 -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
Jonah Williams
e7b4d2b80e
[flutter_tools] remove globals from proxy validator (#59175)
Remove global Platfrom from proxy validator. move tests to new file, and update asserts to cover message contents.
2020-06-10 12:12:35 -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
ec4049e781
[flutter_tools] support bundle-sksl-path on all desktop and mobile targets (#58879)
Adds support for --bundle-sksl-path to windows, linux, macOS, and iOS.

Fixes #53115
2020-06-09 11:15:52 -07:00
Jonah Williams
01e60a1ca4
[flutter_tools] Reland: use correct sdk path for analysis (#59081)
flutter analyze was unconditionally using the cached dart-sdk for analysis, and was not running with the built SDK during local engine. This broke when trying to update the analyzer for null safety, since it required us to wait for the dart change to roll into the framework first.
2020-06-09 10:47:21 -07:00
Jonah Williams
5e3e5a2a1a
Revert "[flutter_tools] use correct sdk path for analysis (#58871)" (#59035)
This reverts commit 9ed3e5bea6.
2020-06-08 17:38:23 -07:00
Jonah Williams
9ed3e5bea6
[flutter_tools] use correct sdk path for analysis (#58871)
flutter analyze was unconditionally using the cached dart-sdk for analysis, and was not running with the built SDK during local engine. This broke when trying to update the analyzer for null safety, since it required us to wait for the dart change to roll into the framework first.
2020-06-08 17:21:33 -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
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
Jonah Williams
ef9b77d99a
fix analysis on master (#59001) 2020-06-08 11:53:17 -07:00
Jenn Magder
886313393f
Support work profiles and multiple Android users for run, install, attach, drive (#58815) 2020-06-08 11:28:02 -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
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
206ccc3632
[flutter_tools] rename library to be less absurd (#58891)
Instead of targets/dart.dart -> targets/common.dart
2020-06-08 11:19:53 -07:00
Jonah Williams
64538f4d78
[flutter_tools] disable dartdev when calling snapshots directly (#58830) 2020-06-06 14:48:03 -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
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
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
Jonah Williams
b1d75fc99d
[flutter_tools] add flag for sound-null-safety, unify with experiments (#58533)
Also combines experiments into extraGenSnapshot/ExtraFrontEndOptions. Allows providing --no-sound-null-safety to allow out of order migration and running.
2020-06-03 21:02:07 -07:00
Jenn Magder
95edf28150
Move create project build tests to permeable subshard (#58645) 2020-06-03 17:41:15 -07:00
JustWe
6c8d7b00ff
Show unsupported devices when no supported devices are connected (#56531) 2020-06-03 16:14:38 -07:00
Jonah Williams
e216eec7b4
[flutter_tools] Allow the tool to suppress compilation errors. (#58539)
Suppress compilation errors on startup so they are not duplicated from the native build step.
2020-06-03 12:00:03 -07:00
Jonah Williams
01b9bf8ea6
[flutter_tools] deprecate flutter generate and codegen (#58328) 2020-06-03 09:28:02 -07:00
Marcus Tomlinson
5ee5490a63
[flutter_tools] Support profile and release builds on Linux (#57135) 2020-05-29 15:38:02 -07:00
stuartmorgan
9989c54cb1
Add release and profile support for Windows (#57749)
Builds and bundles an 'app.so' containing AOT data, and downloads and packages the release/profile artifacts for those builds, rather than always using the debug artifacts.

Fixes https://github.com/flutter/flutter/issues/38477
Fixes https://github.com/flutter/flutter/issues/39664
2020-05-28 12:17:56 -07:00
Jonah Williams
7cdf26d0dc
[flutter_tools] forward flutter format to dart format and deprecate (#57829) 2020-05-28 11:28:08 -07:00
Greg Spencer
379e11b641
Update the flutter script's locking mechanism and follow_links (#57590)
Update the flutter and dart scripts' locking mechanism and follow_links function to be more robust and support more platforms.

This adds support for using mkdir as a fallback if the system doesn't have flock instead of using shlock, since shlock doesn't work on shared filesystems.

It also fixes a problem in the follow_links function where it failed when the link resolved to the root directory.
2020-05-27 15:30:46 -07:00
Jonah Williams
a926715dac
[flutter_tools] URI encode dart-define values (#57873) 2020-05-27 10:11:04 -07:00
Jonah Williams
600338286f
[flutter_tools] add vm service method to pull SkSL (#57813) 2020-05-27 10:10:41 -07:00
Neevash Ramdial
428ce0815b
[flutter_tools] Support latest IntelliJ via Jetbrain toolbox (#57963) 2020-05-27 10:07:28 -07:00
Jenn Magder
adead099a6
Always show diagnostics (#57532) 2020-05-19 18:17:03 -07:00
stuartmorgan
f991308e3e
Fix CMake invocation for 3.10 compat (#57415)
The -S/-B format of specifying source and build directories wasn't added
until 3.13. For 3.10 compatibility, use the older form of having the
working directory as the build directory, and the last argument as the
source directory.

Fixes #57409
2020-05-18 09:25:28 -07:00
stuartmorgan
8abf0a6d8c
Switch to CMake for Linux desktop (#57238)
Updates the Linux templates to use CMake+ninja, rather than Make, and updates the tooling to generate CMake support files rather than Make support files, and to drive the build using cmake and ninja.

Also updates doctor to check for cmake and ninja in place of make.

Note: While we could use CMake+Make rather than CMake+ninja, in testing ninja handled the tool_backend.sh call much better, calling it only once rather than once per dependent target. While it does add another dependency that people are less likely to already have, it's widely available in package managers, as well as being available as a direct download. Longer term, we could potentially switch from ninja to Make if it's an issue.

Fixes #52751
2020-05-16 15:07:34 -07:00
Zachary Anderson
533cd7a6d1
[flutter_tools] Delete system temp entries on fatal signals (#55513) 2020-05-14 14:27:02 -07:00
Christopher Fujino
a2f5364dc0
throw more specific toolexit when git fails during upgrade (#57162) 2020-05-14 11:03:07 -07:00
Jenn Magder
bd430081e0
Make initial daemon devices population fast (#56959) 2020-05-14 11:00:51 -07:00
Nate Bosch
59a8ef3a21
Remove direct uses of LocalPlatform (#56605)
When `const LocalPlatform` is used immediately and not passed as a
dependency it does not have utility over the static properties from
`dart:io`. Remove these uses to reduce the noise around how the
instantiable `Platform` class is used.
2020-05-11 12:59:29 -07:00
Jenn Magder
4ecb1bbe2d
Add mirror overrides to doctor output (#56928) 2020-05-11 11:57:02 -07:00
Jenn Magder
9c87b32477
Remove Runner target check, prefer schemes (#56620) 2020-05-11 11:56:44 -07:00
Zachary Anderson
6f0ed5e142
[flutter_tools] Restore base/platform.dart (#56410) 2020-05-06 08:15:39 -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
Peter Lauri
f6db8ccd20
[flutter_tools] fix version tag v stripping and support old "dev" and new "pre" tags (#55602) 2020-05-04 11:24:03 -07:00
Jonah Williams
a58d50deb1
[flutter_tools] allow pulling performance data from assemble (#55699) 2020-04-29 13:04:59 -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
Katarina Sheremet
3b067049ad
Support tags in testWidgets (#55141) 2020-04-28 15:49:01 -07:00
kwkr
1ac09088c3
Fix/use contains ignoring whitespace (#55887) 2020-04-28 13:12:12 -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
Jenn Magder
d40699a3b8
Remove v prefix in doctor version (#55773) 2020-04-27 15:48:22 -07:00
Christopher Fujino
069dc9c72d
[flutter_tools] catch ProcessException and throw ToolExit during upgrade (#55759) 2020-04-27 15:04:02 -07:00
Jonah Williams
1ab3878996
[flutter_tools] support --enable-experiment in flutter test (#55564)
Support --enable-experiment in flutter test (for flutter_tester). Required minor change for null safety.
2020-04-27 14:47:43 -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
dd88b20435
[flutter_tools] quality pass on Linux build (#55556)
- Update the Linux build to support most of the build configuration, though like windows most only make sense for profile/release.
- Ensure VERBOSE_SCRIPT_LOGGING is set when the logger is verbose
- Automatically run pub get like other build commands
2020-04-25 19:02:03 -07:00
Christopher Fujino
4552af155c
[flutter_tools] enable flutter upgrade to support force pushed branches (#55594) 2020-04-24 17:55:16 -07:00
Jonah Williams
35edbe3d9d
Revert "[flutter_tools] fix version tag v stripping (#55385)" (#55577)
This reverts commit c91a3a74ec.
2020-04-24 09:38:49 -07:00
Peter Lauri
c91a3a74ec
[flutter_tools] fix version tag v stripping (#55385) 2020-04-24 09:11:54 -07:00
Jonah Williams
2f0d41b2a6
[flutter_tools] set test directory base as additional root, allow running without index.html (#55531) 2020-04-24 09:09:53 -07:00
Christopher Fujino
37ac9015ad
[flutter_tools] check first for stable tag, then dev tag (#55342) 2020-04-23 15:19:27 -07:00
Jonah Williams
543186f105
[flutter_tools] quality pass on windows build (#55436) 2020-04-23 12:29:48 -07:00
Jonah Williams
8df0d68633
[flutter_tools] remove globals from pub (#55412) 2020-04-22 16:34:12 -07:00
Jonah Williams
27d11da88f
Revert "[flutter_tools] default tree-shake-icons to enabled and improve performance (#54923)" (#55413)
This reverts commit 0b93a9219b.
2020-04-22 15:43:09 -07:00
Jonah Williams
0b93a9219b
[flutter_tools] default tree-shake-icons to enabled and improve performance (#54923) 2020-04-22 13:17:46 -07:00
Jonah Williams
c8164dad80
[flutter_tools] migrate windows to assemble (#55187) 2020-04-22 12:26:49 -07:00
Jonah Williams
f2761b6b04
[flutter_tools] refactor Chrome launch logic to remove globals/statics (#55160) 2020-04-22 01:28:51 -07:00
Jonah Williams
0b3f5cfcc0
[flutter_tools] initial support for enable experiment, run, apk, ios, macos (#54617) 2020-04-21 20:39:36 -07:00
Katarina Sheremet
d8f353af5b
Support tags when running tests from command line (#55152) 2020-04-21 10:35:13 -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
6a390aa7dc
[flutter_tools] fix type error in symbolize (#55212) 2020-04-20 12:21:44 -07:00
Jonah Williams
9e72bf565e
[flutter_tools] don't compute hashes of well known artifacts (#53848) 2020-04-20 12:21:20 -07:00
kwkr
d21ab5184a
Fix/set mocks defaults (#54756) 2020-04-20 12:20:03 -07:00
Jenn Magder
457972b757
Move doctor into globals (#54912)
* Move doctor into globals

* Fix tests
2020-04-15 19:44:42 -07:00
Jonah Williams
ee43de0476
[flutter_tools] support enable-experiment in flutter analyze (#54613) 2020-04-13 16:00:03 -07:00
Herbert Poul
3441743c5c
[macos] build: add build-number and buid-name arguments (#53928) 2020-04-11 13:20:01 -07:00
Christopher Fujino
03c566768b
[flutter_tools] Remove fromPlatform from tests (#54152) 2020-04-10 16:51:28 -07:00
Christopher Fujino
2adb1fc095
Fix environment leakage in doctor_test (#54478) 2020-04-10 13:35:38 -07:00
Jonah Williams
d081364d3c
[flutter_tools] remove indirection around App.framework production (#53853) 2020-04-10 13:34:45 -07:00
Jonah Williams
0700be79e5
[flutter_tools] disable cache in devices test (#54389) 2020-04-10 10:33:23 -07:00
Kirill Pertsev
d6806392a8
Implements --machine flag for devices command (#50581) 2020-04-09 09:14:16 -07:00
Jonah Williams
74a1b9b33e
[flutter_tools] make verbose macOS builds actually verbose (#54320) 2020-04-09 09:00:44 -07:00
Christopher Fujino
19c8948e61
Fix frameworkVersionFor for flutter doctor and usage (#54217) 2020-04-08 12:47:05 -07:00
Jonah Williams
fa35698ee3
[flutter_tools] allow passing non-config inputs (#54228) 2020-04-08 09:04:32 -07:00
Alexandre Ardhuin
f5a9902577
enable avoid_equals_and_hash_code_on_mutable_classes (#52507) 2020-04-06 13:36:01 -07:00
Christopher Fujino
2396616e09
Support old and new git release tag formats (#53715) 2020-04-03 09:39:28 -07:00
Ferhat
c3ec1caac2
Replace isInstanceOf<T> uses with isA<T> (#53834)
* Replace isInstanceOf<T> uses with isA<T>

* Update isInstanceOf in flutter tools
2020-04-02 10:57:07 -07:00
stuartmorgan
445b5a14f2
Precache platform filter change (#53701)
Makes the following changes to the behavior of precache:
- The --all-platforms flags now fetches all artifacts, rather than just
  turning off platform filtering of selected artifacts.
- Explicitly requested artifacts are no longer subject to platform
  filtering. E.g., 'precache --ios' will download iOS artifacts on
  Windows and Linux (but 'precache' without an 'ios' flag will still
  only download iOS artifacts on macOS).
- Desktop platform artifacts now respect the bypassing of platform
  filtering.

Fixes #53272
2020-04-01 10:54:59 -07:00
stuartmorgan
a2d62df3ee
Use feature flags for desktop cache (#53608) 2020-03-30 21:51:48 -07:00
xster
1376746237
Reland #53153 to attach to existing modules and apps for Android (#53289) 2020-03-25 16:45:49 -07:00
Angjie Li
6083f15805
Allow user to specify which Chrome binary to use. (#53275)
* Allow user to specify which Chrome binary to use.
2020-03-25 15:55:32 -07:00
Michael Thomsen
29913c9011
Expose new pub outdated command (#53251) 2020-03-25 11:21:03 -07:00
Jenn Magder
b684041bb8
Revert "Let flutter attach find the service port by looking through old logs again (#53153)" (#53282)
This reverts commit 0c5ffdc9ef.
2020-03-25 10:53:45 -07:00
xster
0c5ffdc9ef
Let flutter attach find the service port by looking through old logs again (#53153) 2020-03-24 23:26:01 -07:00
Jenn Magder
70c651b0a4
Move BuildSystem to globals (#53139) 2020-03-24 11:23:10 -07:00
Jenn Magder
404bb5a572
Convert analyze_test to testWithoutContext (#53141) 2020-03-24 11:22:34 -07:00
stuartmorgan
685e9d1e47
Add pre-stable support for create on Windows (#51895)
Adds initial support for flutter create of apps and plugins. This is derived from the current FDE example app and sample plugin, adding template values where relevant.

Since the APIs/tooling/template aren't stable yet, the app template includes a version marker, which will be updated each time there's a breaking change. The build now checks that the template version matches the version known by that version of the tool, and gives a specific error message when there's a mismatch, which improves over the current breaking change experience of hitting whatever build failure the breaking change causes and having to figure out that the problem is that the runner is out of date. It also adds a warning to the create output about the fact that it won't be stable.

Plugins don't currently have a version marker since in practice this is not a significant problem for plugins yet the way it is for runners; we can add it later if that changes.

Fixes #30704
2020-03-23 10:42:26 -07:00
Jason Simmons
bbc9d4f3a6
Do not check the executable status of gen_snapshot if it has not yet been downloaded (#52574) 2020-03-19 15:01:02 -07:00
Jenn Magder
a61bff2fcf
Show Xcode workspace clean output with verbose flag (#52860) 2020-03-19 09:51:01 -07:00
Jonah Williams
73b6702dee
[flutter_tools] refactor iOS tests for Device.startApp into new file (#52854) 2020-03-18 17:43:25 -07:00
Jenn Magder
ee845255de
Move XcodeProjectInterpreter to globals (#52847) 2020-03-18 15:55:09 -07:00
Jonah Williams
028b7dced1
[flutter_tools] remove context from WebWorkflow (#52613) 2020-03-16 11:33:00 -07:00
Michael Thomsen
e167181444
Move flutter_gallery to the testing folder (#52532)
Move Flutter Gallery to dev/integration_tests/ as it is an older copy used only for testing. The current version of the Flutter Gallery now lives in https://github.com/flutter/gallery.
2020-03-16 10:31:42 +01:00
Dan Field
98cf01858c
Fetch tags for version command (#52212) 2020-03-13 17:16:03 -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
Emmanuel Garcia
4049889d9e
Make --androidx flag a noop in flutter create (#52340) 2020-03-10 20:05:41 -07:00
Jonah Williams
ea3563ea4d
[flutter_tools] update visual studio and validator to remove globals, update test cases (#51680)
Updates VisualStudio and VisualStudioValidator to use constructors instead of global injection. Updates VisualStudio test cases to prefer FakeProcessManager
Updates build_windows test to work without injected VisualStudio
2020-03-10 16:49:23 -07:00
Zachary Anderson
78b45fb1b2
[flutter_tools] Throw a tool exit when samples fetch fails (#52355) 2020-03-10 15:21:02 -07:00
Angjie Li
665d380f81
Add Android Chrome support to Flutter Web Driver. (#51677)
* Support Android Chrome for Flutter Web Driver.
2020-03-09 13:01:07 -07:00
Dan Field
e13e17009d
Reland fix --version (#52141) 2020-03-06 21:38:35 -08: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
Dan Field
a42d38a2f8
Fix flaky test (#52088) 2020-03-06 13:01:42 -08:00
Jonah Williams
e7d70fbf75
Revert "Fix version command for certain git workflows (#52062)" (#52128)
This reverts commit 20bf43b9eb.
2020-03-06 12:58:00 -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
Dan Field
20bf43b9eb
Fix version command for certain git workflows (#52062) 2020-03-05 23:51:02 -08:00
Jonah Williams
d2f889b4f0
[flutter_tools] Reduce context usage in analyze command and tests (#49589) 2020-03-05 17:20:54 -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
Jonah Williams
1bf6f0232e
[flutter_tools] support coverage and machine together (#51988) 2020-03-05 12:34:37 -08:00
Alexandre Ardhuin
c2ae654ddf
enable avoid_single_cascade_in_expression_statements (#51944) 2020-03-05 08:03:26 +01: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
Alexandre Ardhuin
d8c0deb1b6
remove duplicated entry (#51880) 2020-03-04 08:10:32 +01:00
stuartmorgan
8d8439f8e3
Add pre-stable support for create on Linux (#51832)
Adds initial support for `flutter create` of apps and plugins. This is derived from the current FDE example app and sample plugin, with a few changes:
- Added template values where it makes sense.
- Moved some likely-to-change values into separate files for now, to simplify the delete/recreate cycle that will be necessary until it's stable.
- Added some minor Makefile flag handling improvements

Since the APIs/tooling/template aren't stable yet, the app template includes a version marker, which will be updated each time there's a breaking change. The build now checks that the template version matches the version known by that version of the tool, and gives a specific error message when there's a mismatch, which improves over the current breaking change experience of hitting whatever build failure the breaking change causes and having to figure out that the problem is that the runner is out of date. It also adds a warning to the `create` output about the fact that it won't be stable.
2020-03-03 22:42:52 +01:00
Jonah Williams
3489da9328
[flutter_tools] no more MockLogger in tests (#51684) 2020-03-02 16:23:56 -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
stuartmorgan
33bb1faf5b
Reland: Always use new plugin schema for plugin template (#49832)
Now that the new schema is supported on the stable channel, and the old
schema is considered legacy, the template should always create plugins
using the new schema.
2020-02-27 22:48:25 -08:00
Zachary Anderson
9de7787f25
Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#51567) 2020-02-27 22:46:23 -08:00
Jenn Magder
4fb9ce8414
Clean App.framework, Generated.xcconfig, flutter_export_environment.sh (#51532) 2020-02-27 12:18:06 -08:00
Jonah Williams
08d079f6c2
[flutter_tools] wire up complete support for Dart obfuscation (#50509) 2020-02-27 08:58:33 -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
80619f100f
[flutter_tools] remove globals from plist parser and update tests (#51444) 2020-02-26 18:31:42 -08:00
Christopher Fujino
f794091e1d
don't do a version check when testing (#51507) 2020-02-26 15:36:02 -08:00
Jenn Magder
0407a318c6
Replace clean command test functions with test groups (#51508) 2020-02-26 15:13:43 -08:00
Lynn
2243c42ebc
Fix flutter doctor (pluginsPath) check for Mac (#50324) 2020-02-26 13:41:03 -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
Zachary Anderson
bc4bd7bd55
[flutter_tools] Don't try to run pub before the version command (#51436) 2020-02-25 17:19:47 -05:00
Nate Bosch
9228b87eb3
Don't use a default test randomize ordering seed (#51018)
Fixes #51010

The test package differentiates between passing and not passing this
argument. A previous version had a bug that treated passing `0`
identically to not passing the argument, and the flutter test runner
relied on this bug by always passing a value and using a default of `0`.

- Remove the argument defaults throughout to make it clear that `null`
  is a valid value and the default.
- Remove the argument defaulting on the argument parser.
- Update the wording of the usage for this argument, this will also be
  updated on the `package:test` side.
2020-02-25 13:01:40 -08:00
Jonah Williams
59cc3cdf01
[flutter_tools] initialize frontend server with build (#49405) 2020-02-24 14:21:33 -08:00
Dan Field
4df8fdb7df
update cache for flutter test/fast command (#51235) 2020-02-22 18:24:03 -08:00
Angjie Li
5ee4147283
Allow developers to run flutter driver web test directly (#51084) 2020-02-22 16:49:03 -08:00
Alexandre Ardhuin
7d7ac7c32b
start multiline strings with newline (#50825) 2020-02-20 10:16:28 +01:00
Jonah Williams
9295b34850
cleanup of tool build tests (#50904) 2020-02-19 18:46:04 -08:00
Jenn Magder
85b54d4c0c
Change DeviceManager.getAllConnectedDevices() return value from Stream to List (#51015) 2020-02-19 17:40:24 -08:00
Angjie Li
11549e45a3
Use Async WebDriver for WebFlutterDriver. (#50835) 2020-02-19 13:31:10 -08:00
Jonah Williams
e2554a9202
Add "flutter downgrade" command (#50506) 2020-02-13 11:56:45 -08:00
Dan Field
24f8f799da
add an --enable-vmservice flag (#50663) 2020-02-12 14:52:09 -08:00
Zachary Anderson
b9ecebf101
Reland: [flutter_tools] Disable analytics for more bots (#50641) 2020-02-12 10:58:02 -08:00
Zachary Anderson
1903ce012e
Revert "[flutter_tools] Disable analytics for more bots (#50579)" (#50622)
This reverts commit 0a38f29c0d.
2020-02-11 22:47:41 -08:00
Zachary Anderson
0a38f29c0d
[flutter_tools] Disable analytics for more bots (#50579) 2020-02-11 15:48:02 -08:00
Alexandre Ardhuin
f15c887c63
change quote to avoid escapes (#50368) 2020-02-11 20:58:27 +01:00
Amir Hardon
bcef4edfc8
Make the template plugin example depend on the plugin as a real dependency (#50485) 2020-02-10 16:03:02 -08:00
Jonah Williams
568172793c
Add "flutter symbolize" command (#49465) 2020-02-10 14:18:03 -08:00
Jenn Magder
082ae838bd
Fall back to global cache and platform if null when injected into constructor (#50370) 2020-02-07 15:28:45 -08:00
Alexandre Ardhuin
b953c3e5a8
use raw strings to avoid escaping (#50322) 2020-02-07 16:35:55 +01:00
Levi Lesches
149e06232b
Add option to clear the terminal by pressing "c" (#50034) 2020-02-06 15:53:04 -08:00
Dan Field
4b8efad99b
Font subset in the tool (#49737) 2020-02-04 20:34:24 -08:00
Zachary Anderson
103b12fc11
[flutter_tools] Isolate userHomePath, other cleanups (#50125) 2020-02-04 18:03:03 -08:00
Zachary Anderson
92f7e16312
[flutter_tools] Make OperatingSystemUtils context-free (#49740) 2020-01-29 17:51:31 -08:00
Jenn Magder
e8b3d7f358
Update Xcode compatibility version (#49654) 2020-01-29 15:58:02 -08:00
Jonah Williams
c341d4b78f [flutter_tools] Discover pubspec.yaml in parent directories (#48548) 2020-01-27 21:48:01 -08:00
Dan Field
8b2993337a
revert #48985 (#49572) 2020-01-27 14:36:02 -08:00
Jenn Magder
7feb7dddf1
Inject platform into build ios-framework command (#49463) 2020-01-27 10:32:50 -08:00
Jonah Williams
2f59919496 [flutter_tools] Reland fast start by default for Android (#49315) 2020-01-24 19:18:01 -08:00
Hans Muller
bc5c46438a Migrate TextTheme to 2018 APIs (#48547) 2020-01-24 19:03:01 -08:00
Alexandre Ardhuin
1cc38683cd remove empty string in string interpolations (#49371) 2020-01-24 10:43:02 -08:00
Zachary Anderson
d9f071fd0a [flutter_tool] Don't crash when writing to pub stdin fails (#49323) 2020-01-23 20:13:01 -08:00
Mouad Debbar
a1fa1a3d26 [web] Wire the "--start-paused" flag correctly for web (#49310) 2020-01-22 14:58:46 -08:00
Angjie Li
f0a175f41d Use flutter_tools to start WebDriver browser. (#49228) 2020-01-21 16:48:02 -08:00
Jonah Williams
2ebe9da454
Revert "[flutter_tools] Reland enable fast-start by default for Android (#48851)" (#49227) 2020-01-21 09:51:08 -08:00
Jonah Williams
1ac01b30ca
[flutter_tools] Reland enable fast-start by default for Android (#48851) 2020-01-21 08:59:26 -08:00
Jenn Magder
ac7b307803 Don't pre-cache Android artifacts with --no-android flag (#49009) 2020-01-20 23:23:02 -08:00
Anthony
b67d5ec6e9 [a11y] Make sure RenderFractionalTranslation updates its semantics after the translation field is set (#48985) 2020-01-17 15:13:01 -08:00
Alexandre Ardhuin
003541499b use isA<Xxx>() matcher (#48482) 2020-01-16 12:43:03 -08:00
Jonah Williams
63c65e5cdb
[flutter_tools] Clean up build_aot code post assemble migration (#48771) 2020-01-14 19:07:15 -08:00
Jonah Williams
bc6f270c58
Revert "[flutter_tools] Enable fast start by default for Android (#48746)" (#48836)
This reverts commit d5b0b3c8d1.
2020-01-14 13:23:03 -08:00
Jonah Williams
d5b0b3c8d1
[flutter_tools] Enable fast start by default for Android (#48746) 2020-01-14 12:38:53 -08:00
Dan Field
0a600e1ddc
Fix tool test order (#48735) 2020-01-13 17:11:32 -08:00
Zachary Anderson
23a3d1014f
[flutter_tool] Make BotDetector context free (#48605) 2020-01-13 10:12:06 -08:00
Zachary Anderson
67a68e9fa6
[flutter_tools] Fix analytics opt out event (#48585) 2020-01-10 14:35:19 -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
Zachary Anderson
23ce192a8f Reland: Reword flutter run help screen. (#48423) 2020-01-09 08:18:03 -08:00
stuartmorgan
58d6c425e4
Check for desktop project files before building (#48350)
Moves the checks that projects have been configured for desktop to a lower level, where they will cover more codepaths (e.g., 'run'), and improves them to check for native build projects, rather than just directories, to catch cases where the directory exists (e.g., due to accidental creation of generated files).

Also adds links to the error messages pointing to instructions on adding desktop support to a project.

Fixes #47145
2020-01-08 12:39: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
Zachary Anderson
a1bf03f87a
Revert "Esarbanis flutter run help (#48314)" (#48351)
This reverts commit 866fa64dce.
2020-01-07 15:06:40 -08:00
Jonah Williams
bf6c4c4a41
[flutter_tools]web]Add support for --csp mode to build web (#48319) 2020-01-07 12:20:03 -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
Dan Field
79c4c38cc9 Make analyze once test not depend on test order or flutter create command (#48003) 2020-01-06 16:33:01 -08:00
Jonah Williams
ee7a37f1d3
[flutter_tools] Ensure that global variables are easily identifiable (#47398) 2020-01-06 11:04:20 -08:00
Angjie Li
9df1790f24 Flutter Web Driver Support (#47890) 2020-01-02 19:48:01 -08:00
Francisco Magdaleno
f2f9d0e4fd
Revert "Flutter Web Driver Support (#47470)" (#47698)
This reverts commit cc1c9649c4.
2019-12-23 15:20:11 -08:00
Jenn Magder
9861a1c045
flutter build ios-framework generate Flutter.podspec (#47556) 2019-12-23 13:12:36 -08:00
Angjie Li
cc1c9649c4 Flutter Web Driver Support (#47470) 2019-12-19 19:53:01 -08:00
Jonah Williams
3fe6668849
[flutter_tool] ensure extraGenSnapshotArguments are forwarded to gen_snapshot from Android builds (#47059) 2019-12-19 13:44:21 -08:00
Lau Ching Jun
2df964581f
Revert "Flutter Web Driver Support (#45951)" (#47389)
This reverts commit 1ef0eadb45.
2019-12-18 17:02:31 -08:00
Dan Field
b23238890a Pipe through test-randomize-ordering-seed (#47243) 2019-12-18 13:58:01 -08:00
Angjie Li
1ef0eadb45 Flutter Web Driver Support (#45951)
* Support Flutter Driver test for Flutter Web application.

* Support Flutter Driver test for Flutter Web application.

* Fix documentation issues.

* Support Flutter Driver test for Flutter Web application.

* Fix documentation.

* Remove unused file from dartdoc check.

* Sync to date.

* Revert change to dartdoc.

* Address comments.

* Apply suggestions from code review

Co-Authored-By: Jonah Williams <jonahwilliams@google.com>

* Update copyrights.

* Update allowed list for browsers.

* Verify command line arguments for Drive command is correctly parsed.

* Make waitUntilFirstFrameRasterized throw unimplementedError for Flutter Web Driver.

* Add comment for why sync WebDriver is used.

* Update documentations.

* Add more unit tests and update documentation.

* Configure test.dart so that web_extension_test will be executed with --platform=chrome.

* Revert unnecessary changes.

* Add new file path for Windows to blacklist.

* Reconstruct the structure of flutter_driver/test/src folder to remove filtering logic in dev/bots/test.dart/

* Fix path to web_extension_test.dart.

* Add instructions for how to use WebFlutterDriver.

* Update getLayerTree to use sendCommand instead of _sendCommand.

* Update pubspec files.
2019-12-18 10:45:39 -08:00
Jenn Magder
1cdf0f44db
Only set flutter run usage values for targeted device platforms (#46931) 2019-12-17 14:09:34 -08:00
Michael Goderbauer
862289fa79 fix imports to unawaited (#47181) 2019-12-17 13:29:26 -08:00
Jonah Williams
0a2d8e0cce
[flutter_tool] Remove direct usage of package:linter in the flutter_tools (#47174) 2019-12-16 18:37: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
Zachary Anderson
895ffc80dc
[flutter_tool] Handling of certain unrecoverable filesystem errors (#46617) 2019-12-11 12:54:36 -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
Ian Hickson
14145a4ec9 Try re-enabling all these tests. (#46615) 2019-12-09 18:58:02 -08:00
Jonah Williams
a491697893
[flutter_tool] Ensure dependency constraint for templates created with a driver test are correct 2019-12-09 17:32:03 -08:00
Christopher Fujino
0268510480 Fix analytics regression (#46242) 2019-12-09 15:13:02 -08:00
Jonah Williams
7f235ea8bc
Mitigation for current tool test skips on CI (#46181) 2019-12-05 23:16:25 -08:00
Zachary Anderson
e98acc7d1d [flutter_tool] Print version info on a no-op upgrade. (#46109) 2019-12-05 12:16:48 -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
Zachary Anderson
4484ae4043 [flutter_tool] Do not continue with a no-op 'upgrade' (#46011) 2019-12-03 20:08:24 -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
Zachary Anderson
e4b809b7c8
[flutter_tool] Crash less when git fails during 'version' (#45628) 2019-11-27 10:18:43 -08:00
Jonah Williams
831163f0d0
Register memory info command on vmservice for Android devices (#45568) 2019-11-26 14:49:56 -08:00
Christopher Fujino
dc68d5700b
Fix flutter run cache (#45267) 2019-11-26 09:02:34 -08:00
Emmanuel Garcia
81724bd60f
Fallback to protocol discovery if mdns returns null (#45439) 2019-11-25 11:51:54 -08:00
Alexandre Ardhuin
980f14e0c5
implicit-casts:false on flutter_tools (#45153)
* implicit-casts:false on flutter_tools

* use castStringKeyedMap

* address review comments

* address review comments

* fix issues after rebase
2019-11-24 06:54:43 +01: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
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
Jonah Williams
a7367b650b
Don't log stack traces to console on build failures (#44966) 2019-11-18 14:04:11 -08: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
Danny Tuppeny
5376e90fda
Print a message when modifying settings that you may need to reload IDE/editor (#44574)
* Print a message when modifying settings that you may need to reload IDEs/editors

* Add a test for `flutter config` output

* Remove blank line
2019-11-14 17:54:22 +00:00
Jenn Magder
25b33a8c3b
Fake locale in doctor_test (#44878) 2019-11-13 19:08:10 -08:00
Jenn Magder
6498f64399
Catch and display version check errors during doctor (#44868) 2019-11-13 18:23:05 -08:00
Jonah Williams
985da83139
Revert "Allow specifying device-vmservice-port and host-vmservice-port (#44027)" (#44843)
This reverts commit c0af77bf87.
2019-11-13 14:35:07 -08:00
Jonah Williams
c0af77bf87
Allow specifying device-vmservice-port and host-vmservice-port (#44027) 2019-11-13 13:01:41 -08:00
Jonah Williams
7caef218b5
refactorings to testbed.run and testbed.test (#44488) 2019-11-12 15:35:59 -08:00
Yegor
e7073f9a1f
add --dart-defines option (#44083) 2019-11-09 17:08:53 -08:00
Jonah Williams
9fa0f3b2ea
fix test for null flutter root (#44468) 2019-11-08 14:38:44 -08:00
Jonah Williams
978fada33c
Refactor flutter.gradle to use assemble directly (#43876)
Removes multiple re-entrant calls of bundle and aot and replaces them with a single call to assemble. This restores full caching and will allow follow-up performance improvements when building multiple ABIs
2019-11-08 12:41:24 -08:00
Jonah Williams
cc51ad5d08
Reland: enable usage of experimental web compiler (#44400) 2019-11-07 20:13:02 -08:00
chunhtai
6a9b72c16b
fixing todo comments in flutter tests to include url link. (#42691) 2019-11-07 17:34:36 -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
xster
ba26f926c7
Add Android embedding version analytics (#44043) 2019-11-05 12:38:42 -08:00
Zachary Anderson
372fe290e4
[flutter_tool] Update analytics policy, send event on disable (#43217) 2019-11-05 10:43:52 -08:00
Jonah Williams
79bc6cafc5
implement build aot with assemble for Android target platforms (#43282) 2019-10-30 15:23:25 -07:00
Zachary Anderson
d0d8e6edcb
[flutter_tool] Teach the tool about local engine Fuchsia artifacts (#43759) 2019-10-30 14:11:18 -07:00
liyuqian
c523149819
Reland "Enable dump-skp-on-shader-compilation in drive (#43022)" (#43455)
This reverts commit b9eb3f717a.

We fixed the issue by updating the constructors.
2019-10-29 14:20:22 -07:00
Jonah Williams
450a72488d
set trace to true for desktop builds (#43577) 2019-10-28 10:27:11 -07:00
Zachary Anderson
0dfabb2ae1
[flutter_tool] Use engine flutter_runner prebuilts (#43381)
* [flutter_tool] Use engine flutter_runner prebuilts

* Update packages/flutter_tools/lib/src/fuchsia/fuchsia_build.dart

Co-Authored-By: Jonah Williams <jonahwilliams@google.com>
2019-10-28 09:38:08 -07:00
Jonah Williams
4bd5eb5915
Enable track widget creation on by default (#43471) 2019-10-25 15:04:06 -07:00
Jonah Williams
ae207b5e42
Handle permission error during flutter clean (#43401) 2019-10-25 15:02:38 -07:00
Jonah Williams
b9eb3f717a
Revert "Enable dump-skp-on-shader-compilation in drive (#43022)" (#43438)
This reverts commit 4f385c8fb7.
2019-10-24 11:18:55 -07:00
liyuqian
4f385c8fb7 Enable dump-skp-on-shader-compilation in drive (#43022) 2019-10-24 11:04:59 -07:00
Jonah Williams
4c677e4148
Extra defensive programming for pub modification time assert (#43315) 2019-10-22 22:05:00 -07:00
Jonah Williams
46ea99122b
Revert "Extra defensive programming for pub modification time assert (#42491)" (#43235)
This reverts commit 3597bae6a0.
2019-10-21 20:54:02 -07:00
Ian Hickson
3597bae6a0 Extra defensive programming for pub modification time assert (#42491) 2019-10-21 20:15:20 -07:00
Ian Hickson
124dc6617f
Clean up test infrastructure (#43030)
See #41880 for history.
2019-10-18 16:35:39 -07:00
Jonah Williams
e67f9a3f6c
ensure we can disable --track-widget-creation in debug mode (#43016) 2019-10-18 12:40:50 -07:00
Jonah Williams
1982a5c3ec
Revert "Clean up test infrastructure (#41880)" (#42982)
This reverts commit 1781d5c9bb.
2019-10-17 19:47:16 -07:00
Ian Hickson
1781d5c9bb
Clean up test infrastructure (#41880) 2019-10-17 19:22:47 -07:00
Jonah Williams
863fb2f2cc
Remove linux-x64 unpack logic (#42962) 2019-10-17 19:22:03 -07:00
Christopher Fujino
428d7d7f2d
dispose devices on cleanupAtFinish() for run_cold.dart (#42668) 2019-10-15 12:50:44 -07:00
chunhtai
9423a01204
fix flutter error report correct local widget (#41224) 2019-10-13 18:41:22 -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
Jonah Williams
7ab653c6ca
Add error logging to flutter generate (#42209) 2019-10-11 07:16:11 -07:00
Jonah Williams
861fe0a276
Ensure precache --web works on dev branch (#42289) 2019-10-09 16:27:39 -07:00
Jonah Williams
14c1c211d5
Catch argument error from Make when it isn't installed (#42252) 2019-10-08 14:53:55 -07:00
Jonah Williams
fde267516b
Make Pub an interface in the flutter tool (#42257) 2019-10-08 14:53:28 -07:00
Jonah Williams
9638756c2a
Apply mocks to test command to deflake web_fs test (#42118) 2019-10-07 15:20:33 -07:00
Zachary Anderson
cf0d4979c7
[flutter_tool] Re-work analytics events to use labels and values (#42016) 2019-10-07 15:04:55 -07:00
Alexandre Ardhuin
890b939401
indent formal parameters correctly (#41644) 2019-10-04 11:00:18 +02:00
Jonah Williams
ae18f07324
Ensure plugin registrants are generated in build_web (#41906) 2019-10-04 00:36:09 -07:00
Zachary Anderson
c7c8a6c498
[flutter_tools] Add more info to pub get failure event (#41652) 2019-10-03 11:08:42 -07:00
Ian Hickson
8c6d60bcfd
Move commands into their own shard (#39140) 2019-10-02 12:46:51 -07:00