Commit Graph

3178 Commits

Author SHA1 Message Date
Jonah Williams
388d69eb9b
Catch errors thrown into the Zone by json_rpc (#38486) 2019-08-14 13:10:41 -07:00
Jonah Williams
ec41ef5bf8
update build_runner and configure libraries (#38499) 2019-08-14 10:00:42 -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
Jonah Williams
ca5411e3aa
Fix type error hidden by implicit downcasts (#38102) 2019-08-12 15:21:28 -07:00
Lau Ching Jun
cdefbef3ce
Remove no-constant-update-2018, the underlying issue has been resolved. (#37994) 2019-08-12 10:42:01 -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
liyuqian
218b113343
Listen to ExtensionEvent instead of TimelineEvent (#37900)
TimelineEvents may not be sent if there aren't enough to form a group.
Hence we should always use ExtensionEvent as the trigger.

See also https://github.com/flutter/flutter/pull/37503
2019-08-08 18:43:33 -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
Mehmet Fidanboylu
41cc80c5be
Expose the timeline event names so they can be used in other systems that do tracing (#37863) 2019-08-08 15:23:08 -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
Emmanuel Garcia
6fb0325dd6
Remove dead flag (#37752) 2019-08-07 10:10:39 -07:00
Christopher Fujino
39a04dcd7f
Support macOS Catalina-style signing certificate names (#37733) 2019-08-07 09:18:11 -07:00
sjindel-google
0564f0a812
Tests for Engine ensuring debug-mode apps are attached on iOS. (#37043)
This PR contains the tests for flutter/engine#10186.
2019-08-06 20:08:09 +02:00
Jonah Williams
91b8dcbc90
fix windows path for dwds (#37658) 2019-08-06 10:03:42 -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
Liam Appelbe
0cd0c66021
Change priority of gen_snapshot search paths (#37647) 2019-08-06 08:45:08 -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
stuartmorgan
018d45dc06
Use macOS ephemeral directory for Pod env script (#37509)
On macOS, any file that isn't intended to be checked in should be in the
ephemeral directory.
2019-08-02 16:44:04 -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
Liam Appelbe
0cf4033404
Switch iOS gen_snapshot from multi-arch binary to multiple binaries (#37445)
* Switch iOS gen_snapshot from multi-arch binary to multiple binaries

* Make snapshotterPath mutable
2019-08-02 07:43:07 -07:00
Chinmay Garde
9ea78d4488
Revert "Remove multi-arch check in iOS builds (#37407)" (#37413)
This reverts commit 5809219509.
2019-08-01 11:43:32 -07:00
Liam Appelbe
5809219509
Remove multi-arch check in iOS builds (#37407)
* Remove multi-arch check in iOS builds

* Manual roll of https://github.com/flutter/engine/pull/10010
2019-08-01 11:16:21 -07:00
GroovinChip
ced207836b Improve Windows build failure message (#36845)
* Improve Windows build failure message

* Undo dartfmt to match source formatting

* Removed prompt to file new issue per PR change request
2019-08-01 10:32:38 -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
2b03e2089d
[flutter_tool] Add missing toString() (#37331) 2019-08-01 09:23:05 -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
liyuqian
e77237d6d3
Reland "Fix the first frame logic in tracing and driver (#35297)" (#37192)
This relands https://github.com/flutter/flutter/pull/35297

The followings have been done to fix the broken tests:
  1. Add `didSendFirstFrameRasterizedEvent` extension and its tests
  2. Wait for `didSendFirstFrameRasterizedEvent` instead of
     `didSendFirstFrameEvent` during start up tests
  3. Mark missed (probably newly added) start up tests as flaky
2019-07-31 11:01:52 -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
Jonah Williams
3068fc4f7c
Revert "Fix the first frame logic in tracing and driver (#35297)" (#37027)
This reverts commit 68fc7231b3.
2019-07-26 13:08:36 -07:00
liyuqian
68fc7231b3
Fix the first frame logic in tracing and driver (#35297)
This should fix https://github.com/flutter/flutter/issues/31442 and https://github.com/flutter/flutter/issues/34867
2019-07-26 09:38:12 -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
Jonah Williams
93f511cf77
Unbreak build_runner (#36884) 2019-07-24 16:12:56 -07:00
Matt Carroll
a7387b127d
Added demo projects for splash screen support on Android. (#35728) 2019-07-24 13:44:13 -07:00
Jonah Williams
40884af28e
check for directory instead of path separator (#36787) 2019-07-24 13:20:08 -07:00
Jonah Williams
15e322c0e5
Expose build-dir config option (#36773) 2019-07-24 12:13:51 -07:00
Jiahao
4de9b4461b
Parameterize CoverageCollector with a library name predicate (#36774)
An optimization to the coverage collection speed was added in #30811. This commit further expands on it to parameterize the CoverageCollector with a custom predicate, allowing internal use cases to filter the RPC calls to the Dart VM based on scripts of interest to coverage collection.
2019-07-24 10:58:37 -07: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
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
3fedb8cb5a
Reland: use flutter features for web and desktop (#36699) 2019-07-22 15:34:03 -07: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
Todd Volkert
e6128a0c14
Fix flutter pub -v (#36513)
When we were running `pub` within `flutter pub`, we were
unconditionally including the `--verbosity=warning` argument.
Then we were conditionally including `--verbose` if we were
running in verbose mode.  However, the former argument
supersedes the latter, and we were never able to run `pub`
in verbose mode.
2019-07-18 22:22:22 -07:00
Zachary Anderson
82a4ba40bb
[flutter_tool] Send analytics command before the command runs (#36490) 2019-07-18 18:05:44 -07:00
Jonah Williams
d1190b638f
remove unrelated code (#36481) 2019-07-18 16:49:39 -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
7b0cc5051b
release lock in flutter pub context (#36218) 2019-07-18 10:41:39 -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
Tim Sneath
07735578af
Fix spelling error and clarify universal flag (#36331) 2019-07-17 10:46:48 -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