Commit graph

1470 commits

Author SHA1 Message Date
Jonah Williams 64add554d7
handle unexpected exit from frontend server (#38497) 2019-08-14 19:00:31 -07:00
Jonah Williams 388d69eb9b
Catch errors thrown into the Zone by json_rpc (#38486) 2019-08-14 13:10:41 -07:00
Zachary Anderson d220631eca
[flutter_tool] Fix bug in manifest yaml validation (#38472) 2019-08-14 07:57:30 -07:00
Christopher Fujino cd1e55b58a
refactor flutter upgrade to be 2 part, with the second part re-entrant (#38325) 2019-08-13 15:53:54 -07:00
David Shuckerow 9615eb99aa
Tests for flutter test [some_directory] (#36866)
* Add a test for a directory instead of a single test.

* Add test data to a child directory to test the command.

* Add test data to a child directory to test the command.

* Add test data to a child directory to test the command.

* Correct test.
2019-08-13 14:57:43 -07:00
Jonah Williams ca5411e3aa
Fix type error hidden by implicit downcasts (#38102) 2019-08-12 15:21:28 -07:00
Jonah Williams 4b73746aff
Catch filesystem exception from flutter create (#38101) 2019-08-12 09:51:03 -07:00
Jonah Williams 2185825338
Catch FormatException caused by bad simctl output (#37958) 2019-08-10 00:57:23 -07:00
jmagman 0a58610ce7
Clean ephemeral directories (#37966) 2019-08-09 17:26:51 -07:00
Jonah Williams 77e15103da
Catch failure to create directory in cache (#37871) 2019-08-09 16:21:32 -07:00
David Martos 526339b63a Avoid killing Flutter tool process (#37471) (#37500) 2019-08-09 11:25:12 -07:00
Yegor 9bc298deb6
update dependencies; add a Web smoke test (#37816)
update dependencies; add a Web smoke test
2019-08-09 09:58:49 -07:00
Jonah Williams f98df595f3
Restructure resident web runner usage to avoid SDK users that don't support dwds (#37815) 2019-08-08 16:36:27 -07:00
jmagman 5ed3b418a1
Add COMPILER_INDEX_STORE_ENABLE=NO to macOS build and tests (#37806) 2019-08-07 18:02:06 -07:00
Jonah Williams 8e6205fe1d
Handle thrown maps and rejects from fe server (#37743) 2019-08-07 17:00:36 -07:00
Jason Simmons 4f302dc18c
Remove unused no-build flag from the flutter run command (#37735)
The use-application-binary flag can be used to run a previously built
app package.
2019-08-07 12:44:02 -07:00
Christopher Fujino 39a04dcd7f
Support macOS Catalina-style signing certificate names (#37733) 2019-08-07 09:18:11 -07:00
Jonah Williams fef69b2044
Partial macOS assemble revert (#37664) 2019-08-06 09:15:50 -07:00
Zachary Anderson 0bba472858
[flutter_tool] Remove unintended analytics screen send (#37514) 2019-08-06 09:08:43 -07:00
Jonah Williams caa56d6ac4
enable track widget creation on debug builds (#37512) 2019-08-05 22:07:35 -07:00
Jonah Williams a785db78fb
Reland "Integrate dwds into flutter tool for web support (#34252)" (#37649)" (#37650) 2019-08-05 16:51:57 -07:00
Jonah Williams 433436e1ee
Revert "Integrate dwds into flutter tool for web support (#34252)" (#37649) 2019-08-05 15:58:04 -07:00
Zachary Anderson 500d7c50df
[flutter_tool] Additional flutter manifest yaml validation (#37422) 2019-08-05 13:14:57 -07:00
Jonah Williams 4ccd81199f
Integrate dwds into flutter tool for web support (#34252) 2019-08-05 12:41:58 -07:00
Christopher Fujino 5fb2d2aeea
have xcodeSelectPath also catch ArgumentError (#37521) 2019-08-02 16:08:49 -07:00
Emmanuel Garcia 40c5cc9708
Find the app bundle when the flavor contains underscores (#37457) 2019-08-02 16:02:46 -07:00
Emmanuel Garcia 80ee3dd04c
Print message when HttpException is thrown after running flutter run (#37440) 2019-08-02 16:02:02 -07:00
stevemessick 93dd90fc1a
Add .android/Flutter/flutter.iml to module template. (#37405) 2019-08-01 15:47:00 -07:00
Majid Hajian 7244cbb9b2 add line-length to flutter format commandline (#36679) 2019-08-01 10:27:41 -07:00
Jonah Williams cf6613583d
only build macOS kernel in debug mode (#37365) 2019-08-01 09:23:40 -07:00
Zachary Anderson 2e183b6233
[flutter_tool] Include the local timezone in analytics timestamp (#37345) 2019-07-31 23:28:18 -07:00
Jonah Williams 602f76ca00
fix errors caught by roll of macOS assemble (#37351) 2019-07-31 21:14:40 -07:00
Jonah Williams 2ab469952b
Flutter assemble for macos take 2! (#36987) 2019-07-31 16:19:22 -07:00
Jenn Magder dd1fb3bcb7
Build number (part after +) is documented as optional, use entire app version if not present (#37036) 2019-07-31 16:18:09 -07:00
Zachary Anderson c7596da5a4
[flutter_tool] Re-try sending the first crash report (#37198) 2019-07-31 13:51:19 -07:00
Dan Field a8fbe02a9d hide symbols from spotlight (#37217) 2019-07-30 14:24:58 -07:00
Zachary Anderson d208ce2dff
[flutter_tool] Usage refactor cleanup (#37186) 2019-07-30 12:18:15 -07:00
Zachary Anderson a9aea962ab
[flutter_tool] Catch ProcessException from 'adb devices' (#37196) 2019-07-30 12:17:10 -07:00
Zachary Anderson 99d66f2709
[flutter_tool] Make a couple file operations synchronous (#37044) 2019-07-30 12:16:32 -07:00
Jenn Magder bd47a31e32
Vend Flutter module App.framework as a local CocoaPod pod to be installed by a host app (#36793) 2019-07-30 09:58:39 -07:00
Zachary Anderson a5d23d2a25
[flutter_tool] More gracefully handle Android sdkmanager failure (#37194) 2019-07-30 08:19:58 -07:00
Jonah Williams c9a5f94372
Include flutter_runner in precache artifacts. (#36318) 2019-07-29 16:13:47 -07:00
Zachary Anderson ef146f63bb
[flutter_tool] Clean up usage events and custom dimensions (#36785) 2019-07-29 07:24:02 -07:00
Jonah Williams 51d2d3511c
Expose functionality to compile dart to kernel for the VM (#36598) 2019-07-26 19:50:57 -07:00
Michael Klimushyn 30eec11e7d Roll back the AAR build experiment (#36966)
* Roll back the AAR build experiment

This has been breaking flutter/plugins CI for the past day.

* Remove integration tests that rely on the AAR flag
2019-07-25 20:54:10 -07:00
Jonah Williams 188093c912
Rearrange flutter assemble implementation (#36240) 2019-07-25 08:50:03 -07:00
Jonah Williams 76d058163b
Adjust phrasing of features (#36874)
* adjust phrasing of features

* word smithing

* more wordsmithing
2019-07-25 08:48:01 -07:00
Jonah Williams 16e484b179
Remove Chain terse parsing (#36860) 2019-07-25 08:47:39 -07:00
Siva c15cfdd6af
flutter/engine@ef99738...72341ed (#36885)
flutter/engine@72341ed03 Roll fuchsia/sdk/core/linux-amd64 from gQ3ztEQmdEh3iE6n9EO6iGRdmDSX-edmP5WyE-Ui4BEC to gTG1jp04GzBudVJqRxulXYOEQgbYTUQgnqLDYAq7z3sC (#10115)
flutter/engine@d66031f2a Roll src/third_party/dart 82f657d7cb..0c97c31b6e (7 commits) (#10114)
flutter/engine@f742514a5 Cache font family lookups that fail to obtain a font collection (#10109)
flutter/engine@7c177724c Roll fuchsia/sdk/core/mac-amd64 from A21rwGAUjpjVTX8HgpT9Iyx6J_QZBRDhu-5GAclrf00C to UCAnzi4k9pA30l_iZ2Ru51Tc3Ke6iacIdjFMgVUVdRMC (#10107)
flutter/engine@c3165da09 Roll src/third_party/skia fdf4bfe6d389..b3956dc6ba6a (1 commits) (#10101)
flutter/engine@71702b3f8 Roll fuchsia/sdk/core/linux-amd64 from gPDgr6u-BPJTgV2Nf0tlg9MTY3JwGW0cETtsQcx365AC to gQ3ztEQmdEh3iE6n9EO6iGRdmDSX-edmP5WyE-Ui4BEC (#10103)
flutter/engine@f393da22d [fuchsia] copy over the cmx file (#10087)
flutter/engine@8ebd15d26 Roll src/third_party/skia f564f1515bde..fdf4bfe6d389 (1 commits) (#10100)
flutter/engine@f529a251b Roll fuchsia/sdk/core/mac-amd64 from lvLKs8Q4CKm_XLoZCQ72RO0RHI6yvJXnA9M_M8r4-aAC to A21rwGAUjpjVTX8HgpT9Iyx6J_QZBRDhu-5GAclrf00C (#10099)
flutter/engine@d409df823 Roll src/third_party/dart 9c148623c5..82f657d7cb (25 commits)
flutter/engine@acd139ce6 Roll src/third_party/skia 1cd1ed8976c4..f564f1515bde (1 commits) (#10097)
flutter/engine@f2c9da4a0 Roll src/third_party/skia 3ae30cc2e6e0..1cd1ed8976c4 (1 commits) (#10096)
flutter/engine@d2f0b9ef1 Roll fuchsia/sdk/core/linux-amd64 from MCDItwEzechMpZAiI0QOzuiTtNUGArUa4TprH0Er-7QC to gPDgr6u-BPJTgV2Nf0tlg9MTY3JwGW0cETtsQcx365AC (#10095)
flutter/engine@0f4db494a Roll fuchsia/sdk/core/mac-amd64 from EH_61w2lpSn0UmpJkynWM6tiT0nnKk1GhTRRKK2cGMwC to lvLKs8Q4CKm_XLoZCQ72RO0RHI6yvJXnA9M_M8r4-aAC (#10094)
flutter/engine@298799991 Roll src/third_party/skia 0f9c660aa939..3ae30cc2e6e0 (1 commits) (#10093)
flutter/engine@a4d2d3648 Roll fuchsia/sdk/core/linux-amd64 from tCzkXNr7cb5OAbS5NcJ4F_g0DgVj3w8rfbT14AcaTHoC to MCDItwEzechMpZAiI0QOzuiTtNUGArUa4TprH0Er-7QC (#10090)
flutter/engine@d27a6373d Roll fuchsia/sdk/core/mac-amd64 from xNAaLqZJk8Bkz00BaHGzE8hCpiohggO7KabM3g2wdsQC to EH_61w2lpSn0UmpJkynWM6tiT0nnKk1GhTRRKK2cGMwC (#10089)
flutter/engine@20dc17282 Roll src/third_party/skia d15571af2e1b..0f9c660aa939 (1 commits) (#10088)
flutter/engine@9e7260b9d Roll fuchsia/sdk/core/linux-amd64 from kU0OwJYlceN477ejdh9RXrl7Mp-wUTNvQozlaV96xmQC to tCzkXNr7cb5OAbS5NcJ4F_g0DgVj3w8rfbT14AcaTHoC (#10086)
flutter/engine@0e621d902 [fuchsia] Use the new far package model (#10085)
flutter/engine@bdc713695 [fuchsia] Add sysroot and clang libs to package (#10082)
flutter/engine@72f747ae4 Roll fuchsia/clang/linux-amd64 from apsjZJ9ZIwlS08divc0QwxuNgIFeN4X-52mKR9d8qacC to zHiuOGMDwdWPUkV1B2fHKyRy2fGWGcUgfa2z6dyGAZQC (#10084)
flutter/engine@bfe689ee8 Roll fuchsia/clang/mac-amd64 from USm3Qt9wen4bXoFF0T9Xt8NX-pyEfte2cTYi7geLAhQC to UYD9C8IEkWVi83ef4zwO1Ump2B8cP9Nd5WECjU8l3AUC (#10083)
flutter/engine@cf5d76c17 [fuchsia] Add support for libs in packages (#10081)
flutter/engine@c4c64896a Roll src/third_party/skia 829144cc76fe..d15571af2e1b (2 commits) (#10080)
flutter/engine@25e5d597e Roll fuchsia/sdk/core/linux-amd64 from S_24mhItBb7pfUof8zsJPPSctC7xdlfjDEXEtyO25GYC to kU0OwJYlceN477ejdh9RXrl7Mp-wUTNvQozlaV96xmQC (#10079)
flutter/engine@f7e0614b8 Change ParagraphBuilder to replace the parent style's font families with the child style's font families (#10074)
flutter/engine@eb74f2ce7 One more luci fix (#10078)
flutter/engine@6e732c7f1 Change flutter runner target for LUCI (#10075)
flutter/engine@44ec59b70 Roll src/third_party/dart fedd74669a..9c148623c5 (70 commits) (#10066)
flutter/engine@abf93699f Basic structure for flutter_jit_runner far (#10073)
flutter/engine@3c76b90b2 Track clusters and return cluster boundaries in getGlyphPositionForCoordinates (emoji fix) (#10063)
flutter/engine@e8fb641f6 Enable consts from environment in DDK for flutter_web (#10069)
flutter/engine@bd3870219 [macos] Revert check on FlutterCodecs and refactor message function] (#10009)
flutter/engine@d6e1a93e2 Roll src/third_party/skia e11dfd3da4d7..829144cc76fe (4 commits) (#10072)
flutter/engine@d595af681 Roll fuchsia/sdk/core/linux-amd64 from XqtWTBni4xpYCTr7gqU7rFTuXNY1TZ_zOqBJrZM8c_kC to S_24mhItBb7pfUof8zsJPPSctC7xdlfjDEXEtyO25GYC (#10071)
2019-07-24 22:44:12 -07:00
Jonah Williams 15e322c0e5
Expose build-dir config option (#36773) 2019-07-24 12:13:51 -07:00
sjindel-google 6e963b9985
Remove flaky check for analyzer message. (#36832) 2019-07-24 20:21:31 +02:00
Ian Hickson e8d7306828
Some minor cleanup for flutter_tools (#36569) 2019-07-24 10:58:09 -07:00
Zachary Anderson 6fe45fb1ac
[flutter_tool] Improve Windows flutter clean error message (#36784) 2019-07-24 10:56:06 -07:00
Jonah Williams 3b4d9f6780
more resident runner verification tests (#36595) 2019-07-23 15:38:52 -07:00
Jonah Williams 694d54ccac
Place build outputs under dart tool (#36585) 2019-07-23 15:36:55 -07:00
Jonah Williams 14aa4d0a45
fix analytics reporting test (#36556) 2019-07-23 11:02:02 -07:00
Emmanuel Garcia 242a4225a1
Flutter build aar (#36732)
`flutter build aar`

This new build command works just like `flutter build apk` or `flutter build appbundle`, but for plugin and module projects.

This PR also refactors how plugins are included in app or module projects. By building the plugins as AARs, the Android Gradle plugin is able to use Jetifier to translate support libraries into AndroidX libraries for all the plugin's native code. Thus, reducing the error rate when using AndroidX in apps.

This change also allows to build modules as AARs, so developers can take these artifacts and distribute them along with the native host app without the need of the Flutter tool. This is a requirement for add to app.

`flutter build aar` generates POM artifacts (XML files) which contain metadata about the native dependencies used by the plugin. This allows Gradle to resolve dependencies at the app level. The result of this new build command is a single build/outputs/repo, the local repository that contains all the generated AARs and POM files.

In a Flutter app project, this local repo is used by the Flutter Gradle plugin to resolve the plugin dependencies. In add to app case, the developer needs to configure the local repo and the dependency manually in `build.gradle`:


repositories {
    maven {
        url "<path-to-flutter-module>build/host/outputs/repo"
    }
}

dependencies {
    implementation("<package-name>:flutter_<build-mode>:1.0@aar") {
       transitive = true
    }
}
2019-07-23 09:27:42 -07:00
Emmanuel Garcia c9b466f9e2
Revert "Add flutter build aar (#35217)" (#36731)
This reverts commit 11460b8378.
2019-07-22 22:07:59 -07:00
Emmanuel Garcia 11460b8378
Add flutter build aar (#35217)
`flutter build aar`

This new build command works just like `flutter build apk` or `flutter build appbundle`, but for plugin and module projects.

This PR also refactors how plugins are included in app or module projects. By building the plugins as AARs, the Android Gradle plugin is able to use Jetifier to translate support libraries into AndroidX libraries for all the plugin's native code. Thus, reducing the error rate when using AndroidX in apps.

This change also allows to build modules as AARs, so developers can take these artifacts and distribute them along with the native host app without the need of the Flutter tool. This is a requirement for add to app.

`flutter build aar` generates POM artifacts (XML files) which contain metadata about the native dependencies used by the plugin. This allows Gradle to resolve dependencies at the app level. The result of this new build command is a single build/outputs/repo, the local repository that contains all the generated AARs and POM files.

In a Flutter app project, this local repo is used by the Flutter Gradle plugin to resolve the plugin dependencies. In add to app case, the developer needs to configure the local repo and the dependency manually in `build.gradle`:


repositories {
    maven {
        url "<path-to-flutter-module>build/host/outputs/repo"
    }
}

dependencies {
    implementation("<package-name>:flutter_<build-mode>:1.0@aar") {
       transitive = true
    }
}
2019-07-22 20:46:01 -07:00
Jonah Williams e5ea996a1f
disable flaky windows test (#36722) 2019-07-22 18:14:43 -07:00
Jonah Williams 3fedb8cb5a
Reland: use flutter features for web and desktop (#36699) 2019-07-22 15:34:03 -07:00
Danny Tuppeny d42d0c5171
Re-enable flutter test expression evaluation tests (#36431)
Plus:

- Resume the app being run after expression has been evaluated to prevent the test run being forcefully terminated because it didn't end
- Skip non-JSON when waiting for JSON (eg. when running in verbose mode for debugging locally)
- Pass defaultTimeout in waitForJson (otherwise the assert in _timeoutWithMessages fails when it's not provided)

Closes https://github.com/flutter/flutter/issues/26518 (the original reason for skip was fixed in https://github.com/dart-lang/sdk/issues/34224).
2019-07-22 19:43:37 +01:00
Jonah Williams 8eae2dfb92
Revert "Use FlutterFeatures to configure web and desktop devices (#36465)" (#36654)
This reverts commit bd52a78c71.
2019-07-21 21:47:43 -07:00
Jonah Williams bd52a78c71
Use FlutterFeatures to configure web and desktop devices (#36465) 2019-07-21 18:21:15 -07:00
Zachary Anderson 76cbbeb627
[flutter_tool] Send the local time to analytics with screens and events (#36545) 2019-07-19 14:54:18 -07:00
Jonah Williams 6830edd0be
Clean up flutter driver device detection. (#36434) 2019-07-19 14:48:17 -07:00
Christopher Fujino 9bd2e4000b
Throw exception if instantiating IOSDevice on non-mac os platform (#36288) 2019-07-19 12:20:45 -07:00
Dan Field c953cd19d2
Enable bitcode compilation for AOT (#36471) 2019-07-18 22:42:47 -07:00
Zachary Anderson 82a4ba40bb
[flutter_tool] Send analytics command before the command runs (#36490) 2019-07-18 18:05:44 -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
Emmanuel Garcia 5a34e7981e
Catch exceptions thrown by runChecked* when possible (#36109) 2019-07-18 10:45:37 -07:00
Jonah Williams 757b5365fa
Add missing test case for Usage (#36379) 2019-07-18 10:41:13 -07:00
Jonah Williams 1957c66300
add testing to screenshot and printDetails method (#36418) 2019-07-18 10:40:40 -07:00
Christopher Fujino 42a9c031e5
Fix invocations of ideviceinstaller not passing DYLD_LIBRARY_PATH (#36327)
* add failing tests

* fix tests

* be more specific with try-catch

* add further mocking to get tests to pass again

* fix analyzer failure
2019-07-17 13:44:49 -07:00
xster 03220cacd1
Make sure add-to-app build bundle from outer xcodebuild/gradlew sends analytics (#36122) 2019-07-17 11:17:04 -07:00
Todd Volkert 57efab6e58
FakeHttpClientResponse improvements (#36289)
Update `FakeHttpClientResponse` to be impervious to Dart SDK
changes to the `HttpClientResponse` stream type (between `List<int>`
and `Uint8List`).
2019-07-17 08:42:12 -07:00
Jonah Williams 36c37ccab5
Implement feature flag system for flutter tools (#36138) 2019-07-16 17:33:28 -07:00
Todd Volkert aa9a115181
Move reporting files to reporting/ (#36017)
Slight cleanup of file locations in flutter_tools
to make it easier to see which files are responsible
for data reporting.
2019-07-16 13:21:06 -07:00
Christopher Fujino 540c747656
Revert "Keep LLDB connection to iOS device alive while running from CLI. (#36194)" (#36293)
This reverts commit 5501a1c1e7.
2019-07-16 12:34:49 -07:00
sjindel-google 5501a1c1e7
Keep LLDB connection to iOS device alive while running from CLI. (#36194)
## Description

Instead of detaching from the spawned App process on the device immediately, keep the LLDB client connection open (in autopilot mode) until the App quits or the server connection is lost.

This replicates the behavior of Xcode, which also keeps a debugger attached to the App after launching it.

## Tests

This change will be covered by all running benchmarks (which are launched via "flutter run"/"flutter drive"), and probably be covered by all tests as well.

I also tested the workflow locally -- including cases where the App or Flutter CLI is terminated first.

## Breaking Change

I don't believe this should introduce any breaking changes. The LLDB client automatically exits when the app dies or the device is disconnected, so there shouldn't even be any user-visible changes to the behavior of the tool (besides the output of "-v").
2019-07-16 19:15:15 +02:00
Zachary Anderson fa65ddf51d
[flutter_tool] Allow analytics without a terminal attached (#36208) 2019-07-16 09:48:49 -07:00
chunhtai 1166015931
Enable widget load assets in its own package in test (#35991) 2019-07-16 09:47:42 -07:00
Jonah Williams b257c33b69
Use DeviceManager instead of device to determine if device supports project (#36213) 2019-07-15 16:10:39 -07:00
Jonah Williams 6b17840cbf
Don't try to flutterExit if isolate is still paused (#36199) 2019-07-15 15:44:58 -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 e3ee5c6bbb
Add better handling of JSON-RPC exception (#36082) 2019-07-13 16:02:09 -07:00
Ian Hickson d919e694b8
Move tools tests into a general.shard directory in preparation to changing how we shard tools tests (#36108) 2019-07-13 11:51:44 -07:00
Zachary Anderson 13382f41c0
[flutter_tool] Catch a yaml parse failure during project creation (#36105) 2019-07-12 23:24:04 -07:00
Christopher Fujino e91822da24
Revert "Bundle ios dependencies (#34669)" (#36071)
This reverts commit 14d489adc5.
2019-07-12 09:03:34 -07:00
Jonah Williams 7b150f81c5
move reload and restart handling into terminal (#35846) 2019-07-12 08:48:14 -07:00
Christopher Fujino 14d489adc5
Bundle ios dependencies (#34669)
This updates the flutter tool to cache binary files for ideviceinstaller, ios-deploy, libimobiledevice, and dynamically linked dependencies from Flutter's GCP bucket.
2019-07-12 08:36:18 -07:00
Jonah Williams e91b98a41f
Add initial implementation of flutter assemble (#32816) 2019-07-11 16:53:17 -07:00
Jonah Williams adf45d1e40
Refactor signal and command line handler from resident runner (#35406) 2019-07-09 13:10:26 -07:00
chunhtai a76e39f984
Rendering errors with root causes in the widget layer should have a reference to the widget (#32511) 2019-07-09 10:18:30 -07:00
Alexandre Ardhuin b041a589c8
enable lint prefer_if_null_operators (#35745) 2019-07-09 10:53:35 +02:00
Jenn Magder 559c9982dd
UIApplicationLaunchOptionsKey -> UIApplication.LaunchOptionsKey (#35763) 2019-07-08 16:55:27 -07:00
Jonah Williams 1e26c41f17
Remove web, fuchsia, and unsupported devices from all (#35709) 2019-07-08 15:58:38 -07:00
Jonah Williams 34467289d6
Add timer checking and Fake http client to testbed (#35392) 2019-07-08 10:04:48 -07:00
Jonah Williams e6a7419603
disable a test case in xcode_backend.sh (#35708) 2019-07-08 08:04:48 -07:00
Todd Volkert 3bf91b5436
Prepare for Socket implements Stream<Uint8List> (#35646)
An upcoming change in the Dart SDK changes `Socket` from
implementing `Stream<List<int>>` to implementing `Stream<Uint8List>`.
This forwards-compatible change in flutter_tools prepares for that
Dart SDK change.

https://github.com/dart-lang/sdk/issues/36900
2019-07-05 12:59:32 -07:00
Jonah Williams b8597f0a7e
Move usage flutter create tests into memory filesystem. (#35160) 2019-07-03 10:49:33 -07:00
Todd Volkert 4cd12fc8b7
Mark update-packages as non-experimental (#35467)
Marking it as experimental was breaking tests and packaging
scripts on stable branches.
2019-07-02 18:24:25 -07:00
Jonah Williams 556e374e02
fix default artifacts to exclude ios and android (#35303) 2019-07-02 17:40:55 -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
stuartmorgan d6bd1c0584
Add --target support for Windows and Linux (#34660)
- Adds desktop projects to ApplicationPackageStore
- Plumbs target overrides through the desktop builds
2019-07-01 14:49:34 -07:00
Zachary Anderson 97127730f2
[flutter_tool] Fill in Fuchsia version string (#34516) 2019-06-28 12:12:53 -07:00
David Shuckerow df6e4d4872
Make it possible to override the FLUTTER_TEST env variable (#34301)
* Make it possible to override the FLUTTER_TEST env variable without unsetting it.

* Switch to using platform instead of Platform.

* Document the bindings, and introduce tests that initialize multiple WidgetsBindings with different environments.

* Add tests for the flutter platform test.

* Add license headers

* Fix lints

* Remove trailing whitespace

* Respond to Jonahs comments

* Respond to Ians comments

* Mock out the HttpServer in flutter_platform_test

* Mock out the HttpServer in flutter_platform_test

* Explain why we mock out the HttpServer in flutter_platform_test
2019-06-28 10:37:27 -07:00
Jonah Williams a1d3edc446
Twiggle bit to exclude dev and beta from desktop and web (#35221) 2019-06-27 19:04:02 -07:00
Jonah Williams c9b283386b
ensure test isolate is paused before collecting coverage (#35188) 2019-06-27 13:50:47 -07:00
Alexandre Ardhuin 919dcf53f3
enable lints prefer_spread_collections and prefer_inlined_adds (#35189) 2019-06-27 21:23:16 +02:00
Jonah Williams a0b2878e76
Make tool coverage collection resilient to sentinel coverage data (#35186) 2019-06-27 11:17:58 -07:00
Jonah Williams 8532f4d08e
Allow multi-root web builds (#34896)
* fix multiroot builds

* remove shout

* add basic test

* Update web_compilation_delegate.dart

* Address review feedback

* Update multiroot_asset_reader_test.dart

* Update multiroot_asset_reader_test.dart

* remove unpassable test

* fix for windows

* facepalm
2019-06-27 06:01:41 -07:00
Todd Volkert 883d6eadcb
More HttpClientResponse implements Stream<Uint8List> fixes (#35149)
https://github.com/dart-lang/sdk/issues/36900
2019-06-26 16:56:10 -07:00
Jonah Williams 33ad5bac34
Attempt to enable tool coverage redux (#35074) 2019-06-26 16:02:49 -07:00
Dan Field bb79ff3b49
More shards (#34877)
Shard tool_tests
2019-06-26 13:55:16 -07:00
Lau Ching Jun c8cefce300
Move findTargetDevices to DeviceManager (#35084)
This allows us to override the behavior internally.
2019-06-26 10:09:14 -07:00
Danny Tuppeny f3be1d9d95
Add emulatorID field to devices in daemon (#34794)
* Add emulatorId to Android and iOS emulator devices

* Update docs

* Review tweaks

* Add tests for AndroidConsole for getting avd names

* Remove unused import

* Remove duplicated header

* Fix imports
2019-06-26 16:39:23 +01:00
Alexandre Ardhuin c7408be181
prepare for lint update of prefer_final_fields (#35059) 2019-06-25 19:39:34 +02:00
Emmanuel Garcia 2cf8213468
Break down flutter doctor validations and results (#34624) 2019-06-25 10:22:08 -07:00
Jonah Williams 25b5656969
Reland: rename web device (#34885) 2019-06-24 11:09:07 -07:00
Danny Tuppeny 8dbfc82bc7
Tweak the display name of emulators (#34785) 2019-06-24 11:41:02 +01:00
Todd Volkert bb6c3f8131
Remove flutter_tools support for old AOT snapshotting (#34895)
Android now exclusively uses ELF shared libraries, and
iOS uses assembly.
2019-06-22 19:30:24 -07:00
Jonah Williams d644015620
Revert "set web device name to Chrome (#34856)" (#34884) 2019-06-21 15:04:44 -07:00
Jonah Williams 19d7925f1f
set web device name to Chrome (#34856) 2019-06-21 14:26:25 -07:00
Jonah Williams 25a3121dfd
Prefer ephemeral devices from command line run (#34802) 2019-06-20 14:33:58 -07:00
Jenn Magder fa491fc9fe
Close platform when tests are complete (dispose compiler and delete font files) (#34685) 2019-06-20 08:47:54 -07:00
Jonah Williams b9932d55e7
Add linux doctor implementation (#34755) 2019-06-20 08:20:57 -07:00
Jonah Williams 830fb38640
Revert "Add basic desktop linux checks (#31873)" (#34753)
This reverts commit f221ad1f92.
2019-06-19 16:03:05 -07:00
Jonah Williams f221ad1f92
Add basic desktop linux checks (#31873) 2019-06-19 15:51:21 -07: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 0d9a1b201e
Remove environment variable guards for command line desktop and web (#33867) 2019-06-19 13:39:27 -07:00
Jonah Williams 7851a75183
Fix NPE in flutter tools (#34725) 2019-06-19 11:43:06 -07:00
Jonah Williams 0d4f4bddb6
Don't crash on invalid .packages file in initial run(#34527) 2019-06-19 10:52:23 -07:00
Jonah Williams 49449505b6
Check whether FLUTTER_ROOT and FLUTTER_ROOT/bin are writable. (#34291) 2019-06-19 09:12:43 -07:00
Danny Tuppeny d9983e1be7
Add category/platformType to emulators (#34721) 2019-06-19 17:10:39 +01:00
Jonah Williams 7472fad194
Remove most of the target logic for build web, cleanup rules (#34589) 2019-06-18 17:04:11 -07:00
Jonah Williams 5c52498d4e
Add device category, ephemeral, platformType for daemon (#33990) 2019-06-18 15:23:14 -07:00
Jonah Williams 73330e1241
Remove compilation trace and dynamic support code (#34529) 2019-06-18 15:22:04 -07:00
Jenn Magder 8be46a0c4a
Kill compiler process when test does not exit cleanly (#34616) 2019-06-18 11:24:19 -07:00
stuartmorgan cc541e6724
Add missing pieces for 'driver' support on macOS (#34376)
- Adds desktop projects to ApplicationPackageStore
- Plumbs target overrides through the macOS build
2019-06-18 11:14:46 -07:00
Jonah Williams a772d4d314
retry on HttpException (#34526) 2019-06-17 10:48:01 -07:00
Josh Burton 07dc236237 Handles parsing APK manifests with additional namespaces or attributes (#34535) 2019-06-16 00:18:38 -07:00
Zachary Anderson dfecafa4ab
[flutter_tool,fuchsia] Update the install flow for packaging migration. (#34447) 2019-06-14 09:46:23 -07:00
Todd Volkert 530824f423
Skip flaky test on Windows (#34464)
https://github.com/flutter/flutter/issues/34446
2019-06-13 17:56:07 -07:00
Emmanuel Garcia afdc783ce5
Report commands that resulted in success or failure (#34288)
This is added as a dimension cd26
2019-06-13 10:27:23 -07:00
Todd Volkert 8163c0aebb
Re-apply compressionState changes. (#34341)
This re-applies the changes that were made in #33697 and #33729,
but which were reverted in #33792 and #33790, respectively due to
the Dart SDK not having received the update within Google yet.
The SDK has now rolled, so these changes can be re-applied.

https://github.com/flutter/flutter/issues/32374
https://github.com/flutter/flutter/issues/33791
2019-06-12 13:47:47 -07:00
Zachary Anderson 22ca3f96ca
[flutter_tool] Don't truncate verbose logs from _flutter.listViews (#34255) 2019-06-12 11:18:53 -07:00
Todd Volkert fb2f18e7e8
Prepare for Uint8List SDK breaking changes (#34295)
https://github.com/dart-lang/sdk/issues/36900
2019-06-12 10:22:50 -07:00
Emmanuel Garcia d9c1962973
Instrument usage of include_flutter.groovy and xcode_backend.sh (#34189)
This is done via `flutter build bundle`.   As a consequence, this PR introduces a new way to disable analytics via the `FLUTTER_SUPPRESS_ANALYTICS` env flag.
2019-06-11 14:46:00 -07:00
Jason Simmons 89d887f331
Strip debug symbols from ELF library snapshots (#34250)
AOT compiled code is now packaged as an ELF library for Android targets.
By default gen_snapshot's output contains debug symbols.  The symbols could
be stripped as a separate step, but that requires NDK tools that the user
may not have available.

This change passes a gen_snapshot flag that omits the symbols, and it filters
out a warning printed when that flag is used.
2019-06-11 13:34:24 -07:00
Ben Konyi e59d9a815d
Reland "Added --dart-flags option to flutter run (#33924)" (#34181)
Reland "Added --dart-flags option to flutter run (#33924)"

This reverts commit 587687eedf.
2019-06-11 11:37:47 -07:00
Todd Volkert 1b3fc53595
Consider all non-interactive terminals to be bots (#34179) 2019-06-10 16:32:08 -07:00
Jonah Williams f530b809b6
Reland: More verification on flutter build web, add tests and cleanup (#34173) 2019-06-10 15:37:23 -07:00
Jenn Magder c8bf7abeee
Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#34167)
Updates the Podfile template to use the CocoaPod disable_input_output_paths installation option which prevents the [CP] Embed Pods Frameworks build phase from outputting the Flutter.framework files.
2019-06-10 14:30:28 -07:00
Emmanuel Garcia 8627ff433b
Allow multi-abi shared libraries in APKs and App bundles (#34123)
* Gradle generates ELF shared libraries instead of AOT snapshots.
* `flutter build apk/appbundle` supports multiple `--target-platform` and defaults to `android-arm` and `android-arm64`.
* `flutter build apk` now has a flag called `--split-per-abi`.
2019-06-10 13:16:09 -07:00
Jonah Williams 71bfe3be9f
Revert "More verification on flutter build web, add tests and cleanup (#34090)" (#34166) 2019-06-10 12:01:14 -07:00
Jonah Williams 354ce1aa5a
More verification on flutter build web, add tests and cleanup (#34090) 2019-06-10 11:27:25 -07:00
Alexander Aprelev d91797807e
Report async callback errors that currently go unreported. (#34081)
* Report async callback errors that currently go unreported.
* Add a test
2019-06-10 09:52:22 -07:00
Jonah Williams f8f7b89976
Revert "Generate ELF shared libraries and allow multi-abi libs in APKs and App bundles (#33696)" (#34121) 2019-06-08 18:43:25 -07:00
Emmanuel Garcia 966b15b4a4
Generate ELF shared libraries and allow multi-abi libs in APKs and App bundles (#33696)
* Gradle generates ELF shared libraries instead of AOT snapshots.
* `flutter build apk/appbundle` supports multiple `--target-platform` and defaults to `android-arm` and `android-arm64`.
*  `flutter build apk` now has a flag called `--split-per-abi`.
2019-06-08 18:02:32 -07:00
Jonah Williams 587687eedf
Revert "Added --dart-flags option to flutter run (#33924)" (#34092) 2019-06-07 19:33:14 -07:00
Ben Konyi 67a529b895
Added --dart-flags option to flutter run (#33924) 2019-06-07 18:53:42 -07:00
Jonah Williams 317e4cb013
don't warn on CHROME_EXECUTABLE missing if we've already located it. (#34079) 2019-06-07 18:16:54 -07:00
Josh Burton 9223a44b8a Adds the androidX flag to a modules pubspec.yaml template so it is se… (#34066)
This is a small follow up to the previous AndroidX PR: https://github.com/flutter/flutter/pull/31028

This fixes an issue mentioned [here](https://github.com/flutter/flutter/issues/28805) where the androidX flag for a module is not set when creating a new project:

`flutter create --androidx -t module my_flutter`
2019-06-07 16:09:21 -07:00
Jonah Williams c91b657116
Codegen an entrypoint for flutter web applications (#33956) 2019-06-06 21:05:55 -07:00
stuartmorgan fb8df82c06
Add 'doctor' support for Windows (#33872)
Moves the logic for finding vcvars64.bat to a new VisualStudio class
that encapsulates finding, and providing information about, VisualStudio
installations. Adds a validator for it, and runs it for Windows
workflows in doctor.
2019-06-06 14:02:27 -07:00
Alexander Aprelev 30dbc4c767
Whitelist adb.exe heap corruption exit code. (#33951)
* Whitelist adb.exe heap corruption exit code.

In android platform tools 29.0.0 adb.exe shell seems to be exiting with heap corruption exit code, otherwise producing results as expected. This PR whitelists this exit code on Windows.

Fixes https://github.com/flutter/flutter/issues/33938.

* Fix condition

* Fix 'shell am start' command

* Fix stop command

* Refactor into runAdbMostlyChecked(Sync/Async)

* runAdbMostlyChecked -> runAdbChecked
2019-06-06 12:01:03 -07:00
Zachary Anderson 5555725fe3
[flutter_tool] Fix 'q' for Fuchsia profile/debug mode (#33846) 2019-06-06 11:16:19 -07:00
Jonah Williams 7548614350
Prevent windows web doctor from launching chrome (#33874) 2019-06-05 15:16:50 -07:00
Jonah Williams 50ea6f32d3
add benchmarks to track web size (#33892) 2019-06-05 12:40:21 -07:00
Jenn Magder 035e3d37d7
Revert "Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33852)" (#33882)
This reverts commit d053fe5cb3.
2019-06-04 15:35:35 -07:00
Jenn Magder d053fe5cb3
Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33852)
Updates the Podfile template to use the CocoaPod disable_input_output_paths installation option which prevents the [CP] Embed Pods Frameworks build phase from outputting the Flutter.framework files.
2019-06-04 12:17:57 -07:00
Jonah Williams 83986acbdb
Add a real-er web restart, doctor, workflow (#33786) 2019-06-03 23:19:42 -07:00
Jenn Magder 9734f4ed43 Revert "Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33684)"
This reverts commit ef792fc30d.
2019-06-03 17:19:53 -07:00
Jenn Magder ef792fc30d
Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33684)
Updates the Podfile template to use the CocoaPod disable_input_output_paths installation option which prevents the [CP] Embed Pods Frameworks build phase from outputting the Flutter.framework files.
2019-06-03 16:11:33 -07:00
Todd Volkert 52fc807dd2
Remove references to HttpClientResponseCompressionState (#33792)
https://github.com/flutter/flutter/issues/33791
2019-06-03 14:53:43 -07:00
Dan Field 639c9935ae
wire in fuchsiaApp (#33781) 2019-06-03 14:31:56 -07:00
Chris Bracken 98ea501995
Revert "Add real-er restart for web using webkit inspection protocol (#33629)" (#33703)
Revert "fix devicelab manfiest (#33698)"

This reverts commit 5a6a00dc54.
This reverts commit 0d79f0fc79.
2019-05-31 21:53:30 -07:00
Chris Bracken 2467c528f5
Roll engine 69ebe5fb28fc..a4b7d1c2895d (3 commits) (#33697)
69ebe5fb28..68a3ca46b4

git log 69ebe5fb28fca271b23010d43d4dc7f6e5286c4f..a4b7d1c2895d82228705a021cdb7fdb2f71ac2a5 --no-merges --oneline
4c6253cdd Copy the macOS podspec during builds (#9158)
68a3ca46b Roll src/third_party/dart 445a23a9bc..0e6b74543c (29 commits) (#9159)
1d1cff1fa Roll src/third_party/skia 3cd435eecf5e..09f5aedf2cc8 (3 commits) (#9160)

The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop
the roller if necessary.
2019-05-31 21:17:43 -07:00
Josh Burton d0e45a2369 Adds support for generating projects that use AndroidX support libraries (#31028) 2019-05-31 18:33:02 -07:00
Jonah Williams 5a6a00dc54
Add real-er restart for web using webkit inspection protocol (#33629) 2019-05-31 17:37:01 -07:00
stuartmorgan 3ebebebb8d
Implement plugin tooling support for macOS (#33636)
Enables the CocoaPods-based plugin workflow for macOS. This allows a
macOS project to automatically fetch and add native plugin
implementations via CocoaPods for anything in pubspec.yaml, as is done
on iOS.
2019-05-31 13:19:44 -07:00
Jonah Williams 27876e09be
Revert "Devfs cleanup and testing (#33374)" (#33673)
This reverts commit 445505d6f2.
2019-05-31 13:17:12 -07:00
Jonah Williams 445505d6f2
Devfs cleanup and testing (#33374) 2019-05-30 16:13:46 -07:00
Jonah Williams 7263c127ed
Add local overrides to testbed and provide more defaults (#33264) 2019-05-29 22:49:53 -07:00
Jonah Williams da600bacfe
Reland - Wire up hot restart and incremental rebuilds for web (#33533) 2019-05-29 22:46:28 -07:00
Emmanuel Garcia 3bbdf017c4
Add to app measurement (#33458) 2019-05-29 20:56:28 -07:00
Jason Simmons 311cde98a6
Reland "Clean up some flutter_tools tests and roll dependencies" (#33225)
This relands flutter/flutter#33163 with a fix to the integration_ui test.
2019-05-29 19:04:35 -07:00
Zachary Anderson b84ac50dfe
[flutter_tool] Misc. fixes for Fuchsia (#33466) 2019-05-29 15:37:07 -07:00
stuartmorgan 79ae04d4ed
Build the solution on Windows (#33528)
Switch from building Runner.vcxproj to Runner.sln on Windows, to allow
for multiple-project builds (e.g., separate plugin projects).
2019-05-29 13:17:23 -07:00
Jonah Williams 925f5f1c53
Revert "Wire up hot restart and incremental rebuilds for web (#33197)" (#33529)
This reverts commit 52ae99682e.
2019-05-29 12:09:01 -07:00
Zachary Anderson 8139a368ea
[flutter_tool] Use product runner in Fuchsia release build (#33282) 2019-05-29 10:08:58 -07:00
Jonah Williams 52ae99682e
Wire up hot restart and incremental rebuilds for web (#33197) 2019-05-29 09:49:16 -07:00
stuartmorgan aecf053ee0
Use vswhere to find Visual Studio (#33448)
Rather than hard-coding a set of locations to check, use vswhere (which
is installed by VS 2017 and later), and construct the vcvars64.bat path
relative to that. This will allow Windows builds to work without special
configuration for people who have VS installed at a custom path.

Also adds error logging with different messages for each failure point,
so that rather than the not-very-informative 'failed to find
vcvars64.bat' message, the failure will provide feedback about what to
do.

This is an interim solution; later this will be replaced by a
VisualStudio class with associated validator to match the structure of
the other toolchains.

Fixes #33249
2019-05-29 09:17:17 -07:00
stuartmorgan e1a784ae3f
Wrap Windows build invocation in a batch script (#33443)
Invoking msbuild with runInShell makes handling path escaping more
error-prone, and substantially increases the chances of running into
maximum path limits. This replaces the direct call with a .bat wrapper
that calls vsvars64.bat then msbuild, and uses relative paths within the
script to keep command lengths short.

Fixes https://github.com/flutter/flutter/issues/32792
2019-05-28 21:53:03 -07:00
Jonah Williams 8e3e0a89f4
Revert "Instrument add to app flows (#33297)" (#33449)
This reverts commit faec4ca361.
2019-05-28 12:52:58 -07:00
Emmanuel Garcia faec4ca361
Instrument add to app flows (#33297) 2019-05-28 11:11:20 -07:00
stuartmorgan 81c38b22cb
Implement macOS support in flutter doctor (#33277)
Splits Xcode validation out of the iOS validator and into a stand-alone
validator, and groups the CocoaPods validator with that top-level
validator instead of the iOS validator. iOS now validates only the
iOS-specific tools (e.g., ideviceinstaller).

Reorganizes many of the associated clases so that those that are used by
both macOS and iOS live in macos/ rather than ios/. Moves some
validators to their own files as part of the restructuring.

This is the macOS portion of #31368
2019-05-24 22:51:02 -04:00
Chris Bracken 156b4220b4
Americanise spellings (#33323)
Updates documentation and non-public API to use American spellings for
consistency with the rest of the codebase.

No changes to behaviour... other than how it's spelt.
2019-05-24 19:13:02 -07:00
Chris Bracken 4d9923201b
Correct typos (#33322)
Corects a bnuch of typeos throuhgout teh Fluter codebsae.

Made use of the `misspell` tool:
https://github.com/client9/misspell
2019-05-24 19:12:45 -07:00