Commit Graph

273 Commits

Author SHA1 Message Date
Jonah Williams
c8466d0430
[flutter_tools] handle case where file is deleted by other program or running on read only volume (#66708)
* [flutter_tools] handle case where file is deleted by other program

* Add test cases

* Update file_system.dart

* Update file_system_test.dart

* fix import

* make a static on ErrorHandligFS

* add support for no exit on failure

* address comments

* update doc comment to file or directory
2020-10-05 17:00:07 -07:00
Jonah Williams
4ce2a7aa6d
[flutter_tools] do not use IOSink for writing cache responses (#67231)
Any File-derived IOSink may throw un-handleable async exceptions into the zone, see dart-lang/sdk#43663 . Instead, just write to a file with an append mode.
2020-10-05 09:05:41 -07:00
Jenn Magder
becaf4913f
Replace MockCache with Cache.test() (#66946) 2020-09-30 14:53:57 -07:00
Jonah Williams
b9274c7c60
[flutter_tools] bypass pubspec yaml content check when running pubdependencies (#66559)
Otherwise the heuristics we have may decide to skip running pub. We should consider reducing the number of dimensions of caching here to a single check optimized for the run/test case.
2020-09-24 12:51:18 -07:00
Jonah Williams
faa4b6635a
[flutter_tools] try deleting the web cache directory before copying new web sdk (#66461)
Delete the destination directory for the web sdk before copying the new contents. This might fix an error where the OS refuses to overwrite the files on dev
2020-09-23 16:45:20 -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
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07:00
Jonah Williams
4188085596
[flutter_tools] handle archive exception from invalid zip signature (#65869)
Like the ProcessException thrown from zip running on a bad file, the tool should catch the ArchiveException thrown from windows implementation using package:archive.
2020-09-15 10:55:41 -07:00
Jonah Williams
6acea15f22
[flutter_tools] fix failure to create ansi spinner if download needs to be retried (#65797)
Because the Status spinner was only created on setup, the second stop would asset/crash.

Fixes #65449
2020-09-14 17:55:11 -07:00
Jonah Williams
68b39da346
[flutter_tools] tool exit after repeated network failure (#64878)
Exit the tool after a repeated network error to download. previously we were returning null and continuing on, leading to a ProcessException when we unzipped a missing file.
2020-08-31 12:15:05 -07:00
Jonah Williams
f0a3cbace3
[flutter_tools] handle FileSystemException thrown when attempting to decode stamp file (#64559)
Fixes #64246

If decoding the string contents of a stamp file fails, treat it as if the stamp file is missing. This is always safe to do, since at worst it downloads more artifacts. The files could end up corrupted if they were edited by another program, for example
2020-08-25 10:58:21 -07:00
Jonah Williams
23032d772d
[flutter_tools] refactor artifact downloading to retry zip exceptions. (#64512) 2020-08-25 10:06: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
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
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
stuartmorgan
61c198e766
Switch Linux to the GTK embedding (#59287)
Updates the tooling to use the GTK embedding, rather than the GLFW embedding:
- Adds new requirements to `doctor`
- Updates the app and plugin templates to make GTK-based runners and plugins
- Stops downloading and installing the GLFW artifacts

Final part of #54860, other than cleanup.
2020-06-16 13:31:24 -07:00
Jenn Magder
5eb4917d73
Release cache lock for commands after required artifacts are downloaded (#59012) 2020-06-08 17:18:02 -07:00
stuartmorgan
a3b9e20a6b
Fix non-local-engine Linux release builds (#58372) 2020-06-01 11:03:02 -07:00
stuartmorgan
25e9d0494b
Add Linux GTK artifacts to unpack list (#57452)
To simplify development of the in-progress GTK embedding, which will
replace the GLFW embedding on Linux, add the GTK artifacts to the unpack
list. This means that until the transition, both the GLFW and GTK
artifacts will be unpacked.

Part of #54860
2020-05-18 09:26:07 -07:00
Zachary Anderson
04fe25e63e
[flutter_tools] Don't try to execute gradle wrapper out of /tmp (#56706) 2020-05-08 14:00:28 -07:00
Zachary Anderson
6f0ed5e142
[flutter_tools] Restore base/platform.dart (#56410) 2020-05-06 08:15:39 -07:00
Jonah Williams
d72eea539e
[flutter_tools] precache and unpack updates for desktop release artifacts (#55510)
- Update windows precache to include placeholder profile/release artifacts
- Update Linux and windows unpack to account for the cpp_client_wrapper code to live separate from the engine binaries
- Cleanup testing in unpack_linux and remove test cases that are covered in build_system_test.dart
2020-04-25 14:27:55 -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
Jenn Magder
ba57ea09d1
Revert "Move processUtils into globals (#53209)" (#53301) 2020-03-25 14:59:03 -07:00
Jenn Magder
9ccac00599
Move processUtils into globals (#53209) 2020-03-25 11:23:08 -07:00
Christopher Fujino
14d8534c3e
add usbmuxd (#52500) 2020-03-12 17:36:01 -07: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
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
Christopher Fujino
704fb4cbc7
Remove usage of ideviceinstaller in favor of ios-deploy (#50772) 2020-02-25 09:09:40 -08:00
Alexandre Ardhuin
f15c887c63
change quote to avoid escapes (#50368) 2020-02-11 20:58:27 +01:00
Jenn Magder
a9b8d360cf
Remove ideviceinfo, idevice_id artifacts (#50248) 2020-02-06 15:50:26 -08:00
Christopher Fujino
e6e14b0dd2
Have android validator suggest ANDROID_SDK_ROOT instead of deprecated ANDROID_HOME (#49846) 2020-02-06 14:03:03 -08:00
Lau Ching Jun
81525fa1a6
Support downloading font-subset for all platforms (#50240) 2020-02-06 10:33:02 -08:00
Zachary Anderson
2c51efef29
[flutter_tools] Make Config context-free (#49834) 2020-01-31 12:51:20 -08:00
Alexandre Ardhuin
b5f328e37e
remove unnecessary string interpolations (#49622) 2020-01-31 18:30:21 +01:00
Zachary Anderson
92f7e16312
[flutter_tools] Make OperatingSystemUtils context-free (#49740) 2020-01-29 17:51:31 -08:00
Dan Field
fabeb2a16f
Revert string interp (#49602) 2020-01-28 07:56:51 -08:00
Zachary Anderson
74c1be6ff1 [flutter_tool] Make base/net.dart context free (#49575) 2020-01-27 17:53:02 -08:00
Alexandre Ardhuin
92cbaa3efe remove unnecessary string interpolations (#49352) 2020-01-23 20:43:01 -08:00
Dan Field
525855d595 download font-subset (#49234) 2020-01-21 16:53:02 -08:00
Zachary Anderson
dc94e479d1 [flutter_tool] Don't crash on failed stamp file update (#49080) 2020-01-17 15:18:01 -08:00
Jonah Williams
ad9476dc9e
[flutter_tools] Remove context from Artifacts class (#48776) 2020-01-14 16:47:34 -08:00
Zachary Anderson
29490887e0
Reland: [flutter_tools] File system utilities (#48757)
* Reland: [flutter_tools] File system utilities

* Remove unused imports
2020-01-14 09:40:39 -08:00
Zachary Anderson
ef62092b9b
Revert "[flutter_tools] File system utilities (#48738)" (#48755)
This reverts commit 0349660622.
2020-01-13 14:30:37 -08:00
Zachary Anderson
0349660622
[flutter_tools] File system utilities (#48738) 2020-01-13 13:17:45 -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
Jenn Magder
9861a1c045
flutter build ios-framework generate Flutter.podspec (#47556) 2019-12-23 13:12:36 -08:00
Emmanuel Garcia
354f80b84a
Check and give execute permission to Gradle if needed (#46748) 2019-12-11 16:36:03 -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
Christopher Fujino
dc68d5700b
Fix flutter run cache (#45267) 2019-11-26 09:02:34 -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
Zachary Anderson
29c026fac4
[flutter_tool] Don't crash when failing to delete downloaded artifacts (#44933)
* [flutter_tool] Don't crash when failing to delete downloaded artifacts

* Add space

* Add more spaces.
2019-11-15 10:05:45 -08:00
Zachary Anderson
12c190f746
[flutter_tool] Stream artifact downloads to files (#44360) 2019-11-07 14:01:57 -08:00
Kaushik Iska
7dceec21f7
[flutter_tool] --flutter_runner will download the debug symbols (#44119)
This makes the flutter tool download the debug symbols for Flutter and Dart runners to be used in Fuchsia dev environment.
2019-11-05 14:07:48 -08:00
Emmanuel Garcia
175b37247d
Refactor gradle.dart (#43479) 2019-10-31 13:19:15 -07:00
Jonah Williams
50da3bd062
check if libimobiledevice executables exist (#43767) 2019-10-29 21:35:51 -07:00
Christopher Fujino
261594e785
add libzip cache artifact (#43677) 2019-10-29 14:29:00 -07:00
Jonah Williams
b142c9bbdb
catch failure to parse FLUTTER_STORAGE_BASE_URL (#43599) 2019-10-28 10:54:03 -07:00
Lau Ching Jun
4416c4f8d6 Add Android x64 profile artifacts (#42508) 2019-10-11 06:57:45 -07:00
Jonah Williams
03a45dc383
Add support for Android x86_64 ABI to Flutter (#42401) 2019-10-10 16:34:16 -07:00
Lau Ching Jun
5a41374ac3
Add option to precache unsigned mac binaries. (#42376) 2019-10-09 22:24:15 -07:00
Jonah Williams
861fe0a276
Ensure precache --web works on dev branch (#42289) 2019-10-09 16:27:39 -07:00
Alexandre Ardhuin
83e5a8a0e4
some formatting changes (#41640) 2019-10-08 18:32:10 +02:00
Ian Hickson
cdc2d9901d
More consistent temp directory naming (#42063)
Applying our style guide:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#have-good-hygiene-when-using-temporary-directories
2019-10-07 16:43:04 -07:00
Jonah Williams
6edd79abab
Upload x64 android host release (#41933) 2019-10-03 16:23:53 -07:00
Jonah Williams
b1a6aa3ab8
Add support for downloading x86 Android JIT release artifact (#41751) 2019-10-02 12:45:35 -07:00
Jonah Williams
6714baab41
Download Android x64 release artifacts (#41698) 2019-10-01 14:04:37 -07:00
Alexandre Ardhuin
f0553ba58e
Missing trailing commas (#41473)
* add missing trailing commas

* add more missing trailing commas

* add more and more missing trailing commas
2019-09-30 18:48:23 +02:00
Emmanuel Garcia
8a1bf5b827
Reland #39157 (#39798) 2019-09-17 08:19:33 -07:00
Zachary Anderson
e2340c641d
[flutter_tool] Use curly braces around single statment control structures (#40446) 2019-09-13 14:51:35 -07:00
stuartmorgan
4c2c7c417d
Switch to the Win32 Windows embedding (#39836)
Pulls the Win32 embedding artifacts instead of the GLFW versions for
Windows.

Fixes #38590
2019-09-05 10:09:12 -07:00
Emmanuel Garcia
d230234d67
Revert Maven dependencies (#39747) (39157) (#39784) 2019-09-03 17:49:10 -07:00
Emmanuel Garcia
b63cb44105
Use new Maven artifacts from Gradle (#39157) 2019-09-02 10:35:17 -07:00
Jonah Williams
b2d19d2af5
Add support for macOS release/profile mode (3 of 3) (#38909) 2019-08-23 08:46:24 -07:00
stuartmorgan
2daab305aa
Use GLFW-name artifacts on Windows and Linux (#38858)
Switch from the un-suffixed Windows and Linux libraries to the
_glfw-suffixed versions, in preparation for having non-GLFW versions
using the previous library/wrapper names.

Part of #38589
2019-08-20 06:29:49 -07:00
Jonah Williams
77e15103da
Catch failure to create directory in cache (#37871) 2019-08-09 16:21:32 -07:00
Zachary Anderson
99d66f2709
[flutter_tool] Make a couple file operations synchronous (#37044) 2019-07-30 12:16:32 -07:00
Jonah Williams
c9a5f94372
Include flutter_runner in precache artifacts. (#36318) 2019-07-29 16:13:47 -07:00
Todd Volkert
adb2aeebe3
Ensure that cache dirs and files have appropriate permissions (#28090)
This is a partial re-application of #24669, which was
reverted due to Fuchsia breakages.

https://github.com/flutter/flutter/issues/24413
2019-07-18 15:29:06 -07:00
Tim Sneath
07735578af
Fix spelling error and clarify universal flag (#36331) 2019-07-17 10:46:48 -07:00
Christopher Fujino
102ab1e6d9
Reland bundle ios deps (#36093)
This updates the flutter tool cache to download binary files for ideviceinstaller, ios-deploy, libimobiledevice, and dynamically linked dependencies from Flutter's GCP bucket.
2019-07-15 09:22:29 -07:00
Jonah Williams
0a97553e5e
Revert "Merge branches 'master' and 'master' of github.com:flutter/flutter into timsneath-precache2" (#36096) 2019-07-12 13:42:32 -07:00
Tim Sneath
7349970462 Update comments to match precache help 2019-07-12 12:59:01 -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
Alexandre Ardhuin
919dcf53f3
enable lints prefer_spread_collections and prefer_inlined_adds (#35189) 2019-06-27 21:23:16 +02:00
Jonah Williams
d4d10dac61
Revert "Check whether FLUTTER_ROOT and FLUTTER_ROOT/bin are writable. (#34291)" (#34750)
This reverts commit 49449505b6.
2019-06-19 15:37:04 -07:00
Jonah Williams
49449505b6
Check whether FLUTTER_ROOT and FLUTTER_ROOT/bin are writable. (#34291) 2019-06-19 09:12:43 -07:00
Zachary Anderson
3d276cc6a8
[flutter_tool] Pull the right Fuchsia SDK for the platform (#31998) 2019-05-02 15:26:59 -07:00
Jonah Williams
0acd3e6b04
refactor context to be implicit-downcast safe (#31622) 2019-04-25 15:51:08 -07:00
Jonah Williams
18e294dbd7
throw toolExit instead of rethrowing on filesystem exceptions (#31404) 2019-04-22 09:56:14 -07:00
Stanislav Baranov
08445c8a01
Stop precaching the artifacts for dynamic mode. (#31282) 2019-04-22 09:05:38 -07:00
Jonah Williams
5228a7851a
Fuchsia step 1: add SDK version file and artifact download (#31073) 2019-04-16 13:24:58 -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