Roll Flutter Engine from 1cdbebee1901 to c7fcbfce608f (54 revisions) (#150069)

Roll Flutter Engine from 1cdbebee1901 to c7fcbfce608f (54 revisions)

https://github.com/flutter/engine/compare/1cdbebee1901...c7fcbfce608f

2024-06-11 jason-simmons@users.noreply.github.com Fix character getter API usage in stripLeftSlashes/stripRightSlashes (flutter/engine#53299)
2024-06-11 yjbanov@google.com [web] switch from .didGain/LoseAccessibilityFocus to .focus (flutter/engine#53134)
2024-06-11 skia-flutter-autoroll@skia.org Roll Dart SDK from 282b3347dc3e to ab4d5a0b789d (1 revision) (flutter/engine#53338)
2024-06-11 bdero@google.com [Flutter GPU] Generate DescriptorSetLayouts for pipelines & export symbols on Android. (flutter/engine#53184)
2024-06-11 skia-flutter-autoroll@skia.org Roll Skia from cd2249d1ba33 to b5f974ec2dcd (4 revisions) (flutter/engine#53337)
2024-06-11 jonahwilliams@google.com [Impeller] remove varying interpolation for solid colors. (flutter/engine#53281)
2024-06-11 skia-flutter-autoroll@skia.org Roll Skia from 67c3ee616fb5 to cd2249d1ba33 (4 revisions) (flutter/engine#53335)
2024-06-11 jonahwilliams@google.com [engine] null check texture registry in OnPlatformViewMarkTextureFrameAvailable. (flutter/engine#53334)
2024-06-11 skia-flutter-autoroll@skia.org Manual roll Dart SDK from 66ed61abe85e to 282b3347dc3e (4 revisions) (flutter/engine#53332)
2024-06-11 skia-flutter-autoroll@skia.org Roll Skia from 74061baa5402 to 67c3ee616fb5 (2 revisions) (flutter/engine#53333)
2024-06-11 skia-flutter-autoroll@skia.org Roll Skia from f4d3467f2742 to 74061baa5402 (1 revision) (flutter/engine#53331)
2024-06-11 skia-flutter-autoroll@skia.org Roll Skia from 5afbe0a7aded to f4d3467f2742 (1 revision) (flutter/engine#53330)
2024-06-11 skia-flutter-autoroll@skia.org Roll Skia from eb8a53033e88 to 5afbe0a7aded (1 revision) (flutter/engine#53328)
2024-06-11 skia-flutter-autoroll@skia.org Roll Skia from ed92d84ffd3a to eb8a53033e88 (1 revision) (flutter/engine#53327)
2024-06-11 skia-flutter-autoroll@skia.org Roll Skia from 6e7a7a72cf3e to ed92d84ffd3a (5 revisions) (flutter/engine#53326)
2024-06-11 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.25.6 to 3.25.8 (flutter/engine#53325)
2024-06-11 49699333+dependabot[bot]@users.noreply.github.com Bump google/osv-scanner-action from 1.7.3 to 1.7.4 (flutter/engine#53324)
2024-06-11 skia-flutter-autoroll@skia.org Roll Skia from b2bc3608f5c7 to 6e7a7a72cf3e (1 revision) (flutter/engine#53323)
2024-06-11 skia-flutter-autoroll@skia.org Manual roll Dart SDK from 235dc289e4bf to 66ed61abe85e (5 revisions) (flutter/engine#53319)
2024-06-11 skia-flutter-autoroll@skia.org Roll Skia from 38733e27e0d2 to b2bc3608f5c7 (1 revision) (flutter/engine#53321)
2024-06-10 15619084+vashworth@users.noreply.github.com Temporarily run Linux linux_web_engine Mac tests on Mac-13 only (flutter/engine#53318)
2024-06-10 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from -oOBf1l63tk7CztFd... to LS0Ff8PwQEGXzO0iA... (flutter/engine#53317)
2024-06-10 smartercallum@gmail.com Map mouse pointer type on Linux (flutter/engine#52418)
2024-06-10 skia-flutter-autoroll@skia.org Roll Skia from 09cebc502599 to 38733e27e0d2 (1 revision) (flutter/engine#53316)
2024-06-10 15619084+vashworth@users.noreply.github.com Temporarily run Mac mac_host_engine on only Mac-13  (flutter/engine#53313)
2024-06-10 skia-flutter-autoroll@skia.org Roll Skia from 178953621308 to 09cebc502599 (1 revision) (flutter/engine#53312)
2024-06-10 skia-flutter-autoroll@skia.org Roll Skia from 009d184e82c5 to 178953621308 (2 revisions) (flutter/engine#53311)
2024-06-10 skia-flutter-autoroll@skia.org Roll Skia from 163df01252cd to 009d184e82c5 (1 revision) (flutter/engine#53309)
2024-06-10 kustermann@google.com Use dart.library.html to distinguish dart2wasm from dart2js/ddc in conditional imports (flutter/engine#53307)
2024-06-10 skia-flutter-autoroll@skia.org Roll Skia from 74b1e88878e1 to 163df01252cd (1 revision) (flutter/engine#53308)
2024-06-10 kustermann@google.com Use new dart:js_interop way to externalize/internalize objects (flutter/engine#53304)
2024-06-10 skia-flutter-autoroll@skia.org Roll Skia from 09e5ddcd4d23 to 74b1e88878e1 (1 revision) (flutter/engine#53305)
2024-06-10 skia-flutter-autoroll@skia.org Roll Skia from e22a628e1ee0 to 09e5ddcd4d23 (1 revision) (flutter/engine#53302)
2024-06-10 skia-flutter-autoroll@skia.org Roll Skia from 70d479753d41 to e22a628e1ee0 (2 revisions) (flutter/engine#53301)
2024-06-10 skia-flutter-autoroll@skia.org Roll Skia from aafc81dcd88d to 70d479753d41 (1 revision) (flutter/engine#53300)
2024-06-09 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 8-r8iw3r4h35XQ4GP... to -oOBf1l63tk7CztFd... (flutter/engine#53298)
2024-06-09 skia-flutter-autoroll@skia.org Roll Skia from 7d410bf13546 to aafc81dcd88d (1 revision) (flutter/engine#53297)
2024-06-08 bdero@google.com [Impeller] Move SeparatedVector2 to impeller/geometry. (flutter/engine#53264)
2024-06-08 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from zpBZmUB_JC5AjG-f4... to 8-r8iw3r4h35XQ4GP... (flutter/engine#53291)
2024-06-08 skia-flutter-autoroll@skia.org Roll Skia from a6c905943fe6 to 7d410bf13546 (1 revision) (flutter/engine#53290)
2024-06-08 skia-flutter-autoroll@skia.org Roll Dart SDK from 48c6249a5b97 to 235dc289e4bf (1 revision) (flutter/engine#53289)
2024-06-08 skia-flutter-autoroll@skia.org Roll Skia from ad3c9f203f4e to a6c905943fe6 (1 revision) (flutter/engine#53288)
2024-06-08 skia-flutter-autoroll@skia.org Roll Dart SDK from d4f17e0bf28b to 48c6249a5b97 (1 revision) (flutter/engine#53287)
2024-06-08 30870216+gaaclarke@users.noreply.github.com [impeller] switches gaussian blur to a "source space" calculation (flutter/engine#53261)
2024-06-07 yjbanov@google.com [web] add test for inefficient overlay allocation (flutter/engine#53284)
2024-06-07 jacksongardner@google.com Update Chrome to 125. (flutter/engine#53282)
...
https://dart.googlesource.com/external/github.com/flutter/flutter/+/cc24f877dbc115693e5bae7885d0fc09a47bdafb
2 files changed
tree: 74cbd262d902128143dfb8a33f4b907a8b924556
  1. ci/
  2. tools/
  3. .gitignore
  4. commits.json
  5. DEPS
  6. OWNERS
  7. README.md
README.md

Monorepo

A gclient solution for checking out Dart and Flutter source trees

Monorepo is:

  • Optimized for Tip-of-Tree testing: The Monorepo DEPS used to check out Dart and Flutter dependencies comes from the Flutter engine DEPS with updated dependencies from Dart.

Checking out Monorepo

With depot_tools installed and on your path, create a directory for your monorepo checkout and run these commands to create a gclient solution in that directory:

mkdir monorepo
cd monorepo
gclient config --unmanaged https://dart.googlesource.com/monorepo
gclient sync -D

This gives you a checkout in the monorepo directory that contains:

monorepo/
  DEPS - the DEPS used for this gclient checkout
  commits.json - the pinned commits for Dart, flutter/engine,
                 and flutter/flutter
  tools/ - scripts used to create monorepo DEPS
engine/src/ - the flutter/buildroot repo
    flutter/ - the flutter/engine repo
    out/ - the build directory, where Flutter engine builds are created
    third_party/ - Flutter dependencies checked out by DEPS
      dart/ - the Dart SDK checkout.
        third_party - Dart dependencies, also used by Flutter
flutter/ - the flutter/flutter repo

Building Flutter engine

Flutter's instructions for building the engine are at Compiling the engine

They can be followed closely, with a few changes:

  • Googlers working on Dart do not need to switch to Fuchsia's Goma RBE, except for Windows. The GOMA_DIR enviroment variable can just point to the .cipd_bin directory in a depot_tools installation, and just goma_ctl ensure_start is sufficient.
  • The --no-prebuilt-dart-sdk option has to be added to every gn command, so that the build is set up to build and use a local Dart SDK.
  • The --full-dart-sdk option must be added to gn for the host build target if you will be building web or desktop apps.

Example build commands that work on linux:

MONOREPO_PATH=$PWD
if [[ ! $PATH =~ (^|:)$MONOREPO_PATH/flutter/bin(:|$) ]]; then
  PATH=$MONOREPO_PATH/flutter/bin:$PATH
fi

export GOMA_DIR=$(dirname $(command -v gclient))/.cipd_bin
goma_ctl ensure_start

pushd engine/src
flutter/tools/gn --goma --no-prebuilt-dart-sdk --unoptimized --full-dart-sdk
autoninja -C out/host_debug_unopt
popd

Building Flutter apps

The Flutter commands used to build and run apps will use the locally built Flutter engine and Dart SDK, instead of the one downloaded by the Flutter tool, if the --local-engine option is provided.

For example, to build and run the Flutter spinning square sample on the web platform,

MONOREPO_PATH=$PWD
cd flutter/examples/layers
flutter --local-engine=host_debug_unopt \
  -d chrome run widgets/spinning_square.dart
cd $MONOREPO_PATH

To build for desktop, specify the desktop platform device in flutter run as -d macos or -d linux or -d windows. You may also need to run the command

flutter create --platforms=windows,macos,linux

on existing apps, such as sample apps. New apps created with flutter create already include these support files. Details of desktop support are at Desktop Support for Flutter

Testing

Tests in the Flutter source tree can be run with the flutter test command, run in the directory of a package containing tests. For example:

MONOREPO_PATH=$PWD
cd flutter/packages/flutter
flutter test --local-engine=host_debug_unopt
cd $MONOREPO_PATH

Troubleshooting

Please file an issue or email the dart-engprod team with any problems with or questions about using monorepo.

We will update this documentation to address them.

  • flutter commands may download the engine and Dart SDK files for the configured channel, even though they will be using the local engine and its SDK.

Windows

  • On Windows, gclient sync needs to be run in an administrator session, because some installed dependencies create symlinks.