Commit graph

549 commits

Author SHA1 Message Date
Robert Ancell b200baebd7
Try the Wayland GDK backend, the engine now supports it (#66519)
* Try the Wayland GDK backend, the engine now supports it

* Update comment from review

* Just do default GTK behaviour
2020-10-22 09:38:11 +13:00
Jenn Magder d81691d0f4
Revert "Build iOS apps using Swift Packages (#68361)" (#68546)
This reverts commit dd9323bdfb.
2020-10-19 17:57:32 -07:00
Jenn Magder dd9323bdfb
Build iOS apps using Swift Packages (#68361) 2020-10-19 15:47:04 -07:00
Michael Thomsen c97ea71798
Adjust constraints (#68437) 2020-10-19 17:17:13 +02:00
Jay Freeman (saurik) a69e393d66
Avoid skipping variable initialization using case. (#67899) 2020-10-15 16:07:03 -07:00
Jonah Williams 1a9d635f64
[flutter_tools] remove --with-driver-test (#67783)
Remove flutter create --with-driver-test . Fixes #64095
2020-10-09 21:03:37 -07:00
Mouad Debbar b42e34690a
[web] Update index.html template to support new path strategy (#67081) 2020-10-02 15:12:04 -07:00
stuartmorgan b92bb62d4d
Fix Windows and Linux plugin template filenames (#66997) 2020-09-30 16:07:03 -07:00
Nebi Sarigul eb54388934
Update .gitignore.tmpl (#66382) 2020-09-25 15:37:03 -07:00
Jonah Williams 90d83e37a6
[flutter_tools] register service worker after first frame event (#66082)
Registering the service worker immediately after the documented has loaded may cause SW initialization to compete with framework initialization. It was recommended to us that we defer the service worker setup until after the framework is done with setup, which should be sometime after the first frame.

To implement this, I augmented the binding setup to dispatch an event on the document after the binding has initialized. I don't see any obvious risks with this setup.

Fixes #66066
2020-09-23 18:58:05 -07:00
Greg Spencer bbd7b97664
Change the default visual density to be adaptive based on platform. (#66370)
Based on feedback from various desktop developers, and to be consistent between the defaults and the sample code, this PR switches the default for visual density in desktop themes to be compact instead of standard.

It also removes the same setting from the sample code generated by "flutter create" because it is no longer needed now that it is the default.
2020-09-23 11:14:58 -07:00
Jacob MacDonald 9cee75ba61
update to the latest null safe packages (#66384)
Updates all null safe dependencies to versions that allow 2.10 stable and 2.11 dev releases.

Also updates flutter_goldens and flutter_goldens_client to allow 2.11 dev.
2020-09-23 11:03:29 -07:00
younghwan 634e461c4d
Apply darkmode style (#65182) 2020-09-17 15:32:05 -07:00
stuartmorgan 50fd10fc6f
Consider the Windows app template stable (#66022)
Removes the template version from the Windows template; the API and
tooling boundary will now be considered stable, so there will no longer
be frequent breaking changes.

Also updates the link for adding desktop support to a project for all
three platforms to reflect the current location.

Fixes https://github.com/flutter/flutter/issues/52748
2020-09-17 15:24:28 -07:00
stuartmorgan 8162bbd8e8
Update Windows system font change handling (#66021)
The engine now has an explicit API for system font changes, rather than
expecting the WM_FONTCHANGE message to be forwarded to the Flutter view.
2020-09-17 15:23:56 -07:00
stuartmorgan eaf3f8b4f7
Add VERSIONINFO to the Windows template (#66025)
Adds a VERSIONINFO to Runner.rc in the Windows app template, populated
from the project creation metadata.

Currently the version itself is hard-coded, but it is future-proofed to
allow plumbing the actual version through at build time via preprocessor
defines.
2020-09-17 15:23:38 -07:00
Herbert Poul af2143412f
Remove FlutterApplication from app templates. (#64742) 2020-09-17 15:17:11 -07:00
stuartmorgan fa12f443df
Update Windows app template (#65696) 2020-09-14 18:07:04 -07:00
Ben Konyi 577de1c44e
Roll forward package:test to 1.16.0-nullsafety.4 to prepare for (#65571) 2020-09-10 15:55:03 -07:00
stuartmorgan ee4fa1b34e
Update Windows app template (#65511) 2020-09-10 13:10:04 -07:00
xster 65ae30c8cc
Update create templates to 1.0.0 (#65234) 2020-09-10 12:57:56 -07:00
stuartmorgan bcfad2068e
Put the unbundled Linux executable in a subdirectory (#64992)
People frequently assume they can run the executable they find at the
top level of the build directory, and don't understand why they get
resource errors from the engine. To avoid that, this puts the unbundled
copy of the executable in a subdirectory with a name that should warn
people away from running it.

Fixes #64963
2020-09-01 05:34:25 -07:00
James Clarke 2d02c70ad5
[Windows] Fix unnecessary surface creation/destruction in startup path (#63301) 2020-08-31 09:28:05 -07:00
stuartmorgan dd0c881275
[windows] Update plugin template (#64521)
The pointer-argument-based version of Success() is deprecated; this
updates the template to use the new reference-based version (which
allows for inline construction of the response value).

Part of https://github.com/flutter/flutter/issues/63975
2020-08-25 08:30:05 -07:00
Jenn Magder e960d773ee
Change iOS plugin simulator archs from allow list to deny list (#64504) 2020-08-24 17:48:05 -07:00
stuartmorgan 8489d460a4
Update Windows template for wrapper file change (#64173)
* Minor adjustment for engine change, and rev template version

* whitespace fix
2020-08-20 17:36:46 -07:00
stuartmorgan ca0ddbbc94
Add WindowProc delegation to Windows template (#64166)
This wires up the new WindowProc delegation system that allows plugins
to handle top-level window messages (e.g., to control resize behavior).

Fixes #53168
2020-08-20 17:36:10 -07:00
Jonah Williams 39c735f408
[flutter_tools] correctly forward error only stdout in non-verbose modes (#63815) 2020-08-18 16:56:05 -07:00
Juyeong Lee 5ec7426be7
Remove enableR8=true from gradle.properties (#63339) 2020-08-14 10:26:03 -07:00
stuartmorgan 6f0cfc9524
Surface Windows build errors in non-verbose mode (#63707) 2020-08-13 19:46:02 -07:00
stuartmorgan fcbee10da9
[windows] Propagate startup errors in template (#63612) 2020-08-13 11:31:03 -07:00
Jenn Magder 6b2ef0df7b
Fix App.framework path in Podfile (#63412) 2020-08-12 13:36:12 -07:00
xster df8e537f96
move compile/target sdk versions to 29 (#62799) (#63008) 2020-08-11 14:51:02 -07:00
Adam Bahr 5cf3c8728c
Update "shortcut icon" to "icon" (#63154) 2020-08-07 21:26:03 -07:00
Jenn Magder 0aafdf9aa9
Change minimum iOS version from 8.0 to 9.0 (#62902) 2020-08-06 13:46:15 -07:00
stuartmorgan f534d6e669
Add flutter_engine.cc to Windows wrapper build (#62999) 2020-08-05 19:26:05 -07:00
Marcus Tomlinson 145df39953
Explicitly find and link blkid using pkg-config (#62979) 2020-08-05 14:56:19 -07:00
Jonah Williams 6393c5b2c3
[flutter_tools] remove reference to flutter tool test from user generated gitignores (#62926) 2020-08-04 19:06:04 -07:00
Chris Yang 2459f5c513
plugin template min flutter sdk version to 1.20 (#62605) 2020-08-04 12:31:05 -07:00
Jonah Williams e8ad863a08
Revert "move compile/target sdk versions to 29 (#62799)" (#62884)
This reverts commit 5b3dc5251b.
2020-08-04 11:20:16 -07:00
xster 5b3dc5251b
move compile/target sdk versions to 29 (#62799) 2020-08-04 08:26:08 -07:00
Jonah Williams c24772e8fb
[versions] update to the latest sdk versions (#62687) 2020-08-03 10:31:06 -07:00
Ayush Bherwani 87ee003f0c
replaces deprecated api usage for android (#62515) 2020-07-29 21:36:04 -07:00
Robert Ancell 392e25c8f2
Set the application-id in the Linux shell (#60053) 2020-07-30 08:46:29 +12:00
Jenn Magder e8e5de44ec
Parse .flutter-plugins-dependencies for add-to-app iOS modules (#61269) 2020-07-28 10:16:09 -07:00
Christopher Fujino df542b6831
update packages and update template (#61678) 2020-07-16 18:32:46 -07:00
Ben Konyi 38fe887342
Revert "Reland "Add support for Dart Development Service (DDS) in Flutter Tools (#61276)" (#61633)" (#61641)
This reverts commit 594c3541aa.
2020-07-16 11:43:54 -07:00
Ben Konyi 594c3541aa
Reland "Add support for Dart Development Service (DDS) in Flutter Tools (#61276)" (#61633)
This reverts commit a1a5a8f635.
2020-07-16 11:38:17 -07:00
xster 8bd2e6585b
Remove v1 Android create templates (#61203) 2020-07-11 12:15:19 -07:00
Robert Ancell 266aeb81a0
Only try the GDK X11 backend, as the FlView only currently supports X11 (#60654) 2020-07-09 14:23:48 +12:00
Jonah Williams 0cff654220
[flutter_tools] add sdk constraint to plugin/package templates (#60932)
Gives plugin and package a constraint on the flutter version, which will be from 2 stable's ago when this goes to stable. Adds an upper bound of 2.0
2020-07-08 10:11:10 -07:00
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