Commit graph

548 commits

Author SHA1 Message Date
stuartmorgan 4b12050112
Switch Windows to CMake (#60629)
* First pass at CMake files; untested

* First pass of adding CMake generation logic on Windows

* Misc fixes

* Get bundling working, start incoprorating CMake build into tool

* Fix debug, exe name.

* Add resources

* Move cmake.dart

* Rip out all the vcxproj/solution plumbing

* Fix plugin cmake generation

* Build with cmake rather than calling VS directly

* Adjust Windows plugin template to match standard header directory structure

* Pass config selection when building

* Partially fix multi-config handling

* Rev template version

* Share the CMake generation instead of splitting it out

* VS build/run cycle works, with slightly awkward requirement to always build all

* Update manifest

* Plugin template fixes

* Minor adjustments

* Build install as part of build command, instead of separately

* Test cleanup

* Update Linux test for adjusted generated CMake approach

* Plugin test typo fix

* Add missing stub file for project test

* Add a constant for VS generator
2020-07-06 12:59:16 -07:00
Jenn Magder 0486cebd29
Make module run script names unique (#60228) 2020-06-24 16:52:01 -07:00
Jonah Williams a0334fb500
[flutter_tools] maintain file manifest for create (#59706)
First pass at fixing #57985 and implementing #59602

This doesn't have enough metadata to be useful for IDEs yet, but it prevents the issue from getting worse while we iterate on it.
2020-06-24 16:20:21 -07:00
stuartmorgan d9902a5474
Consider the Linux template stable (#60163)
Remove the version checking and associated warnings. The Linux template
and build process will now be subject to more typical Flutter breaking
change policy, and should no longer require regularly deleting and
recreating the platform directory.
2020-06-24 12:23:57 -07:00
Chris Yang 2e63b7d4f8
Add --platforms to flutter create -t plugin command (#59507) 2020-06-23 17:38:03 -07:00
David Iglesias 8fce4ce974
[flutter_tools] Add web support through MethodChannels. (#60116) 2020-06-23 13:53:01 -07:00
Robert Ancell 65ea2be51b
Remove Linux shell window_configuration.cc (#59802)
Remove Linux shell window_configuration.cc/.h

It was a temporary solution while the shell was changing.
2020-06-23 15:18:30 +12:00
stuartmorgan b5ddf85595
Fix typo in Linux CMake template (#60017) 2020-06-22 19:08:02 -07:00
Jonah Williams fbdc79e448
[versions] update all versions (#59832)
Fixes #59718

Update all versions, specifically dwds which has a hot restart fix
2020-06-19 14:48:57 -07:00
Robert Ancell e6de0de8f7
Fix Linux shell window default size (#59630)
The previous call set the minimum size, not just the initial size.
2020-06-19 11:56:01 +12:00
Robert Ancell dd9fd2c851
Use a HeaderBar for Linux applications. (#59714) 2020-06-19 11:30:36 +12:00
stuartmorgan 61c198e766
Switch Linux to the GTK embedding (#59287)
Updates the tooling to use the GTK embedding, rather than the GLFW embedding:
- Adds new requirements to `doctor`
- Updates the app and plugin templates to make GTK-based runners and plugins
- Stops downloading and installing the GLFW artifacts

Final part of #54860, other than cleanup.
2020-06-16 13:31:24 -07:00
Ian Hickson 6202476691
Remove license statements in template files. (#57268) 2020-06-15 09:30:05 -07:00
stuartmorgan 401690a64f
CMake fix for projects without plugins (#59343)
This install step fails if the list is empty, which is the case for projects without plugins (or Dart-only plugins, so flutter/plugins presubmits are currently broken).
2020-06-12 19:45:48 -07:00
Marcus Tomlinson 1fe0f22645
Remove use of BundleUtilities in Linux build (#59080)
* Explicitly install the Flutter library

* Publish ${FLUTTER_LIBRARY} to parent scope

* Bundle plugin libraries

* Bundle <plugin_name>_bundled_libraries too

* BUNDLED_LIBRARIES -> PLUGIN_BUNDLED_LIBRARIES

* Update Linux plugin test

* Address review comments
2020-06-11 22:00:28 +01:00
Jenn Magder 319a61fd81
Move iOS Podfile logic into tool (#59044) 2020-06-10 14:12:48 -07:00
xster 4aea793cf9
add a help link to the default module template readme (#59023) 2020-06-08 16:33:01 -07:00
Jenn Magder 023532d991
Revert "Build iOS apps using Swift Packages (#59009)" (#59025)
This reverts commit 43e28084fc.
2020-06-08 15:45:10 -07:00
Jenn Magder 43e28084fc
Build iOS apps using Swift Packages (#59009) 2020-06-08 13:53:01 -07:00
Jenn Magder 2ece1c3a17
Revert "Build iOS apps using Swift Packages (#58522)" (#58549)
This reverts commit 2054f37aaf.
2020-06-02 19:00:12 -07:00
Jenn Magder 2054f37aaf
Build iOS apps using Swift Packages (#58522) 2020-06-02 17:57:11 -07:00
Marcus Tomlinson 5ee5490a63
[flutter_tools] Support profile and release builds on Linux (#57135) 2020-05-29 15:38:02 -07:00
Tianguang 03c74eb42e
Run flutter update-packages --force-upgrade. (#58104)
* Run `flutter update-packages --force-upgrade`.
* Update test to 1.14.5.
2020-05-30 00:13:33 +02:00
stuartmorgan eacd1c8de4
Update Windows template version (#58189)
PR #57749 included changes to the way the project interacts with the
build process (e.g., bundling the necessary library), so should have
incremented the template version to trigger the messaging to developers.
2020-05-28 13:38:31 -07:00
stuartmorgan 9989c54cb1
Add release and profile support for Windows (#57749)
Builds and bundles an 'app.so' containing AOT data, and downloads and packages the release/profile artifacts for those builds, rather than always using the debug artifacts.

Fixes https://github.com/flutter/flutter/issues/38477
Fixes https://github.com/flutter/flutter/issues/39664
2020-05-28 12:17:56 -07:00
stuartmorgan ca0d60087b
Start from a clean slate when bundling Linux build (#58174)
BundleUtilities apparently doesn't do build-system-style timestamp
analysis when deciding what to copy, and instead just doesn't copy
things that are already present. This cleans that bundle directory on
each build, so that it includes the up-to-date library versions.

Since this is just copying from build artifacts, this is very fast; the
build steps themselves are not affected.

Fixes https://github.com/flutter/flutter/issues/58049
2020-05-28 12:14:57 -07:00
stuartmorgan 27e652c882
Fix Linux plugin template build visibility (#58069)
The CMake plugin build wasn't setting visibility to hidden by default,
which meant that plugins exported everything by default. This would make
bad interactions between plugins much more likely; only the intended API
should be exported by the shared library.
2020-05-27 10:55:34 -07:00
Ken VanDine e013fc2484
Desktop default window size (#57274) 2020-05-21 14:42:03 -07:00
Jenn Magder 478d4c9c1a
Add Android private keystore to project gitignore (#57601) 2020-05-19 20:22:01 -07:00
stuartmorgan 97b7e15532
Re-add line to Linux template CMakeLists.txt (#57538)
Re-adds a line that was accidentally removed in #57515
2020-05-19 18:17:41 -07:00
stuartmorgan b07516875d
Remove TRANSFORM from Linux CMake files (#57515)
The Linux CMakeLists.txt are intended to be compatible with 3.10, but
accedintally used a list construct that wasn't added until 3.12. This
adds a custom replacement function.

This makes the build compatible with 3.10 as originally intended.
2020-05-18 12:42:01 -07:00
stuartmorgan 8abf0a6d8c
Switch to CMake for Linux desktop (#57238)
Updates the Linux templates to use CMake+ninja, rather than Make, and updates the tooling to generate CMake support files rather than Make support files, and to drive the build using cmake and ninja.

Also updates doctor to check for cmake and ninja in place of make.

Note: While we could use CMake+Make rather than CMake+ninja, in testing ninja handled the tool_backend.sh call much better, calling it only once rather than once per dependent target. While it does add another dependency that people are less likely to already have, it's widely available in package managers, as well as being available as a direct download. Longer term, we could potentially switch from ninja to Make if it's an issue.

Fixes #52751
2020-05-16 15:07:34 -07:00
Jenn Magder f66d3c5ab2
Remove empty Supporting Files group from Swift app template (#57161) 2020-05-14 11:00:43 -07:00
stuartmorgan 9d4b0cb844
Update Linux template for headless mode (#56618) 2020-05-09 21:09:03 -07:00
stuartmorgan 1b88914197
Redirect stdout/stderr in Windows template (#56089)
Redirects stdout/stderr in the Windows template when creating a console. This fixes the console opened when running from Visual Studio to actually show output, instead of being empty.

Fixes #53169
2020-05-03 14:25:00 -07:00
Ferhat 0d452b8305
[web] Change display mode of PWA default to standalone (#56056)
Change display mode of PWA default to standalone, update integration test manifest to new default
2020-04-30 11:20:14 -07:00
xster 72986f7bcf
remove intellij references to the v1 embedding jars now that the v2 embeddings are referenced via maven (#55353) 2020-04-22 13:33:13 -07:00
stuartmorgan 0ece276ecb
Add COM initializition to Windows template (#54881)
Plugins, and the library, should be able to use COM without special
setup. This adds COM initialization to the runner template so that it's
available for any code on the main thread.
2020-04-15 14:32:39 -07:00
Jenn Magder a6b39a230f
Migrate Runner project base configuration (#54691) 2020-04-14 13:01:54 -07:00
Emmanuel Garcia 54dba4cd59
Don't import plugins that don't support android in settings.gradle (#54407) 2020-04-12 08:55:03 -07:00
Pierre-Louis da343dcc75
Add .last_build_id to gitignore (#54428) 2020-04-11 13:25:02 -07:00
stuartmorgan b429e7eb00
Update Windows and Linux plugin templates (#53876)
Updates Windows and Linux templates to use the new PluginRegistrarManager, improving lifetime handling and reducing boilerplate.
2020-04-07 09:03:49 -07:00
stuartmorgan 2d623278e7
Restructure the Windows app template (#53600)
This moves the app template more toward being a more generic starting
point for any Flutter application, eliminating some hard-code
assumptions about there being a single window/engine pair that is
directly bound to the life of the application:
- Moves the runloop into its own class, making it capable of servicing
  any number of engine instances.
- Moves the logic for setting up a window containing only a Flutter view
  into a window subclass for ease of re-use.
- Makes quit-on-window-close an optional property. (Long term this
  should be even more generic, like a quit-when-last-window-closes
  option, but this is a short-term improvement that removes the binding
  between the runloop and the window).
- Allows for multiple instances of Win32Window to exist without issues
  relating to the window class registration.

Since there are getting to be a non-trivial number of files associated
with the runner, this moves the source into a runner/ directory, as is
already done on some other platforms.

Note that creating multiple Flutter windows at the same time still
doesn't work correctly even with this change, but this addresses some of
the known issues, and makes it easier to test in the future (e.g., for
debugging engine-level issues with multiple instances).

Fixes #45397
2020-04-06 12:24:05 -07:00
Jonas Finnemann Jensen da036c5214
Application templates should default to publish_to: none (#52740) 2020-04-01 14:20:02 +02:00
Greg Spencer 2a649b16e2
Add an adaptive visual density static function, and add it to… (#51921)
Adds a VisualDensity.adaptivePlatformDensity static function that returns different values for visual density based on the defaultTargetPlatform. Returns compact for desktop platforms, and a default visual density for other platforms.
2020-03-31 16:16:25 -07:00
stuartmorgan 94500073a0
Windows template update project (#53302)
Updates the Windows app template to use the new DartProject API, significantly simplifying the template.

Increments the template version, even though this isn't itself a breaking change, so that users will be prompted to update their projects rather than be broken later when the old API is removed.
2020-03-27 16:36:15 -07:00
stuartmorgan 685e9d1e47
Add pre-stable support for create on Windows (#51895)
Adds initial support for flutter create of apps and plugins. This is derived from the current FDE example app and sample plugin, adding template values where relevant.

Since the APIs/tooling/template aren't stable yet, the app template includes a version marker, which will be updated each time there's a breaking change. The build now checks that the template version matches the version known by that version of the tool, and gives a specific error message when there's a mismatch, which improves over the current breaking change experience of hitting whatever build failure the breaking change causes and having to figure out that the problem is that the runner is out of date. It also adds a warning to the create output about the fact that it won't be stable.

Plugins don't currently have a version marker since in practice this is not a significant problem for plugins yet the way it is for runners; we can add it later if that changes.

Fixes #30704
2020-03-23 10:42:26 -07:00
Michael Thomsen 4106fbd99c
Allow recent Dart language features (#52879) 2020-03-19 16:54:34 -07:00
Jonas Finnemann Jensen a4d30c1607
Add a comment for path dependencies in plugin example template (#50978) 2020-03-17 20:31:52 +01:00
Emmanuel Garcia 4049889d9e
Make --androidx flag a noop in flutter create (#52340) 2020-03-10 20:05:41 -07:00
Jonah Williams b127868db4
[flutter_tools] update web template to remove some absolute paths (#52040) 2020-03-05 13:59:57 -08:00
Ben Konyi 3edd3eb4a2
Updated package:test, package:test_core, package:coverage, package:package_config (#51946)
This is required to roll forward package:vm_service to 3.0.0 and is
blocking a DevTools release.
2020-03-04 11:40:52 -08:00
stuartmorgan 8d8439f8e3
Add pre-stable support for create on Linux (#51832)
Adds initial support for `flutter create` of apps and plugins. This is derived from the current FDE example app and sample plugin, with a few changes:
- Added template values where it makes sense.
- Moved some likely-to-change values into separate files for now, to simplify the delete/recreate cycle that will be necessary until it's stable.
- Added some minor Makefile flag handling improvements

Since the APIs/tooling/template aren't stable yet, the app template includes a version marker, which will be updated each time there's a breaking change. The build now checks that the template version matches the version known by that version of the tool, and gives a specific error message when there's a mismatch, which improves over the current breaking change experience of hitting whatever build failure the breaking change causes and having to figure out that the problem is that the runner is out of date. It also adds a warning to the `create` output about the fact that it won't be stable.
2020-03-03 22:42:52 +01:00
Jenn Magder e491544588
Move embedding and linking Flutter frameworks into the tool (#51453)
* Move embedding and linking Flutter frameworks into the tool

* Unused import

* Migrate

* Rename run, add comments, remove typedef

* Add status log to tell the user what we did

* Remove Podfile migration, create IOSMigration superclass

* word-smiting

Co-Authored-By: Jonah Williams <jonahwilliams@google.com>

* for space

Co-Authored-By: Jonah Williams <jonahwilliams@google.com>

Co-authored-by: Jonah Williams <jonahwilliams@google.com>
2020-03-03 12:11:28 -08:00
Greg Spencer 1ba4f1f509
Add Linux and Windows target platforms (#51519)
This PR adds the linux and windows target platform enum values, along with automatically setting the defaultTargetPlatform to the appropriate value on those platforms.

Fixes #31366
2020-03-03 04:38:04 -08:00
stuartmorgan 33bb1faf5b
Reland: Always use new plugin schema for plugin template (#49832)
Now that the new schema is supported on the stable channel, and the old
schema is considered legacy, the template should always create plugins
using the new schema.
2020-02-27 22:48:25 -08:00
Jason Simmons d499d61efe
Update Android activities because plugin registration is now done by FlutterActivity.configureFlutterEngine (#50841) 2020-02-27 18:16:04 -08:00
Jonah Williams 08d079f6c2
[flutter_tools] wire up complete support for Dart obfuscation (#50509) 2020-02-27 08:58:33 -08:00
Sunbreak fcf7fda99c
Remove miscellaneous xcworkspacedata (#50715) 2020-02-18 12:41:27 -08:00
Jonah Williams 9b4cb4da72
[versions] reland update test to 1.12.0 (#50879) 2020-02-18 10:38:54 -08:00
Jonah Williams e481fcae52
Revert "[version] update to package:test 1.12.0 (#50818)" (#50853)
This reverts commit d3387bc916.
2020-02-14 22:34:30 -08:00
Jonah Williams d3387bc916
[version] update to package:test 1.12.0 (#50818) 2020-02-14 21:51:47 -08:00
Dan Field 3d812c1b96
Reduce gradle deps (#50691)
* drop unnecessary test deps

* bump to junit 4.13
2020-02-12 21:14:54 -08:00
sanni prasad 7f819c935b
Update cupertino_icons dependency version in pubspec.yaml template (#50479) 2020-02-12 13:28:03 -08:00
Jenn Magder bfbb347682
Use BUILD_LIBRARY_FOR_DISTRIBUTION build setting for generating add-to-app frameworks (#50536) 2020-02-11 15:53:02 -08:00
Amir Hardon bcef4edfc8
Make the template plugin example depend on the plugin as a real dependency (#50485) 2020-02-10 16:03:02 -08:00
Dan Field ffc85591c8
more gradle upgrades (#50388) 2020-02-10 14:16:49 -08:00
Jonah Williams da4b5d68c4
[flutter_tools] support --split-debug-info option in android builds (#49650) 2020-02-05 17:45:24 -08:00
Cristian Zazo 306c23fd36
[web] Fix typo apple-mobile-web-app-status-bar-style (#49894) 2020-01-31 15:38:02 -08:00
Greg Spencer 6ee8b6546b
Revert "Always use new plugin schema for plugin template (#48258)" (#49827)
This reverts commit 9d4a35b because it appears to break

the gradle_non_android_plugin_test.
2020-01-30 12:46:12 -08:00
stuartmorgan 9d4a35ba8b
Always use new plugin schema for plugin template (#48258)
Now that the new schema is supported on the stable channel, and the old
schema is considered legacy, the template should always create plugins
using the new schema.
2020-01-30 11:30:31 -08:00
Jenn Magder e8b3d7f358
Update Xcode compatibility version (#49654) 2020-01-29 15:58:02 -08:00
Jonah Williams ab426858b1
[flutter_tools][web] add favicon to template and update index.html (#49237) 2020-01-28 13:09:18 -08:00
Gonçalo Palma 73275f0815
Change reference to current class when setting the MethodChannel (#48806)
* Change reference to current class when setting the MethodChannel

* Added reference to MethodChannel and detach it from the engine
2020-01-26 13:34:04 +01:00
Hans Muller bc5c46438a Migrate TextTheme to 2018 APIs (#48547) 2020-01-24 19:03:01 -08:00
Matt Carroll def2205ee4
Android Project: Opt into splash behavior by default. (#49096) 2020-01-21 16:39:17 -08:00
Jonah Williams b3ea191407 [flutter_tools] Update template for web application to correct typo (#48778) 2020-01-14 08:13:01 -08:00
Jonah Williams 9f145f6ced [flutter_tools][web] Add basic service worker generation support to web applications (#48344) 2020-01-13 17:13:02 -08:00
Gerrit a8c5f4e8c4 Add missing indentation to assets-images example (#45833) 2020-01-10 11:23:01 -08:00
Jonah Williams 5d30c0970a
[flutter_tools][web] Add support for web app manifests and arbitrary resource files (from web/) (#48316) 2020-01-10 09:37:20 -08:00
Dan Field 24f39d40a4 Revert "Revert "Add many more global analyses. (#47875)" (#48080)" (#48081)
This reverts commit 04ea3183ce.
2020-01-02 11:47:28 -08:00
Francisco Magdaleno 04ea3183ce
Revert "Add many more global analyses. (#47875)" (#48080)
This reverts commit e768c92fbc.
2020-01-02 09:25:59 -08:00
Ian Hickson e768c92fbc
Add many more global analyses. (#47875)
* Update packages.

* Add many more global analyses.

* Catch trailing spaces and trailing newlines in all text files.
  Before we were only checking newly added files, but that means we
  missed some.

* Port the trailing spaces logic to work on Windows too.

* Correct all the files with trailing spaces and newlines.

* Refactor some of the dev/bots logic into a utils.dart library.
  Notably, the "exit" and "print" shims for testing are now usable
  from test.dart, analyze.dart, and run_command.dart.

* Add an "exitWithError" function that prints the red lines and
  then exits. This is the preferred way to exit from test.dart,
  analyze.dart, and run_command.dart.

* More consistency in the output of analyze.dart.

* Refactor analyze.dart to use the _allFiles file enumerating logic
  more widely.

* Add some double-checking logic to the _allFiles logic to catch
  cases where changes to that logic end up catching fewer files
  than expected (helps prevent future false positives).

* Add a check to prevent new binary files from being added to
  the repository. Grandfather in the binaries that we've already
  added.

* Update all the dependencies (needed because we now import crypto in
  dev/bots/analyze.dart).
2019-12-30 17:12:19 -08:00
Jenn Magder 85e9be36bf
Revert "Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#47266)" (#47568)
This reverts commit 648a5d8a1e.
2019-12-20 17:45:16 -08:00
Jenn Magder 648a5d8a1e
Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#47266) 2019-12-19 14:18:10 -08:00
Jenn Magder 65ad8d805a
Revert "Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#46928)" (#47264)
This reverts commit e54e301d50.
2019-12-17 17:20:57 -08:00
Jenn Magder e54e301d50 Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#46928) 2019-12-17 16:13:01 -08:00
Jenn Magder dfa6eb31a0
Revert "flutter run FULL_PRODUCT_NAME (#46838)" (#46925) 2019-12-12 17:34:54 -08:00
Jenn Magder 7a7e2bb247 flutter run FULL_PRODUCT_NAME (#46838) 2019-12-12 17:03:01 -08:00
Jonah Williams a491697893
[flutter_tool] Ensure dependency constraint for templates created with a driver test are correct 2019-12-09 17:32:03 -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
Greg Spencer 245d1b51ce
Add macOS to TargetPlatform (#43457)
This PR adds TargetPlatform.macOS to the TargetPlatform enum. This allows us to begin implementation of some adaptive UI based on which target platform is desired.

I haven't updated the tests here, that will come in a follow-up PR.
2019-11-26 18:32:34 -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
Jenn Magder 2d42b43a50
Turn on bitcode for integration tests and add-to-app templates (#44633) 2019-11-12 18:00:31 -08:00
Jenn Magder 856a90e67c
Add swift_versions to plugin template podspec, include default CocoaPod version (#44324) 2019-11-08 18:00:01 -08:00
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