Commit graph

174 commits

Author SHA1 Message Date
Jenn Magder b8472f25ab
Update Maven URL to https (#52042) 2020-03-05 16:00:34 -08:00
Jonah Williams ee476a7bd1
Revert "[flutter_tools] Allow providing dart-defines to Android, iOS, macOS builds (#51714)" (#52041)
This reverts commit ee60eeea3e.
2020-03-05 12:51:42 -08:00
Jonah Williams ee60eeea3e
[flutter_tools] Allow providing dart-defines to Android, iOS, macOS builds (#51714) 2020-03-05 12:38:40 -08:00
Jonah Williams 08d079f6c2
[flutter_tools] wire up complete support for Dart obfuscation (#50509) 2020-02-27 08:58:33 -08:00
shihchanghsiungsonos 3f9d08a002
Fix the issue of Can't find \android\app${assetsDirectory} #50913 (#51158) 2020-02-22 17:06:01 -07:00
Jonah Williams 3cee8e0eb0
[flutter_tools] include depfile outputs in gradle outputs (#50877) 2020-02-20 13:24:36 -08:00
shihchanghsiungsonos ec9813a500
Fix the issue of Android add2app build fails on Android when assets are read-only (#50047) 2020-02-16 19:15:52 -08:00
Jonah Williams da4b5d68c4
[flutter_tools] support --split-debug-info option in android builds (#49650) 2020-02-05 17:45:24 -08:00
Dan Field 4b8efad99b
Font subset in the tool (#49737) 2020-02-04 20:34:24 -08:00
Emmanuel Garcia 2042c7d589 Make local-engine an input property (#49455) 2020-01-25 11:13:03 -08:00
Jonah Williams 3fe6668849
[flutter_tool] ensure extraGenSnapshotArguments are forwarded to gen_snapshot from Android builds (#47059) 2019-12-19 13:44:21 -08:00
Emmanuel Garcia 9884f9980f Change meaning of a plugin not supporting the android platform (#47015) 2019-12-17 19:48:01 -08:00
Jonah Williams bda9d90804
[flutter_tool] Reland: support --fast-start for Android applications (as an opt-in) (#46140) 2019-12-10 10:26:14 -08:00
Emmanuel Garcia f264d6c277
Allow plugins that don't support the Android platform (#46282) 2019-12-08 20:04:19 -08:00
Jenn Magder d01de941b9
Revert "Support --fast-start for Android applications (as an opt-in) (#45431)" (#46138)
This reverts commit 2a113165c0.
2019-12-04 18:12:57 -08:00
Jonah Williams 2a113165c0
Support --fast-start for Android applications (as an opt-in) (#45431) 2019-12-04 17:34:25 -08:00
Ian Hickson 449f4a6673
License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
Emmanuel Garcia b6e92003c8
Add .flutter-plugins-dependencies to the project, which contains the app's plugin dependency graph (#45379) 2019-11-22 15:02:20 -08:00
Jonah Williams df3505c1f3
Improve performance of build APK (~50%) by running gen_snapshot concurrently (#44534) 2019-11-19 11:26:07 -08:00
Jonah Williams 978fada33c
Refactor flutter.gradle to use assemble directly (#43876)
Removes multiple re-entrant calls of bundle and aot and replaces them with a single call to assemble. This restores full caching and will allow follow-up performance improvements when building multiple ABIs
2019-11-08 12:41:24 -08:00
Emmanuel Garcia 114150b791
Don't add x86 nor x64 when building a local engine in debug mode (#44302) 2019-11-06 15:22:54 -08:00
Emmanuel Garcia bb8cf609ec
Build local maven repo when using local engine (#44243) 2019-11-06 12:52:37 -08:00
Emmanuel Garcia ee032f67c7
flutter build aar should also build plugins as AARs (#43994) 2019-11-02 09:46:25 -07:00
Jonah Williams 79bc6cafc5
implement build aot with assemble for Android target platforms (#43282) 2019-10-30 15:23:25 -07:00
Emmanuel Garcia 53cc59f82c
Add transitive dependencies back (#42441) 2019-10-10 12:47:34 -07:00
Jonah Williams 10ddb7db78 remove println (#42378) 2019-10-09 17:49:31 -07:00
Emmanuel Garcia 1d2eaaf204
Ensure that flutter assets are copied in the AAR (#42306) 2019-10-09 16:29:20 -07:00
Emmanuel Garcia 00f82d9021 Use mergeResourcesProvider instead of deprecated mergeResources (#41942) 2019-10-03 20:42:43 -07:00
Emmanuel Garcia ed49a79516 Include embedding transitive dependencies in plugins (#41885) 2019-10-03 20:42:24 -07:00
Emmanuel Garcia 2466ca5bb0
Copy Flutter assets before merging the rest of resources (#41333) 2019-09-27 10:53:37 -07:00
Emmanuel Garcia 975e770e13
Add embedding as API dependency instead of compile only dependency (#41142) 2019-09-25 17:59:17 -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
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 407668f4d5
Stop using deprecated features from Gradle (#40900) 2019-09-20 08:29:53 -07:00
Emmanuel Garcia 96482eeb5c
Re-enable AAR plugins when an AndroidX failure occurred (#40810) 2019-09-20 08:28:52 -07:00
Amir Hardon 4e108b6f90
Exclude non Android plugins from Gradle build (#40640)
Before this change, having an Android app depend on a plugin that has no android implementation resulted in a Gradle build failure.

This scenario is likely to become more common if we're enabling federated plugins, as the package implementing just the desktop implementation of a plugin won't have an Android implementation.

This changes the Gradle plugin to not try to build any plugins that doesn't have an android/build.gradle file.
2019-09-18 16:42:20 -07:00
Emmanuel Garcia 8a1bf5b827
Reland #39157 (#39798) 2019-09-17 08:19:33 -07:00
Emmanuel Garcia 0df1594ba2
Enable the resource shrinker (#40610) 2019-09-16 15:27:05 -07:00
Emmanuel Garcia 4d404da6df
Update Kotlin and Gradle version (#40181) 2019-09-13 19:37:07 -07:00
Emmanuel Garcia 2c857b9370
Enable R8 (#40453) 2019-09-13 19:06:40 -07:00
Emmanuel Garcia f29524a150
Rename useProguard method, so Gradle doesn't get confused (#40440) 2019-09-13 13:02:16 -07:00
Emmanuel Garcia f098de1fde
Enable Proguard by default on release mode (#39986) 2019-09-10 17:22:55 -07:00
Emmanuel Garcia d230234d67
Revert Maven dependencies (#39747) (39157) (#39784) 2019-09-03 17:49:10 -07:00
Emmanuel Garcia 1b429bdb47
Fix type mismatch in Gradle (#39747) 2019-09-03 11:39:30 -07:00
Emmanuel Garcia b63cb44105
Use new Maven artifacts from Gradle (#39157) 2019-09-02 10:35:17 -07:00
Emmanuel Garcia 9f39cad4ed
Allow flavors and custom build types in host app (#36805)
Fixes these issues:
#30916
#34089
#36479
#29648
2019-07-29 09:26:41 -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
xster 03220cacd1
Make sure add-to-app build bundle from outer xcodebuild/gradlew sends analytics (#36122) 2019-07-17 11:17:04 -07:00