Skip to content

Conversation

cbracken
Copy link
Member

@cbracken cbracken commented May 8, 2025

In new Swift code in the iOS/macOS embedder, we currently lack core features currently provided by shared internal C++ library code in FML. This provides a logging implementation that can be used across the iOS/macOS embedders, whether in Swift, Objective-C, or C++ code, and migrates the iOS and macOS embedders to use it.

This patch also introduces gn support for authoring Swift Testing tests.

  • Introduces a SwiftTestingRunner class that launches the Swift Testing test runner, which runs all tests annotated with @Test linked into the current executable.
  • Introduces a SwiftTestingRunnerMain class that implements a main entrypoint that launches the SwiftTestingRunner.
  • Introduces a gn source_set target (//flutter/shell/platform/darwin/common:swift_testing_main) that includes the Swift Testing main entrypoint, such that executable targets can add it to their deps to automatically be built as a Swift Testing runner.
  • Adds a framework_common_swift_unittests executable target for the common framework unit tests, and wires that into the build and run_tests.py for macOS.

Issue: #168564
Issue: #144791

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@cbracken cbracken requested a review from a team as a code owner May 8, 2025 21:35
@github-actions github-actions bot added platform-ios iOS applications specifically engine flutter/engine related. See also e: labels. a: desktop Running on desktop team-ios Owned by iOS platform team platform-macos labels May 8, 2025
@cbracken cbracken force-pushed the swift-logger branch 7 times, most recently from d026490 to 5971bb2 Compare May 13, 2025 20:10
@cbracken cbracken force-pushed the swift-logger branch 8 times, most recently from 097a49c to 354f336 Compare May 15, 2025 00:33
This migrates off the private API for Swift Package Manager, and onto
the official v0 public ABI.
@cbracken cbracken added the autosubmit Merge PR when tree becomes green via auto submit App label May 15, 2025
@auto-submit auto-submit bot added this pull request to the merge queue May 15, 2025
Merged via the queue into flutter:master with commit 540d19c May 15, 2025
180 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label May 15, 2025
@cbracken cbracken deleted the swift-logger branch May 15, 2025 05:26
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 15, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request May 15, 2025
flutter/flutter@0b9f928...9a78af5

2025-05-15 bkonyi@google.com Manual pub package roll (flutter/flutter#168916)
2025-05-15 matanlurey@users.noreply.github.com Remove unnecessary `bringup: true` for release-channel only `Linux flutter_packaging`. (flutter/flutter#168761)
2025-05-15 matanlurey@users.noreply.github.com Revert: "Run `flutter_packaging` builders on release candidates (flutter/flutter#168917)
2025-05-15 engine-flutter-autoroll@skia.org Roll Dart SDK from a6c25e31caa7 to c9640c3a4440 (1 revision) (flutter/flutter#168911)
2025-05-15 engine-flutter-autoroll@skia.org Roll Packages from 1468581 to 2dff621 (4 revisions) (flutter/flutter#168908)
2025-05-15 engine-flutter-autoroll@skia.org Roll Dart SDK from b3520981e0f0 to a6c25e31caa7 (11 revisions) (flutter/flutter#168895)
2025-05-15 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from fSvuEJgRmHxnewRJr... to Jj-iDG5uPOsFgY2_H... (flutter/flutter#168893)
2025-05-15 jsimionato@google.com Fix mac_ios_engine_ddm config with missing ci/ios_debug_sim_ddm config (flutter/flutter#168888)
2025-05-15 dacoharkes@google.com [native assets] Remove `KernelSnapshot` dependency in build (flutter/flutter#168742)
2025-05-15 chris@bracken.jp iOS,macOS: Migrate logging to Logger/FlutterLogger (flutter/flutter#168568)
2025-05-15 58529443+srujzs@users.noreply.github.com Skip hot reload breakpoints test when running with web (flutter/flutter#168873)
2025-05-15 victorsanniay@gmail.com CupertinoSliverNavigationBar respects accessibility text scaling (flutter/flutter#168866)
2025-05-15 jonahwilliams@google.com [display_list] paint cleanup. (flutter/flutter#168082)
2025-05-15 jsimionato@google.com Add a new CI build for iOS DDM-enabled artifacts (flutter/flutter#168717)
2025-05-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396)" (flutter/flutter#168880)
2025-05-14 30870216+gaaclarke@users.noreply.github.com Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (flutter/flutter#168396)
2025-05-14 matanlurey@users.noreply.github.com Mark web_tool_tests_1_2 as bringup. (flutter/flutter#168871)
2025-05-14 fluttergithubbot@gmail.com Marks Mac_mokey run_debug_test_android to be unflaky (flutter/flutter#167634)
2025-05-14 victorsanniay@gmail.com Reland "Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions" (flutter/flutter#168772)
2025-05-14 matanlurey@users.noreply.github.com Remove references to `team-release`. (flutter/flutter#168780)
2025-05-14 58190796+MitchellGoodwin@users.noreply.github.com Make Cupertino sheet set the systemUIStyle through an AnnotatedRegion (flutter/flutter#168182)
2025-05-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Use live region in error text input decorator for Android (#165531)" (flutter/flutter#168848)
2025-05-14 huy@nevercode.io Normalize BottomAppBarTheme (flutter/flutter#168586)
2025-05-14 engine-flutter-autoroll@skia.org Roll Packages from 2e166de to 1468581 (2 revisions) (flutter/flutter#168828)
2025-05-14 chris@bracken.jp macOS,iOS: fix swift target triple (flutter/flutter#168749)
2025-05-14 matanlurey@users.noreply.github.com Further update `Engine-artifacts.md`. (flutter/flutter#168779)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
cbracken added a commit to cbracken/flutter that referenced this pull request May 15, 2025
This migrates FlutterResizeSynchronizer from an Objective-C
implementaton to a Swift implementation.

This is serves a couple purposes:
* adds the first Swift tests for the macOS embedder.
* adds Swift usage of the Logger I added in flutter#168568.

Issue: flutter#168564
Issue: flutter#144791
cbracken added a commit to cbracken/flutter that referenced this pull request May 15, 2025
This migrates FlutterResizeSynchronizer from an Objective-C
implementaton to a Swift implementation.

This is serves a couple purposes:
* adds the first Swift tests for the macOS embedder.
* adds Swift usage of the Logger I added in flutter#168568.

Issue: flutter#168564
Issue: flutter#144791
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
…r#9259)

flutter/flutter@0b9f928...9a78af5

2025-05-15 bkonyi@google.com Manual pub package roll (flutter/flutter#168916)
2025-05-15 matanlurey@users.noreply.github.com Remove unnecessary `bringup: true` for release-channel only `Linux flutter_packaging`. (flutter/flutter#168761)
2025-05-15 matanlurey@users.noreply.github.com Revert: "Run `flutter_packaging` builders on release candidates (flutter/flutter#168917)
2025-05-15 engine-flutter-autoroll@skia.org Roll Dart SDK from a6c25e31caa7 to c9640c3a4440 (1 revision) (flutter/flutter#168911)
2025-05-15 engine-flutter-autoroll@skia.org Roll Packages from 1468581 to 2dff621 (4 revisions) (flutter/flutter#168908)
2025-05-15 engine-flutter-autoroll@skia.org Roll Dart SDK from b3520981e0f0 to a6c25e31caa7 (11 revisions) (flutter/flutter#168895)
2025-05-15 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from fSvuEJgRmHxnewRJr... to Jj-iDG5uPOsFgY2_H... (flutter/flutter#168893)
2025-05-15 jsimionato@google.com Fix mac_ios_engine_ddm config with missing ci/ios_debug_sim_ddm config (flutter/flutter#168888)
2025-05-15 dacoharkes@google.com [native assets] Remove `KernelSnapshot` dependency in build (flutter/flutter#168742)
2025-05-15 chris@bracken.jp iOS,macOS: Migrate logging to Logger/FlutterLogger (flutter/flutter#168568)
2025-05-15 58529443+srujzs@users.noreply.github.com Skip hot reload breakpoints test when running with web (flutter/flutter#168873)
2025-05-15 victorsanniay@gmail.com CupertinoSliverNavigationBar respects accessibility text scaling (flutter/flutter#168866)
2025-05-15 jonahwilliams@google.com [display_list] paint cleanup. (flutter/flutter#168082)
2025-05-15 jsimionato@google.com Add a new CI build for iOS DDM-enabled artifacts (flutter/flutter#168717)
2025-05-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396)" (flutter/flutter#168880)
2025-05-14 30870216+gaaclarke@users.noreply.github.com Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (flutter/flutter#168396)
2025-05-14 matanlurey@users.noreply.github.com Mark web_tool_tests_1_2 as bringup. (flutter/flutter#168871)
2025-05-14 fluttergithubbot@gmail.com Marks Mac_mokey run_debug_test_android to be unflaky (flutter/flutter#167634)
2025-05-14 victorsanniay@gmail.com Reland "Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions" (flutter/flutter#168772)
2025-05-14 matanlurey@users.noreply.github.com Remove references to `team-release`. (flutter/flutter#168780)
2025-05-14 58190796+MitchellGoodwin@users.noreply.github.com Make Cupertino sheet set the systemUIStyle through an AnnotatedRegion (flutter/flutter#168182)
2025-05-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Use live region in error text input decorator for Android (#165531)" (flutter/flutter#168848)
2025-05-14 huy@nevercode.io Normalize BottomAppBarTheme (flutter/flutter#168586)
2025-05-14 engine-flutter-autoroll@skia.org Roll Packages from 2e166de to 1468581 (2 revisions) (flutter/flutter#168828)
2025-05-14 chris@bracken.jp macOS,iOS: fix swift target triple (flutter/flutter#168749)
2025-05-14 matanlurey@users.noreply.github.com Further update `Engine-artifacts.md`. (flutter/flutter#168779)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Ortes pushed a commit to Ortes/packages that referenced this pull request Jun 25, 2025
…r#9259)

flutter/flutter@0b9f928...9a78af5

2025-05-15 bkonyi@google.com Manual pub package roll (flutter/flutter#168916)
2025-05-15 matanlurey@users.noreply.github.com Remove unnecessary `bringup: true` for release-channel only `Linux flutter_packaging`. (flutter/flutter#168761)
2025-05-15 matanlurey@users.noreply.github.com Revert: "Run `flutter_packaging` builders on release candidates (flutter/flutter#168917)
2025-05-15 engine-flutter-autoroll@skia.org Roll Dart SDK from a6c25e31caa7 to c9640c3a4440 (1 revision) (flutter/flutter#168911)
2025-05-15 engine-flutter-autoroll@skia.org Roll Packages from 1468581 to 2dff621 (4 revisions) (flutter/flutter#168908)
2025-05-15 engine-flutter-autoroll@skia.org Roll Dart SDK from b3520981e0f0 to a6c25e31caa7 (11 revisions) (flutter/flutter#168895)
2025-05-15 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from fSvuEJgRmHxnewRJr... to Jj-iDG5uPOsFgY2_H... (flutter/flutter#168893)
2025-05-15 jsimionato@google.com Fix mac_ios_engine_ddm config with missing ci/ios_debug_sim_ddm config (flutter/flutter#168888)
2025-05-15 dacoharkes@google.com [native assets] Remove `KernelSnapshot` dependency in build (flutter/flutter#168742)
2025-05-15 chris@bracken.jp iOS,macOS: Migrate logging to Logger/FlutterLogger (flutter/flutter#168568)
2025-05-15 58529443+srujzs@users.noreply.github.com Skip hot reload breakpoints test when running with web (flutter/flutter#168873)
2025-05-15 victorsanniay@gmail.com CupertinoSliverNavigationBar respects accessibility text scaling (flutter/flutter#168866)
2025-05-15 jonahwilliams@google.com [display_list] paint cleanup. (flutter/flutter#168082)
2025-05-15 jsimionato@google.com Add a new CI build for iOS DDM-enabled artifacts (flutter/flutter#168717)
2025-05-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396)" (flutter/flutter#168880)
2025-05-14 30870216+gaaclarke@users.noreply.github.com Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (flutter/flutter#168396)
2025-05-14 matanlurey@users.noreply.github.com Mark web_tool_tests_1_2 as bringup. (flutter/flutter#168871)
2025-05-14 fluttergithubbot@gmail.com Marks Mac_mokey run_debug_test_android to be unflaky (flutter/flutter#167634)
2025-05-14 victorsanniay@gmail.com Reland "Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions" (flutter/flutter#168772)
2025-05-14 matanlurey@users.noreply.github.com Remove references to `team-release`. (flutter/flutter#168780)
2025-05-14 58190796+MitchellGoodwin@users.noreply.github.com Make Cupertino sheet set the systemUIStyle through an AnnotatedRegion (flutter/flutter#168182)
2025-05-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Use live region in error text input decorator for Android (#165531)" (flutter/flutter#168848)
2025-05-14 huy@nevercode.io Normalize BottomAppBarTheme (flutter/flutter#168586)
2025-05-14 engine-flutter-autoroll@skia.org Roll Packages from 2e166de to 1468581 (2 revisions) (flutter/flutter#168828)
2025-05-14 chris@bracken.jp macOS,iOS: fix swift target triple (flutter/flutter#168749)
2025-05-14 matanlurey@users.noreply.github.com Further update `Engine-artifacts.md`. (flutter/flutter#168779)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a: desktop Running on desktop engine flutter/engine related. See also e: labels. platform-ios iOS applications specifically platform-macos team-ios Owned by iOS platform team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants