Commit Graph

342 Commits

Author SHA1 Message Date
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
Jenn Magder
035e3d37d7
Revert "Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33852)" (#33882)
This reverts commit d053fe5cb3.
2019-06-04 15:35:35 -07:00
Jenn Magder
d053fe5cb3
Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33852)
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-04 12:17:57 -07:00
Jenn Magder
9734f4ed43 Revert "Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33684)"
This reverts commit ef792fc30d.
2019-06-03 17:19:53 -07:00
Jenn Magder
ef792fc30d
Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33684)
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-03 16:11:33 -07:00
Josh Burton
d0e45a2369 Adds support for generating projects that use AndroidX support libraries (#31028) 2019-05-31 18:33:02 -07:00