Commit Graph

295 Commits

Author SHA1 Message Date
Jonah Williams
c8b3c9b727 use IOOverrides to allow inject file system, write test, find bug (#40066) 2019-09-30 08:41:12 -07:00
Zachary Anderson
45f3c8d060 [flutter_tool] Report to analytics when the tool is killed by a signal (#41493)
* [flutter_tool] Report to analytics when the tool is killed by a signal

* Fix analyzer lint
2019-09-30 07:38:11 -07:00
Emmanuel Garcia
16d408a7a0 Reland #40810: Re-enable AAR plugins when an AndroidX failure occurred (#41160) 2019-09-24 16:16:22 -07:00
Alexandre Ardhuin
89427d672d add missing trailing commas in flutter_tools (#40968) 2019-09-24 08:06:09 +02:00
Emmanuel Garcia
2c8813c86c Revert "Re-enable AAR plugins when an AndroidX failure occurred (#40810)" (#41042)
This reverts commit 96482eeb5c.
2019-09-23 09:28:38 -07:00
Emmanuel Garcia
96482eeb5c Re-enable AAR plugins when an AndroidX failure occurred (#40810) 2019-09-20 08:28:52 -07:00
Zachary Anderson
8a33d2446d [flutter_tool] Remove the synchronous -showBuildSettings (#40435) 2019-09-16 07:51:50 -07:00
Zachary Anderson
e2340c641d [flutter_tool] Use curly braces around single statment control structures (#40446) 2019-09-13 14:51:35 -07:00
Emmanuel Garcia
f098de1fde Enable Proguard by default on release mode (#39986) 2019-09-10 17:22:55 -07:00
stuartmorgan
3948e8759e Allow specifying a project for Xcode getInfo (#39782)
Avoids unnecessarily breaking projects that have another .xcodeproj in
their macos/ directory, which worked until the addition of the getInfo
call.
2019-09-05 10:07:03 -07:00
Zachary Anderson
0f2af976a2 [flutter_tools] Add a timeout to another showBuildSettings command (#39579) 2019-09-05 09:50:46 -07:00
Zachary Anderson
b7c714e84c [flutter_tool] Use a timeout for xcode showBuildSettings (#39280) 2019-08-28 10:03:53 -07:00
Jenn Magder
892d62f03a Clean Xcode workspace during flutter clean (#38992) 2019-08-21 18:42:56 -07: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
Zachary Anderson
a40ab895cf [flutter_tool] Observatory connection error handling cleanup (#38353) 2019-08-15 12:13:03 -07:00
Jonah Williams
64add554d7 handle unexpected exit from frontend server (#38497) 2019-08-14 19:00:31 -07:00
Jonah Williams
2185825338 Catch FormatException caused by bad simctl output (#37958) 2019-08-10 00:57:23 -07:00
Zachary Anderson
a5d23d2a25 [flutter_tool] More gracefully handle Android sdkmanager failure (#37194) 2019-07-30 08:19:58 -07:00
Zachary Anderson
ef146f63bb [flutter_tool] Clean up usage events and custom dimensions (#36785) 2019-07-29 07:24:02 -07:00
Ian Hickson
e8d7306828 Some minor cleanup for flutter_tools (#36569) 2019-07-24 10:58:09 -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
Jonah Williams
6830edd0be Clean up flutter driver device detection. (#36434) 2019-07-19 14:48:17 -07:00
Dan Field
c953cd19d2 Enable bitcode compilation for AOT (#36471) 2019-07-18 22:42:47 -07:00
Todd Volkert
adb2aeebe3 Ensure that cache dirs and files have appropriate permissions (#28090)
This is a partial re-application of #24669, which was
reverted due to Fuchsia breakages.

https://github.com/flutter/flutter/issues/24413
2019-07-18 15:29:06 -07:00
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
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
Jonah Williams
e91b98a41f Add initial implementation of flutter assemble (#32816) 2019-07-11 16:53:17 -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
b8597f0a7e Move usage flutter create tests into memory filesystem. (#35160) 2019-07-03 10:49:33 -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
Jonah Williams
a1d3edc446 Twiggle bit to exclude dev and beta from desktop and web (#35221) 2019-06-27 19:04:02 -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
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
Jonah Williams
33ad5bac34 Attempt to enable tool coverage redux (#35074) 2019-06-26 16:02:49 -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
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
0d9a1b201e Remove environment variable guards for command line desktop and web (#33867) 2019-06-19 13:39:27 -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
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
Jonah Williams
587687eedf Revert "Added --dart-flags option to flutter run (#33924)" (#34092) 2019-06-07 19:33:14 -07:00