Sitelet https://github.com/flutter/flutter/pull/192116
Skip to content

[AGP 9.1.0 Migration #5] Delete getLegacyAndroidExtension and migrate NDK fallback to public DSL - #192116

Merged
auto-submit[bot] merged 1 commit into
flutter:masterfrom
reidbaker-agent:agp-ndk-fallback
Sep 4, 2026
Merged

auto-submit[bot] merged 1 commit into
flutter:masterfrom
reidbaker-agent:agp-ndk-fallback

Conversation

@reidbaker-agent

@reidbaker-agent reidbaker-agent commented Sep 1, 2026 •

Copy link
Copy Markdown
Contributor

This is PR 5 of 11 in the AGP 9.1.0 / public gradle-api / newdsl migration stack.

Add externalNativeBuild to the shared type. Extracted some shared mocking logic to a utility.
No external visible changes expected.
Also improved the README.md so that the test file for multiple agp versions was a markdown link.


Standard review context for this pr stack

This is PR is part of an 11 pr stack to migrate the "newdsl" gradle-api specifically in agp 9.1.0.

All of the code was LLM authored. A mix of manual prompting, automatic prompting, several models and adversarial review. The combined sessions are enough that I cannot include relevant prompts like I have been doing on other prs.

If you want to review the pr stack you can find it here. These prs will be abandoned/closed as prs land into flutter/flutter.

  1. Add AGP public-API migration docs (contributor doc + breaking-change page draft) reidbaker-agent/flutter#1 (branch: agp-api-doc)
  2. Remove AGP-internal imports from VersionFetcher and migrate compileSdk/ndk reads to the public DSL reidbaker-agent/flutter#2 (branch: agp-internal-utils)
  3. Add public buildModeFor overloads and wire Flutter dependencies through the new DSL reidbaker-agent/flutter#3 (branch: agp-buildmode-deps)
  4. Replace the plugin build-type copy with initWith on the public DSL reidbaker-agent/flutter#4 (branch: agp-plugin-buildtypes)
  5. Delete getLegacyAndroidExtension and migrate the NDK fallback to the public DSL reidbaker-agent/flutter#5 (branch: agp-ndk-fallback)
  6. Register the Flutter compile task lazily from the variant API for app projects reidbaker-agent/flutter#6 (branch: agp-assets-onvariants)
  7. Migrate the flutter-apk copy and per-ABI versionCode to the variant API reidbaker-agent/flutter#7 (branch: agp-apk-copy-versioncode)
  8. Unify add-to-app module wiring on the variant API and drop host-project cross-wiring reidbaker-agent/flutter#8 (branch: agp-add-to-app)
  9. Move aar_init_script off legacy AGP APIs reidbaker-agent/flutter#9 (branch: agp-aar-script)
  10. Flip the newDsl default: drop the opt-out from templates and migrate it away reidbaker-agent/flutter#10 (branch: agp-newdsl-flip)
  11. Compile the Flutter Gradle Plugin against the gradle-api artifact only reidbaker-agent/flutter#11 (branch: agp-gradle-api)

This work is urgent in the sense that we are worried that android will publish agp 10 with no opt out but not so urgent that we are willing to break flutter users because we didn't review or understand the code because we were in a rush.

Breaking changes are expected as part of this work. There are patterns the android team explicitly does not want apps to use and apis that have no equivalent.

As part of the effort to ensure this work does not slip into ai slop, prs from this stack will be reviewed by me (@reidbaker) before asking for review. Then we will have 2 android expert reviewers also review every pr.


Agent authored description.
This is PR 5 of 11 in the AGP 9.1.0 / public gradle-api migration stack (#180137, #166550).

Key Changes

  • Public DSL Wrapper externalNativeBuild: Exposes val externalNativeBuild: ExternalNativeBuild in AgpCommonExtensionWrapper.kt dispatching across ApplicationExtension, LibraryExtension, DynamicFeatureExtension, and TestExtension without referencing CommonExtension (bypassing AGP binary incompatibility).
  • Zero Legacy BaseExtension in Production Sources: Deletes getLegacyAndroidExtension(project: Project): BaseExtension and removes the com.android.build.gradle.BaseExtension import from FlutterPluginUtils.kt.
  • Public DSL NDK Fallback Configuration: Migrates forceNdkDownload and configureSyntheticExternalNativeBuildFallback in FlutterPluginUtils.kt to getAndroidExtension(gradleProject) using externalNativeBuild.cmake / externalNativeBuild.ndkBuild. Sets cmake.path = File(...), cmake.buildStagingDirectory = ..., and buildType.externalNativeBuild.cmake.arguments += ... through the public DSL while preserving the upstream PR forceNdkDownload should skip configuring cmake when ndk-build is used #187201 ndkBuild.path check.
  • Unit Test Public DSL Mocking & Cleanup: Migrates unit tests in FlutterPluginUtilsTest.kt to mock public DSL types (ApplicationExtension, Cmake, NdkBuild), asserts CMake arguments by list content, deletes obsolete tests asserting ApplicationExtension-vs-BaseExtension ndkVersion preference, and removes unused import io.mockk.called as well as all legacy com.android.build.gradle.internal.* imports.

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [AI contribution guidelines] and understand my responsibilities, or I am not using AI tools.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
  • All existing and new tests are passing.

@github-actions github-actions Bot added platform-android Android applications specifically tool Affects the "flutter" command-line tool. See also t: labels. labels Sep 1, 2026
@reidbaker reidbaker added the CICD Run CI/CD label Sep 1, 2026
* For ApplicationExtension use `getAndroidApplicationExtension`.
* For LibraryExtension use `getAndroidLibraryExtension`.
*/
internal fun getLegacyAndroidExtension(project: Project): BaseExtension {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this the last use of the legacy baseExtension and/or getLeagacyAndroidExtension?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. With this change, BaseExtension and getLegacyAndroidExtension have been 100% eliminated from production code (packages/flutter_tools/gradle/src/main/). All production Gradle plugin code now interacts exclusively with the public Android Gradle Plugin DSL via AgpCommonExtensionWrapper, getAndroidExtension, and AndroidComponentsExtension.

@flutter-dashboard flutter-dashboard Bot removed the CICD Run CI/CD label Sep 1, 2026
@reidbaker
reidbaker force-pushed the agp-ndk-fallback branch 2 times, most recently from bd04ad2 to ac9f7bc Compare September 1, 2026 19:58
verify(exactly = 0) { mockCmakeOptions.setPath(any()) }
verify { mockDefaultConfig wasNot called }
verify(exactly = 1) { mockCmake.path }
verify(exactly = 0) { mockCmake.path = any() }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this second verify actually help us test "ForceNdkDownload skips projects which are already configuring a native build"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but the distinction is between getter and setter: mockCmake.path (with no =) verifies that the early-return guard evaluated the getter to check for an existing native build, whereas mockCmake.path = any() verifies that the synthetic fallback setter was never invoked. If forceNdkDownload failed to early-return when cmake.path != null and proceeded to run fallback configuration, the setter would have been called. To make this explicit and remove ambiguity, we've added an explanatory comment and also verified that mockCmake.buildStagingDirectory and mockAndroidExtension.buildTypes were not accessed.

Comment on lines +1988 to +1989
verify(exactly = 0) { mockCmake.path = any() }
verify(exactly = 0) { mockCmake.buildStagingDirectory = any() }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here. does this help us verify "forceNdkDownload skips projects which are already configuring an ndk-build"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same distinction here: mockNdkBuild.path asserts that the guard read the getter, while mockCmake.path = any(), mockCmake.buildStagingDirectory = any(), and mockAndroidExtension.buildTypes assert that synthetic fallback configuration was never executed when ndkBuild.path was present.

verify(exactly = 0) { mockCmake.buildStagingDirectory = any() }
}

@Test

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this test not run before? If so is there a lint we can/should enable to catch this type of mistake?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, on master this method was missing @Test and was treated by JUnit 5 as a helper method, so it was silently skipped in CI until now.

Regarding lints:

  • ktlint is purely a code style/formatting linter and does not perform semantic AST checks on test annotations.
  • In IntelliJ / Android Studio, the inspection Test method missing @Test highlights test methods lacking annotations.
  • In Gradle / CI, we can add an ArchUnit unit test or a custom Detekt rule that scans classes ending in *Test and verifies that all public methods have @Test (or lifecycle annotations like @BeforeEach / @AfterEach).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added to #191135

}
verify(exactly = 0) { mockCmakeOptions.path(any()) }
verify { mockDefaultConfig wasNot called }
verify(exactly = 0) { mockCmake.path = any() }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there an equivalent of " verify { mockDefaultConfig wasNot called }" that we need here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the legacy code, fallback CMake arguments were set on BaseExtension.defaultConfig, which is why the old test checked mockDefaultConfig. In the public AGP DSL (CommonExtension), CMake arguments are configured per build-type via androidExtension.buildTypes.forEach { ... }. The direct equivalent is verify(exactly = 0) { mockAndroidExtension.buildTypes }, which we have now added across all fallback-skipping tests.

}

