-
Notifications
You must be signed in to change notification settings - Fork 29.2k
macOS: Support writing Swift in the macOS embedder #168174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
macOS: Support writing Swift in the macOS embedder #168174
Conversation
_triplet_environment = "" | ||
# OS. | ||
_triplet_os = "apple-macos" | ||
_target_triplet = "$_triplet_cpu-$_triplet_os$mac_deployment_target$_triplet_environment" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could be a little more succinct, but this makes it easier to potentially merge this logic with the equivalent iOS logic in //build/config/iOS/BUILD.gn.
guard let createdTimer = CFRunLoopTimerCreate( | ||
kCFAllocatorDefault, | ||
CFAbsoluteTime.greatestFiniteMagnitude, | ||
CFAbsoluteTime.greatestFiniteMagnitude, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Personally, I think the right call would be:
CFAbsoluteTime.distantFuture,
0,
but that's a (slight) change to the logic and I'd like to keep this code as close to the original as possible.
44ec409
to
5097bfd
Compare
5097bfd
to
3f5c9c4
Compare
CI had a failure that stopped further tests from running. We need to investigate to determine the root cause. SHA at time of execution: 3f5c9c4. Possible causes:
A blank commit, or merging to head, will be required to resume running CI for this PR. Error Details:
Stack trace:
|
engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift
Show resolved
Hide resolved
} | ||
} | ||
|
||
config("config_macos_test") { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this config used anywhere?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not currently used, but will be needed for Swift XCTest targets. Sadly, all our unit test targets are GoogleTest (C++) today -- even the very few Obj-C ones that happen to use XCTest -- so I'm going to need to write some GoogleTest/XCTest adaptor code first.
In the ideal world, I'd have written that first, but like the iOS tests, it's still pretty useful to lock in the Swift stuff quickly, then build on it in a followup patch.
In the even more ideal world, the embedder would use XCTest rather than GoogleTest, since embedders should really live in a more platform-specific world, but that's a longer-term goal, maybe.
Review comments addressed. Ready for round 2! |
87ef72f
to
8810f90
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but you may want to wait for @hellohuanlin for better Swift expertise
Pinged him to let him know that I'm going to land; but if he gets time to review for Swiftiness, I'll follow up with a patch. |
engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift
Outdated
Show resolved
Hide resolved
engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift
Show resolved
Hide resolved
engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift
Show resolved
Hide resolved
engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift
Show resolved
Hide resolved
engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift
Outdated
Show resolved
Hide resolved
engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift
Show resolved
Hide resolved
engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift
Show resolved
Hide resolved
engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift
Show resolved
Hide resolved
engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift
Outdated
Show resolved
Hide resolved
engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift
Show resolved
Hide resolved
Enables the `swift` tool in the gn mac toolchain and wires up support for Swift `source_set` targets. Ports `FlutterRunLoop` to Swift. * Adds //flutter/build/config/mac:compiler config that sets up `swiftflags` for the `swift` tool in the toolchain for macOS, and adds it to the default configs on `is_mac` builds. * Adds `mac_swift_lib_paths` in `engine/src/build/config/apple/apple_sdk.gni` which holds the path of Swift shared libraries for macOS targets. This is within the appropriate `macosx` SDK directory within Xcode. Finally, this code adds Swift code to the embedder and embedder tests as proof of concept and to prevent regressions. This ports `FlutterRunLoop` to Swift in order to verify Objective-C imports of Swift via the bridging header. Issue: flutter#144791
Support trailing closure syntax in FlutterRunLoop perform methods. This allows us to write Swift code like: ``` FlutterRunLoop.mainLoop.perform(withDelay: delay) { // code. } ``` Follow-up to flutter#168174. Issue: flutter#144791
Enables the `swift` tool in the gn mac toolchain and wires up support for Swift `source_set` targets. Ports `FlutterRunLoop` to Swift. * Adds `//flutter/build/config/mac:compiler` config that sets up `swiftflags` for the `swift` tool in the toolchain for macOS, and adds it to the default configs on `is_mac` builds. * Adds `mac_swift_lib_paths` in `engine/src/build/config/apple/apple_sdk.gni` which holds the path of Swift shared libraries for macOS targets. This is within the appropriate `macosx` SDK directory within Xcode. Finally, this code adds Swift code to the embedder and embedder tests as proof of concept and to prevent regressions. This ports `FlutterRunLoop` to Swift in order to verify Objective-C imports of Swift via the bridging header. Issue: flutter#144791 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Support trailing closure syntax in FlutterRunLoop perform methods. This allows us to write Swift code like: ``` FlutterRunLoop.mainLoop.perform(withDelay: delay) { // code. } ``` This also matches the ordering used in NSRunLoop/RunLoop: * https://developer.apple.com/documentation/foundation/runloop/perform(inmodes:block:)?language=objc * https://developer.apple.com/documentation/foundation/runloop/perform(inmodes:block:) Follow-up to #168174. No tests since this is just a method rename. Issue: #144791 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Roll Flutter from cfb887cd5f41 to b0f5c8ce03e2 (281 revisions) flutter/flutter@cfb887c...b0f5c8c 2025-05-07 34465683+rkishan516@users.noreply.github.com Feat: Animate fill for material app bar (flutter/flutter#163913) 2025-05-07 engine-flutter-autoroll@skia.org Roll Packages from e800da7 to b2ce3b0 (3 revisions) (flutter/flutter#168483) 2025-05-07 15619084+vashworth@users.noreply.github.com Allow iOS devicelab tests to run on macOS 15.1 (flutter/flutter#168234) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from c8f54c1bc565 to 14f3e3209b73 (1 revision) (flutter/flutter#168477) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from 55d98def951d to c8f54c1bc565 (1 revision) (flutter/flutter#168452) 2025-05-07 engine-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from TcALRG6cjvR6RVe4L... to xobrcSN07udKdXOq_... (flutter/flutter#168444) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from 32591be9cd3b to 55d98def951d (2 revisions) (flutter/flutter#168440) 2025-05-07 chris@bracken.jp macOS: trailing closures for FlutterRunLoop.perform* (flutter/flutter#168415) 2025-05-07 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from SOlRUoAtzxSsarx-6... to _GJje-N2Jk51qtBs6... (flutter/flutter#168434) 2025-05-07 chris@bracken.jp iOS/macOS: Consistent Flutter copyright headers (flutter/flutter#168390) 2025-05-06 jason-simmons@users.noreply.github.com Capture errors when running flutter_tools in the entrypoint_dart_registrant devicelab test (flutter/flutter#168411) 2025-05-06 markzipan@google.com Extending timeouts for DDC macrobenchmarks (flutter/flutter#168409) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 36d1445ad00b to 32591be9cd3b (1 revision) (flutter/flutter#168421) 2025-05-06 jmccandless@google.com Ignore pointer on the outgoing route (flutter/flutter#168425) 2025-05-06 jacksongardner@google.com [skwasm] Dispose underlying picture recorder when ending recording. (flutter/flutter#168384) 2025-05-06 chinmaygarde@google.com [Impeller] libImpeller: Expose access to conservative path bounds. (flutter/flutter#168402) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 5cf5d0ff46d9 to 36d1445ad00b (1 revision) (flutter/flutter#168401) 2025-05-06 sokolovskyi.konstantin@gmail.com Add height and width aspects to MediaQuery. (flutter/flutter#167829) 2025-05-06 engine-flutter-autoroll@skia.org Roll Packages from e064b04 to e800da7 (2 revisions) (flutter/flutter#168392) 2025-05-06 matanlurey@users.noreply.github.com Add `bin/internal/last_engine_commit.sh` and tests. (flutter/flutter#168387) 2025-05-06 15619084+vashworth@users.noreply.github.com Update `mac_ios` tests to run on either arm64 or x86 (flutter/flutter#168341) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 889c5b52227c to 5cf5d0ff46d9 (3 revisions) (flutter/flutter#168378) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 646573154de6 to 889c5b52227c (1 revision) (flutter/flutter#168363) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 65fd10118ec2 to 646573154de6 (3 revisions) (flutter/flutter#168360) 2025-05-06 stanleycocoa@gmail.com feat(SwitchListTile): ensure that 'isThreeLine' can be configured through the theme. (flutter/flutter#166820) 2025-05-06 kevmoo@users.noreply.github.com [tool] Refactor WebTemplate to be immutable (flutter/flutter#168201) 2025-05-06 codefu@google.com Upload `android-arm64-release` treemap to known location (flutter/flutter#168349) 2025-05-06 stanleycocoa@gmail.com feat(RadioListTile):ensure that 'isThreeLine' can be configured through the (flutter/flutter#166964) 2025-05-06 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from hjXORaFgiSd6QjK3D... to SOlRUoAtzxSsarx-6... (flutter/flutter#168347) 2025-05-05 36861262+QuncCccccc@users.noreply.github.com Revert "Wire up `MenuAnchor`, `MenuBar`, `MenuItem`-related widgets to aria roles (#165596)" (flutter/flutter#168339) 2025-05-05 jessiewong401@gmail.com Bumping framework Template Defaults to Android 16 (API 36) (flutter/flutter#166464) 2025-05-05 engine-flutter-autoroll@skia.org Roll Skia from c0404ac7ea67 to 65fd10118ec2 (3 revisions) (flutter/flutter#168346) 2025-05-05 chris@bracken.jp macOS: Support writing Swift in the macOS embedder (flutter/flutter#168174) 2025-05-05 jason-simmons@users.noreply.github.com Copy Dart SDK _internal/vm/bin sources into the sky_engine package (flutter/flutter#168238) 2025-05-05 markzipan@google.com Using headless=new for Chrome macrobenchmarks (flutter/flutter#168256) 2025-05-05 engine-flutter-autoroll@skia.org Roll Dart SDK from a1e1e2770c1e to 8dc0ecee5adc (1 revision) (flutter/flutter#168338) 2025-05-05 jason-simmons@users.noreply.github.com Check for duplicate archive paths in the engine build configuration JSON files (flutter/flutter#168248) 2025-05-05 21270878+elliette@users.noreply.github.com [Widget Inspector] Add on-device button for changing default "tap" behavior (flutter/flutter#167677) 2025-05-05 markzipan@google.com Adding utf-8 encoding to hello world's html template (flutter/flutter#168162) 2025-05-05 1063596+reidbaker@users.noreply.github.com Update goldens.dart error to point to moved file (flutter/flutter#168319) 2025-05-05 jacksongardner@google.com Skwasm heavy (flutter/flutter#166619) 2025-05-05 jason-simmons@users.noreply.github.com Manual roll of Dart from 5c535a368799 to a1e1e2770c1e (flutter/flutter#168317) 2025-05-05 engine-flutter-autoroll@skia.org Roll Skia from 9e23a55870e9 to c0404ac7ea67 (1 revision) (flutter/flutter#168321) 2025-05-05 52936414+CoderNamedHendrick@users.noreply.github.com Cupertino sheet MediaQuery values (flutter/flutter#168041) 2025-05-05 34871572+gmackall@users.noreply.github.com Change FGP unit test `expect` to match on process result instead of exit code (flutter/flutter#168278) 2025-05-05 flar@google.com [Impeller] Use StrokeParameters anywhere stroke is described (flutter/flutter#168276) ...
…er#9223) Roll Flutter from cfb887cd5f41 to b0f5c8ce03e2 (281 revisions) flutter/flutter@cfb887c...b0f5c8c 2025-05-07 34465683+rkishan516@users.noreply.github.com Feat: Animate fill for material app bar (flutter/flutter#163913) 2025-05-07 engine-flutter-autoroll@skia.org Roll Packages from e800da7 to b2ce3b0 (3 revisions) (flutter/flutter#168483) 2025-05-07 15619084+vashworth@users.noreply.github.com Allow iOS devicelab tests to run on macOS 15.1 (flutter/flutter#168234) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from c8f54c1bc565 to 14f3e3209b73 (1 revision) (flutter/flutter#168477) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from 55d98def951d to c8f54c1bc565 (1 revision) (flutter/flutter#168452) 2025-05-07 engine-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from TcALRG6cjvR6RVe4L... to xobrcSN07udKdXOq_... (flutter/flutter#168444) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from 32591be9cd3b to 55d98def951d (2 revisions) (flutter/flutter#168440) 2025-05-07 chris@bracken.jp macOS: trailing closures for FlutterRunLoop.perform* (flutter/flutter#168415) 2025-05-07 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from SOlRUoAtzxSsarx-6... to _GJje-N2Jk51qtBs6... (flutter/flutter#168434) 2025-05-07 chris@bracken.jp iOS/macOS: Consistent Flutter copyright headers (flutter/flutter#168390) 2025-05-06 jason-simmons@users.noreply.github.com Capture errors when running flutter_tools in the entrypoint_dart_registrant devicelab test (flutter/flutter#168411) 2025-05-06 markzipan@google.com Extending timeouts for DDC macrobenchmarks (flutter/flutter#168409) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 36d1445ad00b to 32591be9cd3b (1 revision) (flutter/flutter#168421) 2025-05-06 jmccandless@google.com Ignore pointer on the outgoing route (flutter/flutter#168425) 2025-05-06 jacksongardner@google.com [skwasm] Dispose underlying picture recorder when ending recording. (flutter/flutter#168384) 2025-05-06 chinmaygarde@google.com [Impeller] libImpeller: Expose access to conservative path bounds. (flutter/flutter#168402) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 5cf5d0ff46d9 to 36d1445ad00b (1 revision) (flutter/flutter#168401) 2025-05-06 sokolovskyi.konstantin@gmail.com Add height and width aspects to MediaQuery. (flutter/flutter#167829) 2025-05-06 engine-flutter-autoroll@skia.org Roll Packages from e064b04 to e800da7 (2 revisions) (flutter/flutter#168392) 2025-05-06 matanlurey@users.noreply.github.com Add `bin/internal/last_engine_commit.sh` and tests. (flutter/flutter#168387) 2025-05-06 15619084+vashworth@users.noreply.github.com Update `mac_ios` tests to run on either arm64 or x86 (flutter/flutter#168341) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 889c5b52227c to 5cf5d0ff46d9 (3 revisions) (flutter/flutter#168378) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 646573154de6 to 889c5b52227c (1 revision) (flutter/flutter#168363) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 65fd10118ec2 to 646573154de6 (3 revisions) (flutter/flutter#168360) 2025-05-06 stanleycocoa@gmail.com feat(SwitchListTile): ensure that 'isThreeLine' can be configured through the theme. (flutter/flutter#166820) 2025-05-06 kevmoo@users.noreply.github.com [tool] Refactor WebTemplate to be immutable (flutter/flutter#168201) 2025-05-06 codefu@google.com Upload `android-arm64-release` treemap to known location (flutter/flutter#168349) 2025-05-06 stanleycocoa@gmail.com feat(RadioListTile):ensure that 'isThreeLine' can be configured through the (flutter/flutter#166964) 2025-05-06 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from hjXORaFgiSd6QjK3D... to SOlRUoAtzxSsarx-6... (flutter/flutter#168347) 2025-05-05 36861262+QuncCccccc@users.noreply.github.com Revert "Wire up `MenuAnchor`, `MenuBar`, `MenuItem`-related widgets to aria roles (#165596)" (flutter/flutter#168339) 2025-05-05 jessiewong401@gmail.com Bumping framework Template Defaults to Android 16 (API 36) (flutter/flutter#166464) 2025-05-05 engine-flutter-autoroll@skia.org Roll Skia from c0404ac7ea67 to 65fd10118ec2 (3 revisions) (flutter/flutter#168346) 2025-05-05 chris@bracken.jp macOS: Support writing Swift in the macOS embedder (flutter/flutter#168174) 2025-05-05 jason-simmons@users.noreply.github.com Copy Dart SDK _internal/vm/bin sources into the sky_engine package (flutter/flutter#168238) 2025-05-05 markzipan@google.com Using headless=new for Chrome macrobenchmarks (flutter/flutter#168256) 2025-05-05 engine-flutter-autoroll@skia.org Roll Dart SDK from a1e1e2770c1e to 8dc0ecee5adc (1 revision) (flutter/flutter#168338) 2025-05-05 jason-simmons@users.noreply.github.com Check for duplicate archive paths in the engine build configuration JSON files (flutter/flutter#168248) 2025-05-05 21270878+elliette@users.noreply.github.com [Widget Inspector] Add on-device button for changing default "tap" behavior (flutter/flutter#167677) 2025-05-05 markzipan@google.com Adding utf-8 encoding to hello world's html template (flutter/flutter#168162) 2025-05-05 1063596+reidbaker@users.noreply.github.com Update goldens.dart error to point to moved file (flutter/flutter#168319) 2025-05-05 jacksongardner@google.com Skwasm heavy (flutter/flutter#166619) 2025-05-05 jason-simmons@users.noreply.github.com Manual roll of Dart from 5c535a368799 to a1e1e2770c1e (flutter/flutter#168317) 2025-05-05 engine-flutter-autoroll@skia.org Roll Skia from 9e23a55870e9 to c0404ac7ea67 (1 revision) (flutter/flutter#168321) 2025-05-05 52936414+CoderNamedHendrick@users.noreply.github.com Cupertino sheet MediaQuery values (flutter/flutter#168041) 2025-05-05 34871572+gmackall@users.noreply.github.com Change FGP unit test `expect` to match on process result instead of exit code (flutter/flutter#168278) 2025-05-05 flar@google.com [Impeller] Use StrokeParameters anywhere stroke is described (flutter/flutter#168276) ...
…er#9223) Roll Flutter from cfb887cd5f41 to b0f5c8ce03e2 (281 revisions) flutter/flutter@cfb887c...b0f5c8c 2025-05-07 34465683+rkishan516@users.noreply.github.com Feat: Animate fill for material app bar (flutter/flutter#163913) 2025-05-07 engine-flutter-autoroll@skia.org Roll Packages from e800da7 to b2ce3b0 (3 revisions) (flutter/flutter#168483) 2025-05-07 15619084+vashworth@users.noreply.github.com Allow iOS devicelab tests to run on macOS 15.1 (flutter/flutter#168234) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from c8f54c1bc565 to 14f3e3209b73 (1 revision) (flutter/flutter#168477) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from 55d98def951d to c8f54c1bc565 (1 revision) (flutter/flutter#168452) 2025-05-07 engine-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from TcALRG6cjvR6RVe4L... to xobrcSN07udKdXOq_... (flutter/flutter#168444) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from 32591be9cd3b to 55d98def951d (2 revisions) (flutter/flutter#168440) 2025-05-07 chris@bracken.jp macOS: trailing closures for FlutterRunLoop.perform* (flutter/flutter#168415) 2025-05-07 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from SOlRUoAtzxSsarx-6... to _GJje-N2Jk51qtBs6... (flutter/flutter#168434) 2025-05-07 chris@bracken.jp iOS/macOS: Consistent Flutter copyright headers (flutter/flutter#168390) 2025-05-06 jason-simmons@users.noreply.github.com Capture errors when running flutter_tools in the entrypoint_dart_registrant devicelab test (flutter/flutter#168411) 2025-05-06 markzipan@google.com Extending timeouts for DDC macrobenchmarks (flutter/flutter#168409) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 36d1445ad00b to 32591be9cd3b (1 revision) (flutter/flutter#168421) 2025-05-06 jmccandless@google.com Ignore pointer on the outgoing route (flutter/flutter#168425) 2025-05-06 jacksongardner@google.com [skwasm] Dispose underlying picture recorder when ending recording. (flutter/flutter#168384) 2025-05-06 chinmaygarde@google.com [Impeller] libImpeller: Expose access to conservative path bounds. (flutter/flutter#168402) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 5cf5d0ff46d9 to 36d1445ad00b (1 revision) (flutter/flutter#168401) 2025-05-06 sokolovskyi.konstantin@gmail.com Add height and width aspects to MediaQuery. (flutter/flutter#167829) 2025-05-06 engine-flutter-autoroll@skia.org Roll Packages from e064b04 to e800da7 (2 revisions) (flutter/flutter#168392) 2025-05-06 matanlurey@users.noreply.github.com Add `bin/internal/last_engine_commit.sh` and tests. (flutter/flutter#168387) 2025-05-06 15619084+vashworth@users.noreply.github.com Update `mac_ios` tests to run on either arm64 or x86 (flutter/flutter#168341) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 889c5b52227c to 5cf5d0ff46d9 (3 revisions) (flutter/flutter#168378) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 646573154de6 to 889c5b52227c (1 revision) (flutter/flutter#168363) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 65fd10118ec2 to 646573154de6 (3 revisions) (flutter/flutter#168360) 2025-05-06 stanleycocoa@gmail.com feat(SwitchListTile): ensure that 'isThreeLine' can be configured through the theme. (flutter/flutter#166820) 2025-05-06 kevmoo@users.noreply.github.com [tool] Refactor WebTemplate to be immutable (flutter/flutter#168201) 2025-05-06 codefu@google.com Upload `android-arm64-release` treemap to known location (flutter/flutter#168349) 2025-05-06 stanleycocoa@gmail.com feat(RadioListTile):ensure that 'isThreeLine' can be configured through the (flutter/flutter#166964) 2025-05-06 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from hjXORaFgiSd6QjK3D... to SOlRUoAtzxSsarx-6... (flutter/flutter#168347) 2025-05-05 36861262+QuncCccccc@users.noreply.github.com Revert "Wire up `MenuAnchor`, `MenuBar`, `MenuItem`-related widgets to aria roles (#165596)" (flutter/flutter#168339) 2025-05-05 jessiewong401@gmail.com Bumping framework Template Defaults to Android 16 (API 36) (flutter/flutter#166464) 2025-05-05 engine-flutter-autoroll@skia.org Roll Skia from c0404ac7ea67 to 65fd10118ec2 (3 revisions) (flutter/flutter#168346) 2025-05-05 chris@bracken.jp macOS: Support writing Swift in the macOS embedder (flutter/flutter#168174) 2025-05-05 jason-simmons@users.noreply.github.com Copy Dart SDK _internal/vm/bin sources into the sky_engine package (flutter/flutter#168238) 2025-05-05 markzipan@google.com Using headless=new for Chrome macrobenchmarks (flutter/flutter#168256) 2025-05-05 engine-flutter-autoroll@skia.org Roll Dart SDK from a1e1e2770c1e to 8dc0ecee5adc (1 revision) (flutter/flutter#168338) 2025-05-05 jason-simmons@users.noreply.github.com Check for duplicate archive paths in the engine build configuration JSON files (flutter/flutter#168248) 2025-05-05 21270878+elliette@users.noreply.github.com [Widget Inspector] Add on-device button for changing default "tap" behavior (flutter/flutter#167677) 2025-05-05 markzipan@google.com Adding utf-8 encoding to hello world's html template (flutter/flutter#168162) 2025-05-05 1063596+reidbaker@users.noreply.github.com Update goldens.dart error to point to moved file (flutter/flutter#168319) 2025-05-05 jacksongardner@google.com Skwasm heavy (flutter/flutter#166619) 2025-05-05 jason-simmons@users.noreply.github.com Manual roll of Dart from 5c535a368799 to a1e1e2770c1e (flutter/flutter#168317) 2025-05-05 engine-flutter-autoroll@skia.org Roll Skia from 9e23a55870e9 to c0404ac7ea67 (1 revision) (flutter/flutter#168321) 2025-05-05 52936414+CoderNamedHendrick@users.noreply.github.com Cupertino sheet MediaQuery values (flutter/flutter#168041) 2025-05-05 34871572+gmackall@users.noreply.github.com Change FGP unit test `expect` to match on process result instead of exit code (flutter/flutter#168278) 2025-05-05 flar@google.com [Impeller] Use StrokeParameters anywhere stroke is described (flutter/flutter#168276) ...
…er#9223) Roll Flutter from cfb887cd5f41 to b0f5c8ce03e2 (281 revisions) flutter/flutter@cfb887c...b0f5c8c 2025-05-07 34465683+rkishan516@users.noreply.github.com Feat: Animate fill for material app bar (flutter/flutter#163913) 2025-05-07 engine-flutter-autoroll@skia.org Roll Packages from e800da7 to b2ce3b0 (3 revisions) (flutter/flutter#168483) 2025-05-07 15619084+vashworth@users.noreply.github.com Allow iOS devicelab tests to run on macOS 15.1 (flutter/flutter#168234) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from c8f54c1bc565 to 14f3e3209b73 (1 revision) (flutter/flutter#168477) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from 55d98def951d to c8f54c1bc565 (1 revision) (flutter/flutter#168452) 2025-05-07 engine-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from TcALRG6cjvR6RVe4L... to xobrcSN07udKdXOq_... (flutter/flutter#168444) 2025-05-07 engine-flutter-autoroll@skia.org Roll Skia from 32591be9cd3b to 55d98def951d (2 revisions) (flutter/flutter#168440) 2025-05-07 chris@bracken.jp macOS: trailing closures for FlutterRunLoop.perform* (flutter/flutter#168415) 2025-05-07 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from SOlRUoAtzxSsarx-6... to _GJje-N2Jk51qtBs6... (flutter/flutter#168434) 2025-05-07 chris@bracken.jp iOS/macOS: Consistent Flutter copyright headers (flutter/flutter#168390) 2025-05-06 jason-simmons@users.noreply.github.com Capture errors when running flutter_tools in the entrypoint_dart_registrant devicelab test (flutter/flutter#168411) 2025-05-06 markzipan@google.com Extending timeouts for DDC macrobenchmarks (flutter/flutter#168409) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 36d1445ad00b to 32591be9cd3b (1 revision) (flutter/flutter#168421) 2025-05-06 jmccandless@google.com Ignore pointer on the outgoing route (flutter/flutter#168425) 2025-05-06 jacksongardner@google.com [skwasm] Dispose underlying picture recorder when ending recording. (flutter/flutter#168384) 2025-05-06 chinmaygarde@google.com [Impeller] libImpeller: Expose access to conservative path bounds. (flutter/flutter#168402) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 5cf5d0ff46d9 to 36d1445ad00b (1 revision) (flutter/flutter#168401) 2025-05-06 sokolovskyi.konstantin@gmail.com Add height and width aspects to MediaQuery. (flutter/flutter#167829) 2025-05-06 engine-flutter-autoroll@skia.org Roll Packages from e064b04 to e800da7 (2 revisions) (flutter/flutter#168392) 2025-05-06 matanlurey@users.noreply.github.com Add `bin/internal/last_engine_commit.sh` and tests. (flutter/flutter#168387) 2025-05-06 15619084+vashworth@users.noreply.github.com Update `mac_ios` tests to run on either arm64 or x86 (flutter/flutter#168341) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 889c5b52227c to 5cf5d0ff46d9 (3 revisions) (flutter/flutter#168378) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 646573154de6 to 889c5b52227c (1 revision) (flutter/flutter#168363) 2025-05-06 engine-flutter-autoroll@skia.org Roll Skia from 65fd10118ec2 to 646573154de6 (3 revisions) (flutter/flutter#168360) 2025-05-06 stanleycocoa@gmail.com feat(SwitchListTile): ensure that 'isThreeLine' can be configured through the theme. (flutter/flutter#166820) 2025-05-06 kevmoo@users.noreply.github.com [tool] Refactor WebTemplate to be immutable (flutter/flutter#168201) 2025-05-06 codefu@google.com Upload `android-arm64-release` treemap to known location (flutter/flutter#168349) 2025-05-06 stanleycocoa@gmail.com feat(RadioListTile):ensure that 'isThreeLine' can be configured through the (flutter/flutter#166964) 2025-05-06 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from hjXORaFgiSd6QjK3D... to SOlRUoAtzxSsarx-6... (flutter/flutter#168347) 2025-05-05 36861262+QuncCccccc@users.noreply.github.com Revert "Wire up `MenuAnchor`, `MenuBar`, `MenuItem`-related widgets to aria roles (#165596)" (flutter/flutter#168339) 2025-05-05 jessiewong401@gmail.com Bumping framework Template Defaults to Android 16 (API 36) (flutter/flutter#166464) 2025-05-05 engine-flutter-autoroll@skia.org Roll Skia from c0404ac7ea67 to 65fd10118ec2 (3 revisions) (flutter/flutter#168346) 2025-05-05 chris@bracken.jp macOS: Support writing Swift in the macOS embedder (flutter/flutter#168174) 2025-05-05 jason-simmons@users.noreply.github.com Copy Dart SDK _internal/vm/bin sources into the sky_engine package (flutter/flutter#168238) 2025-05-05 markzipan@google.com Using headless=new for Chrome macrobenchmarks (flutter/flutter#168256) 2025-05-05 engine-flutter-autoroll@skia.org Roll Dart SDK from a1e1e2770c1e to 8dc0ecee5adc (1 revision) (flutter/flutter#168338) 2025-05-05 jason-simmons@users.noreply.github.com Check for duplicate archive paths in the engine build configuration JSON files (flutter/flutter#168248) 2025-05-05 21270878+elliette@users.noreply.github.com [Widget Inspector] Add on-device button for changing default "tap" behavior (flutter/flutter#167677) 2025-05-05 markzipan@google.com Adding utf-8 encoding to hello world's html template (flutter/flutter#168162) 2025-05-05 1063596+reidbaker@users.noreply.github.com Update goldens.dart error to point to moved file (flutter/flutter#168319) 2025-05-05 jacksongardner@google.com Skwasm heavy (flutter/flutter#166619) 2025-05-05 jason-simmons@users.noreply.github.com Manual roll of Dart from 5c535a368799 to a1e1e2770c1e (flutter/flutter#168317) 2025-05-05 engine-flutter-autoroll@skia.org Roll Skia from 9e23a55870e9 to c0404ac7ea67 (1 revision) (flutter/flutter#168321) 2025-05-05 52936414+CoderNamedHendrick@users.noreply.github.com Cupertino sheet MediaQuery values (flutter/flutter#168041) 2025-05-05 34871572+gmackall@users.noreply.github.com Change FGP unit test `expect` to match on process result instead of exit code (flutter/flutter#168278) 2025-05-05 flar@google.com [Impeller] Use StrokeParameters anywhere stroke is described (flutter/flutter#168276) ...
Enables the
swift
tool in the gn mac toolchain and wires up support for Swiftsource_set
targets. PortsFlutterRunLoop
to Swift.Adds
//flutter/build/config/mac:compiler
config that sets upswiftflags
for theswift
tool in the toolchain for macOS, and adds it to the default configs onis_mac
builds.Adds
mac_swift_lib_paths
inengine/src/build/config/apple/apple_sdk.gni
which holds the path of Swift shared libraries for macOS targets. This is within the appropriatemacosx
SDK directory within Xcode.Finally, this code adds Swift code to the embedder and embedder tests as proof of concept and to prevent regressions. This ports
FlutterRunLoop
to Swift in order to verify Objective-C imports of Swift via the bridging header.Issue: #144791
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.