Commit graph

1514 commits

Author SHA1 Message Date
Dan Field 202c1b4224
Relax requirements around local engine, build hello_world with bitcode (#39357) 2019-08-28 10:27:01 -07:00
Zachary Anderson b7c714e84c
[flutter_tool] Use a timeout for xcode showBuildSettings (#39280) 2019-08-28 10:03:53 -07:00
xster 4640690d0f
let flutter build aar use a local engine (#39312) 2019-08-27 23:46:33 -07:00
Jonah Williams 55a1ba761d
Use output dir instead of specific paths in assemble rules (#39274) 2019-08-27 22:52:51 -07:00
Jonah Williams 23637844a3
fix source map loading and service protocol for flutter web (#39189) 2019-08-27 19:06:48 -07:00
Emmanuel Garcia 5353d5e877
Fid app bundle in Gradle 3.5 (#39126) 2019-08-27 17:08:02 -07:00
Zachary Anderson 91ae1409b9
[flutter_tool] Create a temp snapshot to run create_test.dart tests (#39338) 2019-08-27 14:28:03 -07:00
Jonah Williams 6f71ce26d6
Place terminalUi flag on terminal interface (#39214) 2019-08-27 14:20:51 -07:00
stuartmorgan 7407695816
Add profile support on macOS (#39264)
Fix some places where Debug/Release was treated as a binary switch.

Makes similar changes to Windows and Linux to simplify adding profile
support to those platforms in the future. This means `--profile` builds
will fail on Linux and Windows for now, but that's fine since they
aren't actually supported, and unlike `--release` don't provide useful
functionality at the native code level.

Also fixes 'stopApp' always using Debug on macOS, to avoid showing an
error when running Profile (or Release).

Fixes #33203
2019-08-26 16:30:30 -07:00
Jonah Williams 0f8b8c91a3
Kill resident runner on browser disconnect. (#39066) 2019-08-26 15:06:36 -07:00
Zachary Anderson e9bd2ef087
[flutter_tool] Some additional input validation for 'version' (#39136) 2019-08-26 12:12:50 -07:00
Christopher Fujino d1e0273ecb
refactor cocoapods validator to detect broken install (#38560) 2019-08-23 09:21:09 -07:00
Jonah Williams b2d19d2af5
Add support for macOS release/profile mode (3 of 3) (#38909) 2019-08-23 08:46:24 -07:00
Michael Thomsen 01a5d112d5
Make forward calls run interactively (#39052) 2019-08-23 11:16:30 +02:00
Mehmet Fidanboylu d921098dd4
Break dependency of tools/lib/src from lib/src/commands/ (#39072) 2019-08-22 21:14:03 -07:00
Jonah Williams 9818d2df3b
Add web workflow to default validators (#39006) 2019-08-22 09:30:19 -07:00
Zachary Anderson 663dc1d774
[flutter_tool] Teach crash reporter about HttpException (#39005) 2019-08-22 09:18:25 -07:00
Jonah Williams 33e7af728a
Dont throw StateError when calling assemble with bad target (#39000) 2019-08-21 23:44:39 -07:00
Jenn Magder 892d62f03a
Clean Xcode workspace during flutter clean (#38992) 2019-08-21 18:42:56 -07:00
∂ω∂ 4277f364ff flutter_tools/version: git log.showSignature=false (#38576) 2019-08-21 13:55:57 -07:00
Zachary Anderson 36e8b93d1c
[flutter_tool] Only send one crash report per run (#38925) 2019-08-21 13:07:52 -07:00
Zachary Anderson 3ceef86b9a
[flutter_tool] Handle crashes from doctor validators (#38920) 2019-08-21 11:15:02 -07:00
stuartmorgan 01530928f0
Add build warning for non-debug desktop builds (#38932)
When building in profile or release mode on desktop, add a prominent
warning that it's actually a debug build. This is to help address issues
with people being unaware of the current state of builds due to
following third-party guides rather than official documentation.

macOS is not included since PRs are in flight for macOS release support.
2019-08-20 20:16:29 -07:00
Jonah Williams 3b4ab4eb30
Throw error when hot reload enters bad state (#38907) 2019-08-20 14:30:03 -07:00
Zachary Anderson 398ac1f6c8
[flutter_tool] Remove some async file io (#38654) 2019-08-20 13:15:08 -07:00
Zachary Anderson 28bedb10da
[flutter_tool] Move http request close under try-catch (#38894) 2019-08-20 12:53:59 -07:00
Jonah Williams 2504a416bb
Create correctly structured framework for macOS (#38748) 2019-08-20 10:49:15 -07:00
Jonah Williams 700020fc6b
per file caching (#38869) 2019-08-20 10:40:02 -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 ae29174560
Handle compilation failures from web application (#38723) 2019-08-19 17:33:46 -07:00
Jonah Williams 7ed27b51a3
print service url when connecting to web applications (#38823) 2019-08-19 17:32:43 -07:00
Michael Thomsen 79d8967500
Fix publish cmd (#38490) 2019-08-19 08:02:13 +01:00
Todd Volkert c22ce95e15
Change from using defaults to plutil for Plist parsing (#38662)
We were using the `defaults` command-line utility to parse
Plist files, but it was never supported by Apple, and it
appears that in an upcoming OS release, it will be less likely
to work:

> WARNING: The defaults command will be changed in an upcoming
> major release to only operate on preferences domains. General
> plist manipulation utilities will be folded into a different
> command-line program.

Fixes https://github.com/flutter/flutter/issues/37701
2019-08-16 17:10:07 -07:00
Dan Field a3221667de
Kill dead code (#38652) 2019-08-16 10:10:23 -07:00
Todd Volkert 1d8deb1bb8
Handle case of a connected unpaired iOS device (#38629)
Fixes https://github.com/flutter/flutter/issues/36789
Fixes https://github.com/flutter/flutter/issues/37000

https://github.com/flutter/flutter/issues/36524
https://github.com/flutter/flutter/issues/24600
2019-08-15 17:59:37 -07:00
Jonah Williams 1df165ea13
Rename iOS arch for macOS release mode (macOS release mode 2 of 3) (#38645) 2019-08-15 17:38:35 -07:00
Jonah Williams 01feddbece
Support for macOS release mode (1 of 3) (#37425) 2019-08-15 16:36:45 -07:00
Zachary Anderson 0566971d29
[flutter_tool] Throw tool exit on malformed storage url override (#38637) 2019-08-15 14:59:46 -07:00
Zachary Anderson e24a27d374
[flutter_tool] Flip create language defaults to swift and kotlin (#38339) 2019-08-15 12:13:28 -07:00
Zachary Anderson a40ab895cf
[flutter_tool] Observatory connection error handling cleanup (#38353) 2019-08-15 12:13:03 -07:00
Alexander Aprelev f5dcbdab3a Increase pattern that matches operation duration. (#36392)
On Flutter HHH buildbot some operations that over a second: 4 digits for milliseconds, rather than 3 that are currently allowed.
2019-08-15 10:16:30 -07:00
Ingo Reinhart ed88d28d52 use common emulator/device list (#38296) 2019-08-15 10:13:18 -07:00
Jonah Williams 5ec039dd45
Don't reload if compilation has errors (#38586) 2019-08-15 09:08:19 -07:00
Dan Field 07f079a932
Improve bitcode check (#38587) 2019-08-14 23:30:26 -07:00
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