Commit Graph

7604 Commits

Author SHA1 Message Date
Aman Verma
8fbf89b9f2
[flutter_tools] throw error when argResults is null (#103827) 2022-05-17 12:37:08 -07:00
Lau Ching Jun
a633f3df32
Add ability for PrebuiltWindowsApp to accept a zip archive. (#103918) 2022-05-17 11:27:11 -07:00
Chris Bracken
928bb1229b
[tool] Consistent FakeProcessManager.run/runSync (#103947)
`FakeProcessManager` is a test-oriented implementation of `ProcessManager`
that simulates launching processes and returning `ProcessResult` objects
whose `exitCode`, `stdout`, `stderr` can be used to write platform-portable,
hermetic tests that don't rely on actually launching processes from
executables on disk. Its `run` and `runSync` methods provide asynchronous and
synchronous variants of this functionality.

Previously, the behaviour of `run` and `runSync` were inconsistent with
regards to the treatment of the `stdoutEncoding` (similarly,
`stderrEncoding`) parameters:

`run`:
* if the encoding was null, `ProcessResult.stdout` was returned as a
  String in UTF-8 encoding. This was incorrect. The behaviour as
  specified in `ProcessResult.stdout` is that in this case, a raw
  `List<int>` should be returned.
* If the encoding was unspecified, `ProcessResult.stdout` was returned as
  a `String` in the `io.systemEncoding` encoding. This was correct.
* If the encoding was non-null, `ProcessResult.stdout` was returned as a
  `String` in the specified encoding. This was correct.

`runSync`:
* if the encoding was null, `ProcessResult.stdout` was returned as a
  `List<int>` in UTF-8 encoding. This was incorrect. The behaviour as
  specified in `ProcessResult.stdout` is that in this case, a raw
  `List<int>` should be returned.
* If the encoding was unspecified, `ProcessResult.stdout` was returned as
  `List<int>` in UTF-8 encoding. This was incorrect. The behaviour as
  specified in `ProcessResult.stdout` is that in this case, a String a
  `String` in the `io.systemEncoding` encoding should be returned.
* if the encoding was non-null, `ProcessResult.stdout` was returned as a
  `String` in unknown (but probably UTF-8) encoding. This was incorrect.
  The behaviour as specified in `ProcessResult.stdout` is that in this
  case, a `String` in the specified encoding should be returned.

`_FakeProcess`, from which we obtain the fake stdout and stderr values now
holds these fields as raw `List<int>` of bytes rather than as `String`s. It
is up to the user to supply values that can be decoded with the encoding
passed to `run`/`runAsync`.

`run` and `runAsync` have been updated to set stdout (likewise, stderr) as
specified in the `ProcessResult` documentation.

This is pre-factoring for #102451, in which the tool throws an exception
when processing the JSON output from stdout of the `vswhere.exe` tool,
whose output was found to include the `U+FFFD` Unicode replacement
character during UTF-8 decoding, which triggers a `toolExit` exception
when decoded using our [Utf8Decoder][decoder] configured with `reportErrors` =
true. Because `FakeProcessManager.runAsync` did not previously invoke
`utf8.decode` on its output (behaviour which differs from the non-fake
implementation), it was impossible to write tests to verify the fix.

Ref: https://api.flutter.dev/flutter/dart-io/ProcessResult/stdout.html

Issue: https://github.com/flutter/flutter/issues/102451

[decoder]: fd312f1ccf/packages/flutter_tools/lib/src/convert.dart (L51-L60)
2022-05-17 11:15:54 -07:00
Jenn Magder
bf7a32628e
Up CocoaPods minumum to 1.10 (#103655) 2022-05-16 17:42:19 -07:00
Chris Bracken
6eb12c6843
[macOS] Update template icons to Big Sur style (#103739)
Updates the AppIcon assets in the macOS app template to meet Apple's
icon guidelines as of macOS Big Sur. Assets were moved to the
[flutter_template_images][1] package, which includes them as of version
4.1.0.

Ref: https://developer.apple.com/design/human-interface-guidelines/macos/icons-and-images/app-icon/

Issue: https://github.com/flutter/flutter/issues/103371

[1]: https://github.com/flutter/packages/tree/main/packages/flutter_template_images
2022-05-14 17:20:24 -07:00
Chris Bracken
27c6cdb416
Roll dependendencies (#103771)
Roll dependendencies

This rolls depdendencies to latest using
flutter update-packages --force-upgrade

This change includes three code changes:

* Removes charcode from the dependencies allowlist since it no longer
  appears in the transitive closure of dependencies of the flutter,
  flutter_test, flutter_driver, flutter_localizations, and
  integration_test packages.

* Uses Resolver.create instead of the deprecated Resolver constructor.
  The default Resolver constructor has been deprecated in favour of the
  static Resolver.create() factory function, which unfortunately happens
  to be async. Propagated the async-ness up the chain.
  This change was partially reverted and the deprecation ignored in this
  patch until package:coverage can be rolled internally at Google.

* Eliminates the use of the deprecated packagesPath parameter to
  HitMap.parseJson. This parameter was deprecated and replaced with
  packagePath in https://github.com/dart-lang/coverage/pull/370 which
  was part of the overall deprecation of the .packages file in Dart
  itself https://github.com/dart-lang/sdk/issues/48272. The overall goal
  being that end-user code shouldn't need to know about implementation
  details such as whether dependency information is stored in a
  .packages file or a package_info.json file, but rather use the
  package_config package to obtain the package metadata and perform
  other functions such as resolving its dependencies to filesystem
  paths. packagesPath was replaced by packagePath, which takes the path
  to the package directory itself. Internally, package:coverage then
  uses package_config to do the rest of the package/script URI
  resolution to filesystem paths.
  This change was partially reverted and the deprecation ignored in this
  patch until package:coverage can be rolled internally at Google.

This is a pre-update prior to updating flutter_template_images in
https://github.com/flutter/flutter/pull/103739

Issue: https://github.com/flutter/flutter/issues/103371
Issue: https://github.com/flutter/flutter/issues/103775
Issue: https://github.com/flutter/flutter/issues/103830

When re-applying the partially-reverted changes to code coverage,
we'll need to patch host_entrypoint.dart internally to await the Future
that we'll be returning rather than a non-async value.
2022-05-14 16:34:10 -07:00
Christopher Fujino
0ad0dc255d
[flutter_tools] fix missing cmake (#103761) 2022-05-14 11:59:07 -07:00
Jonah Williams
90a592bf36
[flutter_tools] fix test asset loading (#103667) 2022-05-14 10:59:07 -07:00
Chris Bracken
f2116cb0b2
[tool] Fix BuildInfo.packagesPath doc comment (#103785)
Until recently, BuildInfo.packagesPath defaulted to `.packages` however,
the .packages file has been deprecated [1] and is being removed. In
https://github.com/flutter/flutter/pull/99677 the default was changed to
`.dart_tool/package_config.json` but the doc comment was accidentally
updated to `.dart_tool/packages`. This corrects it to the true default
value.

1: https://github.com/dart-lang/sdk/issues/48272

Spotted in the midst of some related cleanup relating to
https://github.com/flutter/flutter/issues/103775
2022-05-14 10:28:35 -07:00
Chris Bracken
28aaa1e99e
Fix deprecation doc comment (#103776)
Point users of boolArgDeprecated to boolArg rather than to
boolArgDeprecated in order to avoid losing users to infinite loops or
stack overflows depending on their implementation.
2022-05-13 19:23:07 -07:00
Christopher Fujino
4c417884c2
[flutter_tools] ensure linux doctor validator finishes when pkg-config is not installed (#103755) 2022-05-13 18:24:13 -07:00
engine-flutter-autoroll
7d234c966a
Roll Flutter Engine from 58193a3b6ef1 to 10e0e15347d3 (5 revisions) (#103742)
* c4b899f63 Roll dart sdk to 7b24ff4d92e2d2136020fc5bedadfe7025861510 (flutter/engine#33309)

* 7956603cc [web] Migrate Flutter Web DOM usage to JS static interop - 12. (flutter/engine#33241)

* 1d0c2ae6f Roll Skia from 1e43dce386c9 to f6e31bf1dcfb (6 revisions) (flutter/engine#33320)

* ed5a2fef0 Roll Skia from f6e31bf1dcfb to 69fecd6c2d85 (1 revision) (flutter/engine#33322)

* 10e0e1534 Revert "[web] Migrate Flutter Web DOM usage to JS static interop - 12. (#33241)" (flutter/engine#33321)

* fix local tests

Co-authored-by: Jonah Williams <jonahwilliams@google.com>
2022-05-13 14:30:19 -07:00
Jonah Williams
73846448fe
[flutter_tools] remove assertion for deprecation .packages (#103729) 2022-05-13 12:58:39 -07:00
Jason Simmons
275fb0286c
Fix avoid_redundant_argument_values analyzer warnings enabled in the latest Dart SDK (#103734)
See https://github.com/flutter/flutter/pull/103719
2022-05-13 12:57:59 -07:00
Jenn Magder
036cae3669
Enforce minimum plugin version iOS 11 (#103545) 2022-05-13 10:04:10 -07:00
Jonah Williams
9f28b83c19
[flutter_tools] migrate some integration tests to null safety (#103560) 2022-05-13 09:39:10 -07:00
Alex Li
aa39fa5a88
[gen_l10n] Better blank lines in the header of generated files (#103414) 2022-05-12 16:04:18 -07:00
David Iglesias
1af8cc1183
[tools][web] Make Plugin Registrant file ephemeral. (#102185) 2022-05-11 17:54:11 -07:00
Gary Qian
e997a3abd2
Add tests for migrate command methods (#103466) 2022-05-11 11:09:08 -07:00
Anna Gringauze
29fecb5980
Provide flutter sdk kernel files to dwds launcher instead of dart ones (#103436)
* Provide flutter sdk kernel files to dwds launcher instead of dart ones

* Update log test to report all warnings

* Update licences for new files

* Addressed CR comments

* Addressed CR comments
2022-05-11 08:52:43 -07:00
Jonah Williams
c1b909e3fc
add image load benchmark (#103459) 2022-05-10 22:49:08 -07:00
Christopher Fujino
e8c01a8aa8
[flutter_tools] pub roll (#103220)
Co-authored-by: Michael Goderbauer <goderbauer@google.com>
2022-05-10 10:26:54 -07:00
Aman Verma
f86dfdd2b7
[flutter_tools] boolArg refactor (#102088) 2022-05-09 21:54:08 -07:00
Gary Qian
90a8b0561d
[flutter_tools] MigrateUtils and MigrateManifest classes (#101937) 2022-05-09 15:23:50 -07:00
Jesús S Guerrero
596e9d1c47
[flutter_tools] stringArg refactor (#103231) 2022-05-09 09:54:12 -07:00
Danny Tuppeny
4ab68bd04d
Use consistent date instead of DateTime.now() in evaluation tests (#103269) 2022-05-08 19:32:14 +01:00
Christopher Fujino
09686a04c9
[flutter_tools] add --uninstall-first flag and pipe it through to ios-deploy (#102948) 2022-05-07 11:49:07 -07:00
Jenn Magder
c6ced845e3
Remove custom unawaited, prefer dart:async version (#103212) 2022-05-07 08:49:04 -07:00
Alexandre Ardhuin
d40ee2149c
remove unnecessary .toString() (#103226) 2022-05-06 16:04:13 -07:00
Gary Qian
1b16d23747
Add debug logging to deferred components test for deflaking (#103161) 2022-05-06 02:39:08 -07:00
Jenn Magder
35513c265c
Remove unused flutterMacOSPodspec artifact (#103088) 2022-05-04 16:59:07 -07:00
Jenn Magder
2e1c146eec
Update ffi gem installation instructions (#103008) 2022-05-04 13:24:08 -07:00
Zachary Anderson
577919dbfe
Don't hardcode ink sparkle spir-v (#102674) 2022-05-04 09:28:45 -07:00
Christopher Fujino
9d59532a7b
[flutter_tools] update feature defaults (#102937) 2022-05-02 15:14:09 -07:00
Jenn Magder
36be63ba19
Embed Flutter and App frameworks for add-to-app on iOS (#102538) 2022-05-02 10:44:12 -07:00
Jesús S Guerrero
780a6c422b
[flutter_tool] New command project (#102118) 2022-04-29 23:09:06 -07:00
Tim Sneath
e4bd552e59
Update features.dart (#102766) 2022-04-28 16:34:08 -07:00
Phil Quitslund
6a443138cd
fix unnecessary_null_checks (#102705) 2022-04-28 10:39:06 -07:00
Phil Quitslund
b5e7fb076c
[flutter_tools] rename local functions with _s (#102688) 2022-04-27 16:19:07 -07:00
Pierre-Louis
9644aa8d76
Fixes documentation inconsistencies around 'material' and 'material design' (#102632) 2022-04-27 09:29:06 -07:00
Alexandre Ardhuin
07f1c20474
add missing trailing commas in list/set/map literals (#102585) 2022-04-27 09:15:35 +02:00
Zachary Anderson
4a2ed00231
[flutter_tools] Add entries to HostArtifacts for impellerc, libtessellator (#102593) 2022-04-26 13:30:45 -07:00
Jonah Williams
944fcda67f
[flutter_tools] remove UWP tooling (#102174) 2022-04-26 11:19:07 -07:00
Emmanuel Garcia
46cb9ede2f
Reduce Gradle log level in verbose output (#102422) 2022-04-25 10:30:40 -07:00
Alex Li
dca58a289b
[gen_l10n] Throw a specified exception when the language code is invalid (#102431) 2022-04-24 11:04:06 -07:00
Christopher Fujino
5a3e10047f
[flutter_tools] Add test that "Unresolve URI" warnings from DWDS are filtered from logs (#102399) 2022-04-22 15:29:07 -07:00
Elliott Brooks (she/her)
5414ef4c86
Hide unresolved DartUri log messages (#102338) 2022-04-22 12:43:39 -07:00
Kaushik Iska
512cbdb9da
Enable jank metric collection in profile mode (#102334) 2022-04-21 15:54:13 -07:00
Jenn Magder
c9825d24dd
Handle CocoaPods ffi stderr (#102327) 2022-04-21 15:49:08 -07:00
Elsabe Ros
606e91ad63
Use the maven-publish plugin to publish AAR files. (#101891) 2022-04-19 16:34:07 -07:00
Christopher Fujino
f1e4018b58
[flutter_tools] explicitly enable macos-desktop in macos_content_validation_test.dart (#102009) 2022-04-15 20:14:08 -07:00
Chris Yang
a8da7ced35
Hide default bundle id error when xcresult detects an error (#101993) 2022-04-15 11:44:08 -07:00
Jenn Magder
1756ccc541
Set template and migrate apps to iOS 11 minimum (#101963) 2022-04-15 11:34:08 -07:00
Pierre-Louis
b9528c057a
Remove trailing spaces in repo (#101191)
* Remove trailing spaces

* more

* empty commit
2022-04-15 14:06:30 +02:00
Jason Simmons
d05d43431e
Provide a flag for controlling the dart2js optimization level when building for web targets (#101945) 2022-04-15 00:19:06 -07:00
Jenn Magder
5b58d5c58f
Exclude armv7 from iOS add-to-app plugins (#101943) 2022-04-14 18:24:08 -07:00
Anurag Roy
ae805de468
[flutter_tools] Remove usage of globals.flutterGit from version (#100744) 2022-04-14 14:44:09 -07:00
Jenn Magder
fe11f57c61
Detect ARM ffi CocoaPods bus error (#101796) 2022-04-14 14:34:10 -07:00
DetachHead
ba89942fb4
ignore prefer_final_parameters in generated_plugin_registrant template (#101253) 2022-04-14 14:19:09 -07:00
Kaushik Iska
aeaeded715
Add VMService command to get frame rasterization metrics (#100696) 2022-04-14 13:44:05 -07:00
Michael Goderbauer
329ceaef66
Use super parameters in templates (#101157) 2022-04-14 13:26:38 -07:00
Michael Goderbauer
d5cbb36c91
Migrate remaining files to super parameters (#101919) 2022-04-14 12:04:07 -07:00
Lau Ching Jun
c2dc92ca88
Default to the newer version path when checking Android Studio Java path (#101862) 2022-04-13 22:49:06 -07:00
Christopher Fujino
41b73894bc
Test framework for executable files (#101853) 2022-04-13 22:44:07 -07:00
Yegor
52d17b6672
[web] remove timeout when waiting for browser to launch (#101843) 2022-04-13 13:38:51 -07:00
Christopher Fujino
fd5356ff60
[flutter_tools] shard out two integration tests we want to run on macOS arm64 (#101769) 2022-04-13 12:09:11 -07:00
Zachary Anderson
6190c5df09
Revert "Use the maven-publish plugin to publish AAR files. (#101276)" (#101827)
This reverts commit 2b0255f0d9.
2022-04-13 08:12:07 -07:00
Elsabe Ros
2b0255f0d9
Use the maven-publish plugin to publish AAR files. (#101276) 2022-04-12 22:19:08 -07:00
Callum Moffat
30a501801a
Support trackpad gestures in framework (#89944)
* Implement trackpad gestures in framework

* Touch and Pan/Zoom pointers have separate IDs now

* Handle trackpad pointer device type

* Respect supportedDevices for pan/zoom events

* Update after rebase

* Fix check failures

* Avoid error with very short drags

* Address feedback

* Refactor drag event handler

* Address more feedback

* Add some missing punctuation
2022-04-12 19:47:01 -07:00
Jenn Magder
6ccd993976
Add flutter build ipa --no-codesign flag (#101766) 2022-04-12 14:49:09 -07:00
Jenn Magder
d4bfb01336
Do not build for iOS armv7 (#97341) 2022-04-12 14:44:09 -07:00
Jenn Magder
888208c1f4
Disallow flutter run-ing on 32-bit development devices (#97339) 2022-04-12 14:39:07 -07:00
Christopher Fujino
d07ce92b15
[flutter_tools] Re-land Dump backtrace on ios app startup timeout (#101763) 2022-04-12 13:24:04 -07:00
Christopher Fujino
2a6582997d
Revert "[flutter_tools] Dump backtrace on ios app startup timeout (#101610)" (#101761)
This reverts commit 2978b59be7.
2022-04-12 09:09:32 -07:00
Christopher Fujino
2978b59be7
[flutter_tools] Dump backtrace on ios app startup timeout (#101610) 2022-04-12 08:49:08 -07:00
Emmanuel Garcia
9e0f0fe9d7
Add Gradle stacktrace and debug log level to verbose builds (#101734) 2022-04-11 20:14:08 -07:00
linxuebin
712667fb62
Remove the run_loop.h and run_loop.cpp files from template_manifest.json (#100976) 2022-04-11 19:54:07 -07:00
David Iglesias
bee95b6984
[flutter.js] Wait for reg.update, then activate sw (if not active yet). (#101464) 2022-04-11 19:04:08 -07:00
Michael Goderbauer
fa48aed7b2
Bump dwds to 13.1.0 (#101730) 2022-04-11 18:29:14 -07:00
Christopher Fujino
355fd23a79
[flutter_tools] add test for dart binary arch (#101604) 2022-04-11 16:28:37 -07:00
Yang Chao
343713727a
Enable track widget creation when generating Generated.xcconfig (#101123) 2022-04-11 14:29:11 -07:00
Danny Tuppeny
675b961573
Unpause and remove breakpoints when detaching from Flutter process with DAP (#101695) 2022-04-11 21:15:37 +01:00
Danny Tuppeny
b086473769
Pass multidex flag when using --machine mode (#101689) 2022-04-11 12:19:09 -07:00
Jesús S Guerrero
2302daa3aa
Create when offline style (#101589) 2022-04-11 12:14:05 -07:00
Daco Harkes
85aac37ccf
Add more debugging info to android_plugin_example_app_build_test (#101685) 2022-04-11 08:24:09 -07:00
Janko Djuric
78ae72b0b2
[flutter_tools] Add --build-number and --build-name support to web and linux (#100377) 2022-04-10 11:42:39 -07:00
Chris Yang
1755819cb1
Log XCResult before other build issues (#100787) 2022-04-08 16:27:08 -07:00
Jenn Magder
71d52f27fb
Test Flutter.xcframework directory ios-arm64_armv7 or ios-arm64 (#101592) 2022-04-08 16:12:09 -07:00
Michael Goderbauer
a01424773e
Enable unnecessary_import (#101600) 2022-04-08 12:56:45 -07:00
Michael Goderbauer
cae740b903
Enable strict-casts (as replacement for implicit-casts) (#101567) 2022-04-08 11:15:34 -07:00
Anna Gringauze
74944d528f
Run update-packages (#101450)
* Run update-packages

* Update DwdsLauncher, disable failing test

* Fix analyze error

Co-authored-by: Jenn Magder <magder@google.com>
2022-04-07 17:07:05 -07:00
Jesús S Guerrero
3394fb4a58
[flutter_tools] fix flutter create --offline (#100941)
Co-authored-by: Christopher Fujino <christopherfujino@gmail.com>
2022-04-07 17:05:49 -07:00
Emmanuel Garcia
b528310f58
Specify Kotlin version in modules and refactor (#101315) 2022-04-07 13:20:33 -07:00
Jenn Magder
d745eec051
Add --use-application-binary to "flutter install" (#101324) 2022-04-06 13:17:26 -07:00
Michael Goderbauer
296221a90d
Partial revert of super params in tools (#101436) 2022-04-06 11:04:38 -07:00
creativecreatorormaybenot
96add4192e
Use single quotes for dartSdkVersionBounds (#101270)
* Use single quotes for `dartSdkVersionBounds`

* Update update_packages_test.dart

* Update test_project.dart

* Update tests_project.dart

* Update compile_error_project.dart

* Update hot_reload_with_asset.dart

* Update break_on_framework_exceptions_test.dart

* Update basic_project.dart
2022-04-06 09:54:10 -07:00
Lau Ching Jun
7f64e2ae02
Catch errors in ProxiedDevice to make sure we don't crash on errors. (#101332) 2022-04-06 09:51:10 -07:00
gaaclarke
35b18ba2e9
Made flag for debugging build time of user created widgets (#100926)
* Added a bool that allows us to limit debugProfileBuildsEnabled to user
created widgets.

* made it turned on by default

* switched to hashmap

* Cleaned everything up and added tests

* fixed an odd test where it wants to be able to add asserts and run in profile mode

* hixie feedback

* hixie2

* made it default to false

* updated docstring as per dans request
2022-04-05 10:54:21 -07:00
Jenn Magder
839a183ea6
Add note to doctor validator if script is running Rosetta (#101309) 2022-04-05 10:37:35 -07:00
keyonghan
95f4f473ff
[Revert] Skip overall_experience_test.dart: flutter run writes and clears pidfile appropriately (#101267)
* restore test

* use seed 20211102

* restore seed
2022-04-04 13:26:27 -07:00