@Test
fun `forceNdkDownload falls back immediately when tool properties exist but AndroidComponentsExtension is missing`() {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Falls back to what?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It falls back to the synthetic CMakeLists.txt fallback configuration (setting mockCmake.path = File(...), buildStagingDirectory, and silencing CMake flags). We've updated the test name to forceNdkDownload configures synthetic cmake fallback when AndroidComponentsExtension is missing (and similarly updated related tests) to make the fallback target explicit.

@reidbaker reidbaker added the CICD Run CI/CD label Sep 1, 2026
… NDK fallback to public DSL

This is PR 5 of 11 in the AGP 9.1.0 / public `gradle-api` migration stack (flutter#180137, flutter#166550).

- Exposes `externalNativeBuild: ExternalNativeBuild` in `AgpCommonExtensionWrapper` dispatching across `ApplicationExtension`, `LibraryExtension`, `DynamicFeatureExtension`, and `TestExtension` without referencing `CommonExtension` (bypassing AGP binary incompatibility).
- Deletes `getLegacyAndroidExtension(project: Project): BaseExtension` and removes the `com.android.build.gradle.BaseExtension` import from `FlutterPluginUtils.kt`.
- Migrates `forceNdkDownload` and `configureSyntheticExternalNativeBuildFallback` to `getAndroidExtension(gradleProject)` using `externalNativeBuild.cmake` / `externalNativeBuild.ndkBuild`, setting `cmake.path = File(...)`, `cmake.buildStagingDirectory = ...`, and `buildType.externalNativeBuild.cmake.arguments += ...` via the public DSL while preserving the upstream PR flutter#187201 `ndkBuild.path` check.
- Updates unit tests in `FlutterPluginUtilsTest.kt` to mock public DSL types (`ApplicationExtension`, `Cmake`, `NdkBuild`), removes all `com.android.build.gradle.internal.*` imports, asserts CMake arguments by list content, and deletes obsolete tests asserting `ApplicationExtension`-vs-`BaseExtension` `ndkVersion` preference.
@flutter-dashboard flutter-dashboard Bot removed the CICD Run CI/CD label Sep 1, 2026
@reidbaker reidbaker added the CICD Run CI/CD label Sep 1, 2026
@reidbaker
reidbaker marked this pull request as ready for review September 2, 2026 19:44
@reidbaker
reidbaker requested a review from a team as a code owner September 2, 2026 19:44
@reidbaker
reidbaker requested review from mboetger and removed request for a team September 2, 2026 19:44
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@reidbaker

Copy link
Copy Markdown
Contributor

/gemini-review

@reidbaker
reidbaker requested a review from gmackall September 4, 2026 15:19

@mboetger mboetger left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also improved the AGENTS.md so that the test file for multiple agp versions was a markdown link.

PR description is wrong. No AGENTS.md changes in the PR.

@reidbaker

reidbaker commented Sep 4, 2026 •

Copy link
Copy Markdown
Contributor

Also improved the AGENTS.md so that the test file for multiple agp versions was a markdown link.

PR description is wrong. No AGENTS.md changes in the PR.

Pr updated. The change was in README.md https://github.com/reidbaker-agent/flutter/blob/79e0245baac19e716da406e9f1e8548d74c3f1c0/packages/flutter_tools/gradle/README.md

@reidbaker reidbaker added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 4, 2026
@auto-submit
auto-submit Bot added this pull request to the merge queue Sep 4, 2026
Merged via the queue into flutter:master with commit f7dae14 Sep 4, 2026
31 of 32 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Sep 4, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Sep 4, 2026
…12760)

Manual roll Flutter from 70797e15325e to 5a6cfa7f3d26 (52 revisions)

Manual roll requested by bensonluk@google.com

flutter/flutter@70797e1...5a6cfa7

2026-09-04 bkonyi@google.com [tool] Migrate ScreenshotCommand to modular dependency injection (flutter/flutter#190767)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from 8fce167bdded to 93ac1e630d1d (3 revisions) (flutter/flutter#192306)
2026-09-04 okorohelijah@google.com Add iOS Universal Link integration test (Simulator) (flutter/flutter#191443)
2026-09-04 269567208+reidbaker-agent@users.noreply.github.com [AGP 9.1.0 Migration #5] Delete getLegacyAndroidExtension and migrate NDK fallback to public DSL (flutter/flutter#192116)
2026-09-04 bkonyi@google.com Reland "[tool_tests] Remove bringup from Windows tool_tests_commands_2_2" (#191732) (flutter/flutter#191802)
2026-09-04 bkonyi@google.com [flutter_tools] Fix unhandled DebugAdapterException on early process termination (flutter/flutter#192294)
2026-09-04 engine-flutter-autoroll@skia.org Roll Packages from f9b3954 to 9af9c60 (4 revisions) (flutter/flutter#192292)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from 2e3f7e07eee6 to 8fce167bdded (5 revisions) (flutter/flutter#192283)
2026-09-04 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from GTZNkoIR_WegRPWgL... to FgDQeF6jb1dVRVh3K... (flutter/flutter#192276)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from b6b00df360e5 to 2e3f7e07eee6 (2 revisions) (flutter/flutter#192275)
2026-09-04 cetinibrahim.ci@gmail.com [iOS] TextField should support typing accented words with external keyboard (flutter/flutter#191062)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from 1f68c0b16f17 to b6b00df360e5 (7 revisions) (flutter/flutter#192269)
2026-09-04 kevmoo@users.noreply.github.com [flutter_tools] add typed enum and defaulted option descriptors (flutter/flutter#191760)
2026-09-04 engine-flutter-autoroll@skia.org Roll Dart SDK from c2edc382a4f8 to 5501d02b583d (1 revision) (flutter/flutter#192263)
2026-09-04 robert.ancell@canonical.com [Linux] Use fences to synchronize frames between OpenGL contexts (flutter/flutter#192098)
2026-09-03 brunocorona.alcantar@gmail.com Defer semantics geometry updates for blocked branches (flutter/flutter#192146)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 8d3e197531c6 to 1f68c0b16f17 (8 revisions) (flutter/flutter#192244)
2026-09-03 57765714+Vi-debug@users.noreply.github.com Fix DeleteSurrounding splitting UTF-16 surrogate pairs (flutter/flutter#190514)
2026-09-03 32538273+ValentinVignal@users.noreply.github.com Remove no-shuffle from progress indicator test (flutter/flutter#186655)
2026-09-03 srawlins@google.com [material] Remove unused parameters from constructors of generic test class (flutter/flutter#191764)
2026-09-03 97480502+b-luk@users.noreply.github.com Handle linear and radial gradients in UberSDF (re-implement after fix) (flutter/flutter#192124)
2026-09-03 engine-flutter-autoroll@skia.org Roll Dart SDK from fcbfb64f42a1 to c2edc382a4f8 (2 revisions) (flutter/flutter#192240)
2026-09-03 34871572+gmackall@users.noreply.github.com Fix parsing of --enable-hcpp-and-surface-control switch and add --no-enable-hcpp tests (flutter/flutter#192202)
2026-09-03 97480502+b-luk@users.noreply.github.com Fix issue where shapes rendered with gradient+blur+rotation end up incorrectly cut off (flutter/flutter#192136)
2026-09-03 47866232+chunhtai@users.noreply.github.com Fix sibling nodes crash under MergeSemantics (flutter/flutter#191587)
2026-09-03 30870216+gaaclarke@users.noreply.github.com Makes backdrop groups operate on the union. (flutter/flutter#191838)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 008936396810 to 8d3e197531c6 (1 revision) (flutter/flutter#192236)
2026-09-03 parlough@gmail.com [docs] Remove superseded AI rules for Flutter (flutter/flutter#192185)
2026-09-03 15619084+vashworth@users.noreply.github.com Collect analytics about SwiftPM errors and warnings (flutter/flutter#191746)
2026-09-03 engine-flutter-autoroll@skia.org Roll Packages from 18fe786 to f9b3954 (7 revisions) (flutter/flutter#192235)
2026-09-03 robert.ancell@canonical.com [Linux] Remove frame sharing between OpenGL contexts (flutter/flutter#192150)
2026-09-03 engine-flutter-autoroll@skia.org Roll Dart SDK from cf79067a1e44 to fcbfb64f42a1 (1 revision) (flutter/flutter#192228)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 731fe9af4c0b to 008936396810 (3 revisions) (flutter/flutter#192225)
2026-09-03 engine-flutter-autoroll@skia.org Roll Dart SDK from 700ab60bfe53 to cf79067a1e44 (2 revisions) (flutter/flutter#192219)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 823f82e18177 to 731fe9af4c0b (5 revisions) (flutter/flutter#192217)
2026-09-03 louisehsu@google.com Fixes OverlayPortal semantics bounds corruption (flutter/flutter#192139)
2026-09-03 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from idslm9FikVLy2K_A-... to GTZNkoIR_WegRPWgL... (flutter/flutter#192215)
2026-09-03 engine-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from u_fSMsPU22VvUsvSo... to VObjlh3xw2P9sEbC_... (flutter/flutter#192212)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from ae22da2e8308 to 823f82e18177 (13 revisions) (flutter/flutter#192209)
2026-09-02 ishaquehassan@gmail.com Expose skipTraversal in FocusableActionDetector (flutter/flutter#191308)
2026-09-02 97480502+b-luk@users.noreply.github.com Add `IsProgram` mock method to `MockGLESImpl`, use it in `BufferBindingsGLESTest` (flutter/flutter#192196)
2026-09-02 uros.radulovic23@gmail.com Fix nested scroll view fling crash (flutter/flutter#191130)
2026-09-02 brunocorona.alcantar@gmail.com Fix TabBarView/PageView edge auto-scroll during mouse text selection (flutter/flutter#189544)
2026-09-02 30870216+gaaclarke@users.noreply.github.com Bypass gamma correction when alpha >= 1.0 (flutter/flutter#192193)
...
victorsanni pushed a commit to victorsanni/packages that referenced this pull request Sep 9, 2026
…lutter#12760)

Manual roll Flutter from 70797e15325e to 5a6cfa7f3d26 (52 revisions)

Manual roll requested by bensonluk@google.com

flutter/flutter@70797e1...5a6cfa7

2026-09-04 bkonyi@google.com [tool] Migrate ScreenshotCommand to modular dependency injection (flutter/flutter#190767)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from 8fce167bdded to 93ac1e630d1d (3 revisions) (flutter/flutter#192306)
2026-09-04 okorohelijah@google.com Add iOS Universal Link integration test (Simulator) (flutter/flutter#191443)
2026-09-04 269567208+reidbaker-agent@users.noreply.github.com [AGP 9.1.0 Migration flutter#5] Delete getLegacyAndroidExtension and migrate NDK fallback to public DSL (flutter/flutter#192116)
2026-09-04 bkonyi@google.com Reland "[tool_tests] Remove bringup from Windows tool_tests_commands_2_2" (#191732) (flutter/flutter#191802)
2026-09-04 bkonyi@google.com [flutter_tools] Fix unhandled DebugAdapterException on early process termination (flutter/flutter#192294)
2026-09-04 engine-flutter-autoroll@skia.org Roll Packages from f9b3954 to 9af9c60 (4 revisions) (flutter/flutter#192292)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from 2e3f7e07eee6 to 8fce167bdded (5 revisions) (flutter/flutter#192283)
2026-09-04 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from GTZNkoIR_WegRPWgL... to FgDQeF6jb1dVRVh3K... (flutter/flutter#192276)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from b6b00df360e5 to 2e3f7e07eee6 (2 revisions) (flutter/flutter#192275)
2026-09-04 cetinibrahim.ci@gmail.com [iOS] TextField should support typing accented words with external keyboard (flutter/flutter#191062)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from 1f68c0b16f17 to b6b00df360e5 (7 revisions) (flutter/flutter#192269)
2026-09-04 kevmoo@users.noreply.github.com [flutter_tools] add typed enum and defaulted option descriptors (flutter/flutter#191760)
2026-09-04 engine-flutter-autoroll@skia.org Roll Dart SDK from c2edc382a4f8 to 5501d02b583d (1 revision) (flutter/flutter#192263)
2026-09-04 robert.ancell@canonical.com [Linux] Use fences to synchronize frames between OpenGL contexts (flutter/flutter#192098)
2026-09-03 brunocorona.alcantar@gmail.com Defer semantics geometry updates for blocked branches (flutter/flutter#192146)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 8d3e197531c6 to 1f68c0b16f17 (8 revisions) (flutter/flutter#192244)
2026-09-03 57765714+Vi-debug@users.noreply.github.com Fix DeleteSurrounding splitting UTF-16 surrogate pairs (flutter/flutter#190514)
2026-09-03 32538273+ValentinVignal@users.noreply.github.com Remove no-shuffle from progress indicator test (flutter/flutter#186655)
2026-09-03 srawlins@google.com [material] Remove unused parameters from constructors of generic test class (flutter/flutter#191764)
2026-09-03 97480502+b-luk@users.noreply.github.com Handle linear and radial gradients in UberSDF (re-implement after fix) (flutter/flutter#192124)
2026-09-03 engine-flutter-autoroll@skia.org Roll Dart SDK from fcbfb64f42a1 to c2edc382a4f8 (2 revisions) (flutter/flutter#192240)
2026-09-03 34871572+gmackall@users.noreply.github.com Fix parsing of --enable-hcpp-and-surface-control switch and add --no-enable-hcpp tests (flutter/flutter#192202)
2026-09-03 97480502+b-luk@users.noreply.github.com Fix issue where shapes rendered with gradient+blur+rotation end up incorrectly cut off (flutter/flutter#192136)
2026-09-03 47866232+chunhtai@users.noreply.github.com Fix sibling nodes crash under MergeSemantics (flutter/flutter#191587)
2026-09-03 30870216+gaaclarke@users.noreply.github.com Makes backdrop groups operate on the union. (flutter/flutter#191838)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 008936396810 to 8d3e197531c6 (1 revision) (flutter/flutter#192236)
2026-09-03 parlough@gmail.com [docs] Remove superseded AI rules for Flutter (flutter/flutter#192185)
2026-09-03 15619084+vashworth@users.noreply.github.com Collect analytics about SwiftPM errors and warnings (flutter/flutter#191746)
2026-09-03 engine-flutter-autoroll@skia.org Roll Packages from 18fe786 to f9b3954 (7 revisions) (flutter/flutter#192235)
2026-09-03 robert.ancell@canonical.com [Linux] Remove frame sharing between OpenGL contexts (flutter/flutter#192150)
2026-09-03 engine-flutter-autoroll@skia.org Roll Dart SDK from cf79067a1e44 to fcbfb64f42a1 (1 revision) (flutter/flutter#192228)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 731fe9af4c0b to 008936396810 (3 revisions) (flutter/flutter#192225)
2026-09-03 engine-flutter-autoroll@skia.org Roll Dart SDK from 700ab60bfe53 to cf79067a1e44 (2 revisions) (flutter/flutter#192219)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 823f82e18177 to 731fe9af4c0b (5 revisions) (flutter/flutter#192217)
2026-09-03 louisehsu@google.com Fixes OverlayPortal semantics bounds corruption (flutter/flutter#192139)
2026-09-03 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from idslm9FikVLy2K_A-... to GTZNkoIR_WegRPWgL... (flutter/flutter#192215)
2026-09-03 engine-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from u_fSMsPU22VvUsvSo... to VObjlh3xw2P9sEbC_... (flutter/flutter#192212)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from ae22da2e8308 to 823f82e18177 (13 revisions) (flutter/flutter#192209)
2026-09-02 ishaquehassan@gmail.com Expose skipTraversal in FocusableActionDetector (flutter/flutter#191308)
2026-09-02 97480502+b-luk@users.noreply.github.com Add `IsProgram` mock method to `MockGLESImpl`, use it in `BufferBindingsGLESTest` (flutter/flutter#192196)
2026-09-02 uros.radulovic23@gmail.com Fix nested scroll view fling crash (flutter/flutter#191130)
2026-09-02 brunocorona.alcantar@gmail.com Fix TabBarView/PageView edge auto-scroll during mouse text selection (flutter/flutter#189544)
2026-09-02 30870216+gaaclarke@users.noreply.github.com Bypass gamma correction when alpha >= 1.0 (flutter/flutter#192193)
...
victorsanni pushed a commit to victorsanni/packages that referenced this pull request Sep 9, 2026
…lutter#12760)

Manual roll Flutter from 70797e15325e to 5a6cfa7f3d26 (52 revisions)

Manual roll requested by bensonluk@google.com

flutter/flutter@70797e1...5a6cfa7

2026-09-04 bkonyi@google.com [tool] Migrate ScreenshotCommand to modular dependency injection (flutter/flutter#190767)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from 8fce167bdded to 93ac1e630d1d (3 revisions) (flutter/flutter#192306)
2026-09-04 okorohelijah@google.com Add iOS Universal Link integration test (Simulator) (flutter/flutter#191443)
2026-09-04 269567208+reidbaker-agent@users.noreply.github.com [AGP 9.1.0 Migration flutter#5] Delete getLegacyAndroidExtension and migrate NDK fallback to public DSL (flutter/flutter#192116)
2026-09-04 bkonyi@google.com Reland "[tool_tests] Remove bringup from Windows tool_tests_commands_2_2" (#191732) (flutter/flutter#191802)
2026-09-04 bkonyi@google.com [flutter_tools] Fix unhandled DebugAdapterException on early process termination (flutter/flutter#192294)
2026-09-04 engine-flutter-autoroll@skia.org Roll Packages from f9b3954 to 9af9c60 (4 revisions) (flutter/flutter#192292)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from 2e3f7e07eee6 to 8fce167bdded (5 revisions) (flutter/flutter#192283)
2026-09-04 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from GTZNkoIR_WegRPWgL... to FgDQeF6jb1dVRVh3K... (flutter/flutter#192276)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from b6b00df360e5 to 2e3f7e07eee6 (2 revisions) (flutter/flutter#192275)
2026-09-04 cetinibrahim.ci@gmail.com [iOS] TextField should support typing accented words with external keyboard (flutter/flutter#191062)
2026-09-04 engine-flutter-autoroll@skia.org Roll Skia from 1f68c0b16f17 to b6b00df360e5 (7 revisions) (flutter/flutter#192269)
2026-09-04 kevmoo@users.noreply.github.com [flutter_tools] add typed enum and defaulted option descriptors (flutter/flutter#191760)
2026-09-04 engine-flutter-autoroll@skia.org Roll Dart SDK from c2edc382a4f8 to 5501d02b583d (1 revision) (flutter/flutter#192263)
2026-09-04 robert.ancell@canonical.com [Linux] Use fences to synchronize frames between OpenGL contexts (flutter/flutter#192098)
2026-09-03 brunocorona.alcantar@gmail.com Defer semantics geometry updates for blocked branches (flutter/flutter#192146)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 8d3e197531c6 to 1f68c0b16f17 (8 revisions) (flutter/flutter#192244)
2026-09-03 57765714+Vi-debug@users.noreply.github.com Fix DeleteSurrounding splitting UTF-16 surrogate pairs (flutter/flutter#190514)
2026-09-03 32538273+ValentinVignal@users.noreply.github.com Remove no-shuffle from progress indicator test (flutter/flutter#186655)
2026-09-03 srawlins@google.com [material] Remove unused parameters from constructors of generic test class (flutter/flutter#191764)
2026-09-03 97480502+b-luk@users.noreply.github.com Handle linear and radial gradients in UberSDF (re-implement after fix) (flutter/flutter#192124)
2026-09-03 engine-flutter-autoroll@skia.org Roll Dart SDK from fcbfb64f42a1 to c2edc382a4f8 (2 revisions) (flutter/flutter#192240)
2026-09-03 34871572+gmackall@users.noreply.github.com Fix parsing of --enable-hcpp-and-surface-control switch and add --no-enable-hcpp tests (flutter/flutter#192202)
2026-09-03 97480502+b-luk@users.noreply.github.com Fix issue where shapes rendered with gradient+blur+rotation end up incorrectly cut off (flutter/flutter#192136)
2026-09-03 47866232+chunhtai@users.noreply.github.com Fix sibling nodes crash under MergeSemantics (flutter/flutter#191587)
2026-09-03 30870216+gaaclarke@users.noreply.github.com Makes backdrop groups operate on the union. (flutter/flutter#191838)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 008936396810 to 8d3e197531c6 (1 revision) (flutter/flutter#192236)
2026-09-03 parlough@gmail.com [docs] Remove superseded AI rules for Flutter (flutter/flutter#192185)
2026-09-03 15619084+vashworth@users.noreply.github.com Collect analytics about SwiftPM errors and warnings (flutter/flutter#191746)
2026-09-03 engine-flutter-autoroll@skia.org Roll Packages from 18fe786 to f9b3954 (7 revisions) (flutter/flutter#192235)
2026-09-03 robert.ancell@canonical.com [Linux] Remove frame sharing between OpenGL contexts (flutter/flutter#192150)
2026-09-03 engine-flutter-autoroll@skia.org Roll Dart SDK from cf79067a1e44 to fcbfb64f42a1 (1 revision) (flutter/flutter#192228)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 731fe9af4c0b to 008936396810 (3 revisions) (flutter/flutter#192225)
2026-09-03 engine-flutter-autoroll@skia.org Roll Dart SDK from 700ab60bfe53 to cf79067a1e44 (2 revisions) (flutter/flutter#192219)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from 823f82e18177 to 731fe9af4c0b (5 revisions) (flutter/flutter#192217)
2026-09-03 louisehsu@google.com Fixes OverlayPortal semantics bounds corruption (flutter/flutter#192139)
2026-09-03 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from idslm9FikVLy2K_A-... to GTZNkoIR_WegRPWgL... (flutter/flutter#192215)
2026-09-03 engine-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from u_fSMsPU22VvUsvSo... to VObjlh3xw2P9sEbC_... (flutter/flutter#192212)
2026-09-03 engine-flutter-autoroll@skia.org Roll Skia from ae22da2e8308 to 823f82e18177 (13 revisions) (flutter/flutter#192209)
2026-09-02 ishaquehassan@gmail.com Expose skipTraversal in FocusableActionDetector (flutter/flutter#191308)
2026-09-02 97480502+b-luk@users.noreply.github.com Add `IsProgram` mock method to `MockGLESImpl`, use it in `BufferBindingsGLESTest` (flutter/flutter#192196)
2026-09-02 uros.radulovic23@gmail.com Fix nested scroll view fling crash (flutter/flutter#191130)
2026-09-02 brunocorona.alcantar@gmail.com Fix TabBarView/PageView edge auto-scroll during mouse text selection (flutter/flutter#189544)
2026-09-02 30870216+gaaclarke@users.noreply.github.com Bypass gamma correction when alpha >= 1.0 (flutter/flutter#192193)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD platform-android Android applications specifically tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants