Commit graph

2794 commits

Author SHA1 Message Date
Jenn Magder f63d56e455
App.framework must support iOS 8 for older Flutter projects (#68729)
* App.framework must support iOS 8 for older Flutter projects

* Fix test
2020-10-22 13:50:54 -07:00
Jonah Williams 21ca1f9ba5
[flutter_tools] use --no-print-incremental-dependencies for non-resident and test compiles (#68678) 2020-10-22 13:34:59 -07:00
Jenn Magder 04657354f5
Build IPA command (#67781)
* Build IPA command

* xcarchive -> ipa
2020-10-22 13:32:51 -07:00
Zachary Anderson cbcd1321ed
Revert "enable unnecessary_string_escapes and use_raw_strings (#68302)" (#68714)
This reverts commit ae06c19a37.
2020-10-21 08:16:13 -07:00
Alexandre Ardhuin ae06c19a37
enable unnecessary_string_escapes and use_raw_strings (#68302) 2020-10-21 16:34:24 +02:00
Jenn Magder d29cd9beb6
Clean up device logger and port forwarding on drive completion (#68655) 2020-10-20 16:01:51 -07:00
Jenn Magder d81691d0f4
Revert "Build iOS apps using Swift Packages (#68361)" (#68546)
This reverts commit dd9323bdfb.
2020-10-19 17:57:32 -07:00
Yegor ea3b08f333
Respond to HTTP POST requests with 404 in WebAssetServer (#68492)
* Respond to POST with 404 in WebAssetServer
2020-10-19 16:21:39 -07:00
Jenn Magder dd9323bdfb
Build iOS apps using Swift Packages (#68361) 2020-10-19 15:47:04 -07:00
Jenn Magder 5e17a240bd
Generate only requested platform directories on create (#68376) 2020-10-19 14:17:43 -07:00
Jonah Williams e422d5c724
[flutter_tools] reland: --no-android-gradle-daemon in devicelab (#68491)
Remove devicelab specific code for shutting down gradle daemon, add --android-gradle-daemon option to build/run/drive`. Avoids need for un-tested devicelab specific handler. There are also some feature requests for this, so 2 birds one stone.

Example:

flutter build apk --no-android-gradle-daemon will pass --no-daemon on to gradle
2020-10-19 10:27:58 -07:00
Jonah Williams 19f363029e
[flutter_tools] increase devFS sync timeout to 60 seconds (#68488)
The current timeout is too short for some remote workflows. The existing unit test require hitting a real timeout so I've removed it.

See b/171005910
2020-10-19 10:14:37 -07:00
Jonah Williams ed5482de19
Revert "[flutter_tools] add --android-gradle-daemon option, use in devicelab (#68409)" (#68489)
This reverts commit ddab72e79f.
2020-10-19 09:33:52 -07:00
Jonah Williams ddab72e79f
[flutter_tools] add --android-gradle-daemon option, use in devicelab (#68409)
Remove devicelab specific code for shutting down gradle daemon, add --android-gradle-daemon option to build/run/drive`. Avoids need for un-tested devicelab specific handler. There are also some feature requests for this, so 2 birds one stone.

Example:

flutter build apk --no-android-gradle-daemon will pass --no-daemon on to gradle
2020-10-19 09:12:21 -07:00
Nobuhiro Tabuki 4e2f82cf93
[flutter_tools] change the IntelliJ plugin detection logic. (#68020)
This PR suggests improving the IntelliJ plugin "jar" detection logic.

Previously:
The IntelliJ Flutter plugin was contained flutter-intellij.jar.
Currently:
It is named flutter-intellij-X.Y.Z.jar and does not contain META-INF/plugin.xml.
META-INF/plugin.xml is included in flutter-idea-X.Y.Z.jar.

So this PR changes the rules for searching the plugin's jar file.
Concretely, it looks for the jar file containing META-INF/plugin.xml in the plugin's package directory and reads the package version from its META-INF/plugin.xml.

Co-authored-by: Jonah Williams <jonahwilliams@google.com>
2020-10-19 08:19:48 -07:00
Lau Ching Jun 583db83865
request.mainUri should be fileUri (#68329) 2020-10-16 15:23:54 -07:00
Jonah Williams 198e40c9eb
[flutter_tools] retry the driver launch of the application up to 3 times. (#68334)
We'd like to see how many of these flakes are transient and how many involve the device/machine getting temporarily wedged. Add a retry with no delay to see if it is possible to add sufficient error handling to startApp/installApp to handle this.
2020-10-16 15:07:23 -07:00
Lau Ching Jun 3393566b56
Use multiroot scheme for initial compilation in ResidentRunner recompile (#68280) 2020-10-16 10:54:19 -07:00
Jonah Williams dd93ee301f
[flutter_tools] drive uses correct application package for prebuilt (#68309)
Both start and stop app create an application package, but only start app used the application binary. Create the application package once and pass it to both start and stop app.
2020-10-16 09:40:08 -07:00
Shi-Hao Hong 38ebc5588b
[gen_l10n] Create pubspec.yaml in ".dart_tool/flutter_gen" if it does not already exist (#68206)
* Generate pubspec.yaml for synthetic package if it did not exist prior
2020-10-16 11:34:27 +08:00
Jenn Magder acde65d14a
Revert noninteractive lldb debugging, timeout warning (#68245) 2020-10-15 18:02:15 -07:00
Jonah Williams 4ce27ea0ac
[flutter_tools] update metadata detection to account for invalid yaml (#68243) 2020-10-15 16:51:52 -07:00
Alexandre Ardhuin 73301a35a2
Sync lints (#68136) 2020-10-15 15:37:04 -07:00
Jonah Williams 27936e9f22
Revert "[flutter_tools] ensure android log reader works in flutter drive (#68131)" (#68222)
This reverts commit d962c8f2a2.
2020-10-15 10:50:56 -07:00
Jonah Williams 2321b72dfb
[flutter_tools] move gradle download failure handling into tool (#68140)
This crash affects anyone using flutter, so move it into the tool where it can be tested and documented. Ensure it works on windows devicelab too.
2020-10-15 09:20:52 -07:00
Jenn Magder 1fb94fb894
Noninteractive iOS debugger session (#68145) 2020-10-14 15:38:07 -07:00
Jenn Magder a82807d782
Run Xcode command lines tools in native ARM (#68050) 2020-10-14 15:24:32 -07:00
Jonah Williams d962c8f2a2
[flutter_tools] ensure android log reader works in flutter drive (#68131) 2020-10-14 14:04:33 -07:00
Jenn Magder 431c599bec
Revert "[flutter_tools] If run fails to install the application on iOS, try uninstalling it and trying again. (#68078)" (#68118)
This reverts commit 61ba7dd218.
2020-10-14 10:07:30 -07:00
Jonah Williams 61ba7dd218
[flutter_tools] If run fails to install the application on iOS, try uninstalling it and trying again. (#68078) 2020-10-14 09:14:36 -07:00
Jonah Williams 4b351ac1b4
[flutter_tools] do not allow attaching in release mode (#68071)
Do not allow attach in release mode, as there is not VM Service to connect to. Observed in crash reporting as thrown string which is changed to exception below.
2020-10-13 21:29:23 -07:00
Jonah Williams 9e70180f63
[flutter_tools] do not measure progress timeout (#67959)
Remove "This is taking a long time" progress timeout and TimeoutConfiguration.
2020-10-13 13:05:47 -07:00
Jenn Magder 3e0d2741de
Detach debugger when VM connection fails on iOS (#68046) 2020-10-13 12:50:50 -07:00
Jenn Magder 4dffc851bc
Detect ARM macOS arch with sysctl hw.optional.arm64 (#67970) 2020-10-13 12:05:04 -07:00
Jonah Williams d6d06ed9f0
[flutter_tools] delete applicationPackageStore (#68026)
This class is entirely superseded by the application package factory. Only drive and install use it, and removing it from drive will allow use-application-binary support.
2020-10-13 11:33:55 -07:00
Jonah Williams 1c976933f3
[flutter_tools] support Android Studio 4.1 on Windows (#67992)
Android Studio 4.1 moved the location of the .home file on Windows which is used to located the install directory. This functionality is important because it is how we locate and discover the Android SDK functionality, as well as the appropriate JRE.

fixes #67986
2020-10-13 11:33:26 -07:00
Nobuhiro Tabuki 1e180062aa
[flutter_tools] Support IntelliJ 2020.1 and later on Linux and Windows (#58853)
This PR will update IntelliJ IDEA/Community validation logic for 2020.1 and later on Linux and Windows.
2020-10-12 22:03:36 -07:00
Jonah Williams ac751cc50c
[flutter_tools] verify checksum of downloaded artifacts (#67839)
All of the network requests from google cloud storage include an x-goog-hash header which contains an MD5 checksum. If present, use to validate that the downloaded binary is valid. This will rule out corrupt files as the cause of getting started crashers in the flutter_tool.

#38980

This does not fully resolve the above issue, because while we can check if the checksum matches what was expected from cloud storage, this A) may not necessarily be present and B) may not match up to what should be uploaded as part of the engine build process.

But when life gives you lemons you hash those lemons using an outdated hashing algorithm.
2020-10-12 17:44:23 -07:00
Jonah Williams 18bb4d7254
Revert "[flutter_tools] reland: fold process resolution logic into the flutter tool (#67957)" (#67968)
This reverts commit bd8138797e.
2020-10-12 15:53:16 -07:00
Jonah Williams 52f8b89c0e
[flutter_tools] dont allow creating package name that is invalid (#67786)
According to https://dart.dev/tools/pub/pubspec#name , uppercase is not permitted for package names.
2020-10-12 15:38:23 -07:00
Jonah Williams bd8138797e
[flutter_tools] reland: fold process resolution logic into the flutter tool (#67957)
Reland of #67669

The flutter tool has a number of crashes on stable where an ArgumentError is thrown due to the process manager not being able to resolve an executable.

So that we can adjust/modify this logic, fold it into flutter and add some additional logging.
caches the resolved executable per target directory, to avoid repeated look ups.
Instead of throwing an argument error, attempts to run the executable as given if an exact path can't be found
Accept files or symlinks for the executable path.
user where/which to resolve path instead of package:process logic.
2020-10-12 15:37:02 -07:00
Jonah Williams 354e2a57b1
Revert "[flutter_tools] fold executable resolution into flutter (#67669)" (#67954)
This reverts commit 10c78c264a.
2020-10-12 13:15:39 -07:00
Jonah Williams 10c78c264a
[flutter_tools] fold executable resolution into flutter (#67669)
The flutter tool has a number of crashes on stable where an ArgumentError is thrown due to the process manager not being able to resolve an executable. Fold the resolution logic into the tool and use where/which instead of the package:process specific logic.
2020-10-12 12:51:37 -07:00
Jonah Williams ac614de7ac
[flutter_tools] validate that SkSL bundle path exists (#67883)
Fixes #61772

tool exit if there is no file at the path provided when building/running with sksl
2020-10-12 12:49:51 -07:00
Jonah Williams fd11d149f7
[flutter_tools] teach flutter drive to uninstall if install fails (#67936)
Work towards #39925

Currently flutter run will uninstall and reinstall if the initial install fails and the APK was previously installed. Allow drive to share this same logic by moving it into installApp and out of startApp.

This should reduce the occurrence of the error in the devicelab.
2020-10-12 12:49:36 -07:00
Jonah Williams b4e4e8d965
[flutter_tools] do not crash validator if intellij JAR file is missing (#67931)
This failure has been happening for a while but was covered by the overly broad catch. Removing that revealed that newer intellij versions have a different plugins file. The tool still can't find the file, but it won't crash now

Fixes #67918
2020-10-12 10:34:05 -07:00
Jonah Williams 0afddf3578
[flutter_tools] use fixed entry for dill uploads (#67837)
For historical reasons, the flutter tool uploads dill files to paths based on the entrypoint URI. This isn't actually necessary, and the tool can use specific files : main.dart.incremental.dill for incremental dills, and main.dart.dill/main.dart.swap.dill for full dills. This allows hot restarting applications with an entrypoint outside of lib/ and simplifies the devFS code.

Fixes #63243
2020-10-12 09:47:41 -07:00
Jonah Williams 08576cb671
[flutter_tools] HACKTOBERFEST (#67882)
HACKTOBERFEST
2020-10-12 09:31:02 -07:00
Jonah Williams 1a9d635f64
[flutter_tools] remove --with-driver-test (#67783)
Remove flutter create --with-driver-test . Fixes #64095
2020-10-09 21:03:37 -07:00
Alexander Markov 1973cf2d6c
Remove uses of bytecode mode of Dart VM (#67755) 2020-10-09 16:33:06 -07:00