Commit graph

347 commits

Author SHA1 Message Date
Jenn Magder b194f93541
Remove use_modular_headers from Podfiles using libraries (#42872)
* Remove use_modular_headers from Podfiles using libraries

* Remove @imports
2019-10-17 15:26:10 -07:00
Emmanuel Garcia 08c645b3b2
Test the Android embedding v2 (#42708)
* Test the Android embedding v2

* Update integration tests

* Split into shards
2019-10-16 21:26:10 -07:00
Jenn Magder 357d02c87b
Always embed Flutter.framework build mode version from Xcode configuration (#42029) 2019-10-15 15:33:55 -07:00
Jenn Magder dda74a1993
Increase template Swift version from 4 to 5 (#41882) 2019-10-15 12:37:13 -07:00
Jenn Magder 649cf82018
use_modular_headers (#42204) 2019-10-15 12:36:50 -07:00
Emmanuel Garcia 9eaac9c414
Add smoke test for the new Android embedding (#42360)
* Add smoke test for the new Android embedding

* Update AndroidManifest.xml in app template

* Update test README.md

* Remove widget_test.dart

* Update pubspec.yaml

* Force GeneratedPluginRegistrant.java
2019-10-09 21:57:19 -07:00
Emmanuel Garcia 5961bcc505
Generate projects using the new Android embedding (#41666)
* Generate projects using the new Android embedding

* Add comment about usesNewEmbedding:true

* Feedback

* Rework way to detect new embedding in new apps
2019-10-04 06:23:03 -07:00
stuartmorgan 18d6d9bc7b Add Profile entry to macOS Podfile (#41747) 2019-10-03 20:41:48 -07:00
Jenn Magder 4331c172d7
Set DEFINES_MODULE=YES in plugin templates (#41828) 2019-10-03 18:35:20 -07:00
Jenn Magder 1eb1e2226b
Skip pod initialization if version >= 1.8.0. (#41491) 2019-09-30 13:14:42 -07:00
Jenn Magder 9a66018f0d
Make module pod headers public (#40927) 2019-09-24 12:20:00 -07:00
stuartmorgan 0412977e48
Support create for macOS (app and plugin) (#40851)
Adds macOS support for `flutter create`:
- Currently it is behind a hidden flag.
- Adds a TargetPlatform workaround to lib/main.dart in the standard app template when enabled.
- Supports `app` and `plugin`; `module` support doesn't yet exist for macOS in general.

This will eliminate the need to use FDE's examples as templates on macOS. The templates are based on the current state of FDE's examples, with templating support added (and with adoption of the new application delegate in the app, which hadn't been done yet in FDE, eliminating some boilerplate from the template).

Fixes #30703
2019-09-19 17:06:18 -07:00
stuartmorgan 86c342eceb
Move iOS and Android gitignore rules into folders (#40864)
Rather than have a monolithic .gitignore covering all platforms in the
app template, have each platform folder contain its own rules.

Fixes #40793
2019-09-19 17:04:53 -07:00
Emmanuel Garcia 8a1bf5b827
Reland #39157 (#39798) 2019-09-17 08:19:33 -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 d230234d67
Revert Maven dependencies (#39747) (39157) (#39784) 2019-09-03 17:49:10 -07:00
Harry Terkelsen 6f4359d1b7
Add lib/generated_plugin_registrant.dart to gitignore (#39781) 2019-09-03 16:03:09 -07:00
Jenn Magder 0b93c96f52
Remove bitcode=NO from add-to-app flows (#39503) 2019-09-03 10:28:19 -07:00
Emmanuel Garcia b63cb44105
Use new Maven artifacts from Gradle (#39157) 2019-09-02 10:35:17 -07:00
Kaushik Iska fc05c3738c
Flutter Plugin Tool supports multi-platform plugin config (#38632) 2019-08-29 21:51:31 -07:00
Collin Jackson a1c185f37a
Fix plugin template app's tests (#39080)
* Fix plugin template

* Add test of plugin template working
2019-08-26 14:57:16 -07:00
Jenn Magder 4bffe3dd1d
Remove iphonesimulator from SUPPORTED_PLATFORMS for Profile and Release modes (#38905) 2019-08-20 13:30:43 -07:00
Jenn Magder 4d81b0c970
Remove xcconfigs from template Copy Bundle Resources build phases (#38724) 2019-08-19 16:23:45 -07:00
stuartmorgan 69acc0f545
Update the macOS Podfile template platform version (#38651)
Change the target macOS version from 10.13 to 10.11, per decision on
target platform.

Part of #33200
2019-08-16 18:49:57 -07:00
jmagman 78cca6250a
Always install the ephemeral engine copy instead of fetching from CocoaPods specs (#37906) 2019-08-09 17:37:11 -07:00
jmagman e6d94ee40f
Use relative paths when installing module pods (#37738) 2019-08-07 12:59:11 -07:00
Emmanuel Garcia c08a3c7a0a
Add metadata to indicate if the host app contains a Flutter module (#37731) 2019-08-06 22:38:09 -07:00
masashi-sutou 626ca086d0 Recommend to use the final version of CDN support for the CocoaPods trunk specs repo (#36237) 2019-08-06 13:19:42 -07:00
walsha2 107f36548a Closes #37593 Add flutter_export_environment.sh to gitignore (#37595) 2019-08-06 13:18:41 -07:00
Jenn Magder 975156e91c
If xcode_backend.sh script fails or substitute variables are missing, fail the host Xcode build (#37449) 2019-08-02 13:01:25 -07:00
stevemessick 93dd90fc1a
Add .android/Flutter/flutter.iml to module template. (#37405) 2019-08-01 15:47:00 -07:00
Jenn Magder 1bcaa15018
Make podhelper.rb a template to avoid passing in the module name (#37276) 2019-07-31 11:34:22 -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
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
Jenn Magder 5e650af7fa
Clean up host_app_ephemeral_cocoapods Profile build settings (#36498) 2019-07-19 12:49:26 -07:00
Anoop B 90326b6184 [ImgBot] Optimize images (#35971) 2019-07-11 21:16:48 -07:00
Jenn Magder ec2c3f2116
Disable CocoaPods input and output paths in Xcode build phase for ephemeral add2app (#35833) 2019-07-10 10:40:15 -07:00
Jenn Magder 559c9982dd
UIApplicationLaunchOptionsKey -> UIApplication.LaunchOptionsKey (#35763) 2019-07-08 16:55:27 -07:00
Jenn Magder f3150ed0b5
Remove Swift Obj-C Inference build setting (#35756) 2019-07-08 16:04:16 -07:00
Karen Rustad Tölva 9155795883 Fix typo in main.dart templates (#35684) 2019-07-08 10:36:44 -07:00
Jenn Magder 95a1816698
Clean up host_app_ephemeral Profile build settings (#35307) 2019-07-01 11:02:25 -07:00
Jenn Magder 1b176c5df1
Update Xcode projects to recommended Xcode 10 project settings (#34738) 2019-06-20 08:48:19 -07:00
Jenn Magder c40d701e96
Change Xcode project developmentRegion to 'en' and plist CFBundleDevelopmentRegion to DEVELOPMENT_LANGUAGE (#34293) 2019-06-12 11:31:17 -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
Josh Burton 9223a44b8a Adds the androidX flag to a modules pubspec.yaml template so it is se… (#34066)
This is a small follow up to the previous AndroidX PR: https://github.com/flutter/flutter/pull/31028

This fixes an issue mentioned [here](https://github.com/flutter/flutter/issues/28805) where the androidX flag for a module is not set when creating a new project:

`flutter create --androidx -t module my_flutter`
2019-06-07 16:09:21 -07:00
Jonah Williams bd413bff1b
Add flutter create for the web (#34018) 2019-06-07 13:15:38 -07:00
stuartmorgan 9751f3e537
Add use_frameworks to macOS Podfile template (#33987)
This wasn't included originally since it didn't seem to be necessary for
macOS in testing, but not having it breaks Swift plugins. This matches
the iOS Swift Podfile template.
2019-06-06 12:43:37 -07:00