Commit Graph

403 Commits

Author SHA1 Message Date
xster
cf95cd4394
Add v1 plugin register function into v2 plugin template (#44166) 2019-11-05 20:03:50 -08:00
Emmanuel Garcia
ee032f67c7
flutter build aar should also build plugins as AARs (#43994) 2019-11-02 09:46:25 -07:00
Emmanuel Garcia
ade8dfac3d
Move the plugin registrant to io.flutter.plugins and add the @Keep annotation (#44011) 2019-11-01 16:58:26 -07:00
Jenn Magder
41c02d717a
Turn off bitcode for integration tests and add-to-app templates (#42958) 2019-10-24 18:16:36 -07:00
Andrey Gordeev
2b272f8151 Indent Kotlin code with 4 spaces (#43080)
As stated in Kotlin Coding Conventions. Closes #42212
2019-10-24 10:06:43 -07:00
Taufiq Rahman
35adf72c7f Add smallestScreenSize to android:configChanges in the Android manifest template (#43245) 2019-10-22 20:46:18 -07:00
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
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
stuartmorgan
3ebebebb8d
Implement plugin tooling support for macOS (#33636)
Enables the CocoaPods-based plugin workflow for macOS. This allows a
macOS project to automatically fetch and add native plugin
implementations via CocoaPods for anything in pubspec.yaml, as is done
on iOS.
2019-05-31 13:19:44 -07:00
Emmanuel Garcia
12a0e475e2
Make paths absolute in settings.gradle (#33228) 2019-05-23 23:32:11 -07:00
Michael Thomsen
7ae3caf309
Rename flutter packages to flutter pub (#33041) 2019-05-21 16:38:58 +02:00
Kate Lovett
054d9bb2f1
Updating dart.dev related links (#32641)
* Updating dart.dev related links

* Update packages/flutter_tools/lib/src/base/context.dart
2019-05-14 10:35:00 -07:00
Danny Tuppeny
b76a1e8312
Comment out .vscode/ in gitignore for templates (#32404) 2019-05-13 09:06:30 +01:00
Matthew Lloyd
969c6ef1dc Add reference to Runner-Bridging-Header.h to iOS template's profile configuration (#32266) 2019-05-07 23:59:01 -07:00
Antti Ahti
bf8262d85b Remove trailing whitespace from README template (#31762) 2019-04-29 13:04:55 +02:00
Dan Field
1db5d66932
Capture JSON RPC errors that presently get swallowed (#31584)
* Update packages
* Capture JSON RPC errors that presently get swallowed
2019-04-25 08:27:00 -07:00
ShaLi Shaltiel
a018264131 Updated package template .gitignore file (#27034) 2019-04-09 10:12:32 -07:00
Tim Sneath
529189791c
Replace flutter.io with flutter.dev (#30562) 2019-04-05 11:39:30 -07:00
Jonah Williams
1bfa2f2311
Intercept errors thrown by synchronous Completers in image resolution. (#30139) 2019-03-29 10:05:18 -07:00
Jonah Williams
3c93b65a9b
Update to latest matcher (#30019) 2019-03-27 17:21:10 -07:00
Jonah Williams
6f5f037689
Add basic web device and run support (#28302) 2019-02-26 16:58:24 -08:00
TruongSinh Tran-Nguyen
d15a361244 flutter create --template=plugin now include flutter unit test (#26456) 2019-02-12 10:37:00 -08:00
KyleWong
1c0a06f397 Make version documentation clearer. (#27278)
Currently, in pubspec.yaml, semver.org is referred to for more about versioning.
However, the versionCode/versionName could differ on different platforms (iOS, Android, Dart).

This adds more clear and complete information that could help users to understand it better.

See: #27251
2019-02-11 16:29:38 -08:00
KyleWong
7c19ec6ca8 Add2App: Fix crash resulted from hard-code module 'app' based resource copy. (#27154) 2019-01-30 10:29:29 -08:00
Mohammed Salman
8cb2695a0b fix #26207 .gitignore only include project root build directory (#26388) 2019-01-30 07:33:28 -08:00
Dan Field
496c57386b
Update packages (#27046)
* Update packages

* Change test for isFile
2019-01-24 16:02:45 -08:00
Jason Simmons
7bfbc28505
Revert "Upgrade the Gradle script to Android plugin version 3.3.0 (#26913)" (#27045)
This reverts commit 30f33d6c7d.
2019-01-24 14:29:08 -08:00
Jason Simmons
30f33d6c7d
Upgrade the Gradle script to Android plugin version 3.3.0 (#26913)
Fixes https://github.com/flutter/flutter/issues/26544
2019-01-24 12:21:11 -08:00
Jonah Williams
f777db2b78
add uiMode to android:configChanges (#26896) 2019-01-22 10:37:22 -08:00
Dan Field
386f3466b5
Roll engine to 05fee4eeee0ff6b219b1fcc394371e5f6963cc46 (#26713)
* move flutter_assets to App.framework

* Roll engine to 05fee4eeee0ff6b219b1fcc394371e5f6963cc46

05fee4eee Update default flutter_assets path for iOS embedding (flutter/engine#7518)
02205db01 Roll src/third_party/skia 5d052dac3ac1..02738a86e5fd (4 commits) (flutter/engine#7541)
af907c074 Roll src/third_party/skia 5c7a3ac0e214..5d052dac3ac1 (7 commits) (flutter/engine#7540)
dde286673 IWYU to get SkFontMetrics (flutter/engine#7539)
2019-01-21 21:23:04 -08:00
Dan Field
d8d36bc7e8
targetSdkVersion 28 (#26798) 2019-01-19 11:59:42 -08:00
mcplectrum
b4daf33807 Fix Podfile issue #24342 (#25079)
* Fix Podfile issue #24342

Sometimes base configurations  (config.base_configuration_reference) can be nil, which leads to undefined method `real_path' for nil:NilClass.

* Disable bitcode in every case
2019-01-17 15:00:51 -08:00
Dan Field
4c99958df6
Revert "Move flutter_assets to App.framework (#26630)" (#26675)
This reverts commit d8db70af1a.
2019-01-16 16:46:37 -08:00
Dan Field
d8db70af1a
Move flutter_assets to App.framework (#26630)
* move flutter_assets to App.framework

* remove flutter_assets references from all pbxproj files checked in
2019-01-16 14:02:54 -08:00
Dan Field
025d04ad52
remove todo (#26562) 2019-01-15 08:42:12 -08:00
Jason Simmons
cf4c903144
Update compileSdkVersion in the Android app templates to Android P (#26444)
Fixes https://github.com/flutter/flutter/issues/25703
2019-01-14 16:16:12 -08:00
Jason Simmons
8efd6c1a21
Add a manifest for profile builds that enables INTERNET permission (#26450)
Profile builds need access to sockets in order to launch the Dart
observatory server.

This permission used to be enabled by default in all build types,
but was moved to a build type specific manifest in
88b853f7eb
2019-01-11 18:19:17 -08:00
Andrei Lesnitsky
88b853f7eb move INTERNET permission to debug/AndroidManifest.xml (#22139) 2019-01-11 07:45:49 -08:00
kongshanshan33
305ab1a35b Fix project directory has spaces lead to compile error when use 'flutter create -t module'command (#23817) 2019-01-09 11:18:40 -08:00
Sean Freiburg
0468742910 Fix flutter root error message string interpolation (#24944)
The variable isn't interpolating because it's using "${}" when ruby uses "#{}".
2019-01-09 10:57:20 -08:00
jxltom
843f26207f Do not ignore pubspec.lock in project templates (#24209)
* Remove *.lock from gitignore

* Remove pubspec.lock from gitignore
2019-01-09 10:10:38 -08:00
Dan Field
1407091bfb
Fix red tree (Android module) (#26270) 2019-01-08 20:40:19 -08:00
Devon Carew
322afbb160
rev the min dart sdk dep in the templates to 2.1.0 (#26235) 2019-01-08 16:20:52 -05:00
Tim Sneath
06ec8d3b41
Updating readme templates for newly created projects (#24725)
We hypothesize that many first-time users creating a new project will look at the README.md as a starting point for "what next". As we've updated our documentation particularly for new users, having better links to our codelabs and cookbooks will help them be productive.
2018-11-28 15:56:58 -08:00
stevemessick
ff25edd3ad
Update idea template files (#24311)
* Update IntelliJ project template files

* Add ignored file

* Fix test

* Restore comma
2018-11-14 13:45:07 -08:00
Dan Field
2729385758
Make host app test actually test host app (#24131)
* Make host app test actually test host app

* mark updated test as flaky
2018-11-09 19:09:56 -08:00
Dan Field
9d53d7f848
Update pubspec template docs for module/plugin (#24081)
* Document module pubspec

* update doc on plugin template

* clarify language
2018-11-07 17:20:18 -08:00