Commit Graph

427 Commits

Author SHA1 Message Date
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