Commit graph

289 commits

Author SHA1 Message Date
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
Ben Konyi 67a529b895
Added --dart-flags option to flutter run (#33924) 2019-06-07 18:53:42 -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
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
Jonah Williams a30ffb60ad
Revert "Clean up some flutter_tools tests and roll dependencies (#33163)" (#33206) 2019-05-22 12:20:02 -07:00