Skip to content

Split pre-AGP 8.3 module AAR test into a Java 17 pinned target - #193467

Merged
auto-submit[bot] merged 3 commits into
flutter:masterfrom
jesswrd:split-module-aar-java17
Sep 29, 2026
Merged

auto-submit[bot] merged 3 commits into
flutter:masterfrom
jesswrd:split-module-aar-java17

Conversation

@jesswrd

@jesswrd jesswrd commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Add-to-app AAR builds use the Android host app's Gradle/AGP configuration, so Flutter's minimum-version checks don't apply. Host apps on old AGP versions (e.g. 8.2.1) can still consume Flutter AARs, even though those versions are well below Flutter's supported minimum.

The pre-AGP 8.3 sub-test uses Gradle 8.4, which can't run on Java 25. This PR moves it to a new Linux android_java17_build_android_host_app_with_module_aar target pinned to Java 17. build_android_host_app_with_module_aarkeeps the modern sub-test (Gradle 9.5.0 / AGP 9.3.1), which will run on the default JDK. That keeps old-AGP host app coverage once CI moves to Java 25.

Partially Addresses #193404

Pre-launch Checklist

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

If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Sep 28, 2026

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request refactors the build_android_host_app_with_module_aar task by moving the ModuleTest implementation and its helper functions to a shared library file, allowing it to be reused. It also introduces a new CI target and task, android_java17_build_android_host_app_with_module_aar, pinned to Java 17 to support testing older Gradle/AGP versions (Gradle 8.4 and AGP 8.2.1) that are incompatible with newer JDKs. Feedback suggests simplifying the new task file by removing the unnecessary combine helper since it only executes a single test.

@jesswrd
jesswrd requested a review from gmackall September 29, 2026 16:57
gmackall
gmackall previously approved these changes Sep 29, 2026
Comment thread TESTOWNERS Outdated
/dev/devicelab/bin/tasks/android_engine_flags_release_test.dart @camsim99 @flutter/android
/dev/devicelab/bin/tasks/android_intent_security_test.dart @camsim99 @flutter/android
/dev/devicelab/bin/tasks/android_java11_dependency_smoke_tests.dart @jesswrd @flutter/android
/dev/devicelab/bin/tasks/android_java17_build_android_host_app_with_module_aar.dart @mboetger @flutter/android

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

not that it matters but why matt

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.

becaue he owned the og:

/dev/devicelab/bin/tasks/build_android_host_app_with_module_aar.dart @mboetger @flutter/android

ok but let me update it to me. Makes sense since I made this change.

@jesswrd jesswrd added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 29, 2026
@auto-submit
auto-submit Bot added this pull request to the merge queue Sep 29, 2026
Merged via the queue into flutter:master with commit d4c0acd Sep 29, 2026
23 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Sep 29, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Sep 30, 2026
flutter/flutter@55b8f88...d649d2b

2026-09-30 [email protected] [Android] Update the CLI to reject passing engine configuration flags with a prebuilt binary in release mode (flutter/flutter#190870)
2026-09-30 [email protected] Roll Skia from af1e8b356dd1 to c7b323126bf0 (1 revision) (flutter/flutter#193569)
2026-09-30 [email protected] [web] Respect text affinity in getLineBoundary at a soft wrap (flutter/flutter#192664)
2026-09-30 [email protected] [tool] Migrate TestCommand and platform runner to modular dependency injection (flutter/flutter#190789)
2026-09-30 [email protected] Roll Skia from 3a20a0464d25 to af1e8b356dd1 (1 revision) (flutter/flutter#193564)
2026-09-30 [email protected] Roll Skia from 554ef62d11a9 to 3a20a0464d25 (6 revisions) (flutter/flutter#193556)
2026-09-30 [email protected] Use null aware elements in `platform_views.dart` (flutter/flutter#193214)
2026-09-30 [email protected] Replace deprecated `withOpacity` in `flutter_logo.dart` (flutter/flutter#192583)
2026-09-30 [email protected] Roll Skia from f441ca223b2b to 554ef62d11a9 (72 revisions) (flutter/flutter#193548)
2026-09-30 [email protected] Fix StrcmpFixed matching prefixes in the Vulkan embedder tests (flutter/flutter#192999)
2026-09-30 [email protected] Update Engine to test Android 17 AVD (flutter/flutter#193239)
2026-09-29 [email protected] Give the Vulkan test context the extensions Impeller requires (flutter/flutter#193002)
2026-09-29 [email protected] Rename "subtext" to "supportingTextPadding" in `FormField`'s documentation (flutter/flutter#183582)
2026-09-29 [email protected] Set --no-js-strongly-connected-components for DDC compiles by default (flutter/flutter#193485)
2026-09-29 [email protected] Split pre-AGP 8.3 module AAR test into a Java 17 pinned target (flutter/flutter#193467)
2026-09-29 [email protected] Remove no-shuffle from gen_defaults_test (flutter/flutter#192280)
2026-09-29 [email protected] Update guidance on bumping Dart (flutter/flutter#193131)
2026-09-29 [email protected] Remove vestigial `download_jdk` gclient var (flutter/flutter#188571)
2026-09-29 [email protected] Roll pub packages (flutter/flutter#193522)
2026-09-29 [email protected] [flutter_tools] Lazily initialize AndroidSdk platform and build-tools discovery (flutter/flutter#191972)
2026-09-29 [email protected] [tool] Migrate Web build subcommands and toolchain to modular dependency injection (flutter/flutter#190783)
2026-09-29 [email protected] Pin androidx.test dependencies in integration_test (flutter/flutter#193316)
2026-09-29 [email protected] [flutter_tools] Include flutter.js.map in web builds (flutter/flutter#192257)
2026-09-29 [email protected] [WebParagraph] Fixing edge cases for wrapping text (with newlines) (flutter/flutter#189858)
2026-09-29 [email protected] Bump customer testing version for flutter/devtools update (flutter/flutter#193511)
2026-09-29 [email protected] Roll Packages from ba0364a to 3c6ce59 (14 revisions) (flutter/flutter#193507)
2026-09-29 [email protected] [flutter_tools] Guard socket streams and done futures against socket reset errors (flutter/flutter#192941)

If this roll has caused a breakage, revert this CL and set the roller
to dry run mode using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] 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
jesswrd added a commit to jesswrd/flutter that referenced this pull request Oct 2, 2026
flutter#193467 moved the pre-AGP 8.3 module AAR case (AGP 8.2.1 / Gradle 8.4)
into the android_java17_build_android_host_app_with_module_aar target.
AGP 8.2.1 cannot compile against API 37, which Flutter AARs now require
of their consumers, so move that case to AGP 8.11.1 / Gradle 8.14 to
match errorAGPVersion and errorGradleVersion. Gradle 8.14 still can't run
on Java 25, so the Java 17 pin stays.
suryaKommana2662 pushed a commit to suryaKommana2662/flutter that referenced this pull request Oct 29, 2026
…er#193467)

Add-to-app AAR builds use the Android host app's Gradle/AGP
configuration, so Flutter's minimum-version checks don't apply. Host
apps on old AGP versions (e.g. 8.2.1) can still consume Flutter AARs,
even though those versions are well below Flutter's supported minimum.

The pre-AGP 8.3 sub-test uses Gradle 8.4, which can't run on Java 25.
This PR moves it to a new Linux
`android_java17_build_android_host_app_with_module_aar` target pinned to
Java 17. `build_android_host_app_with_module_aar`keeps the modern
sub-test (Gradle 9.5.0 / AGP 9.3.1), which will run on the default JDK.
That keeps old-AGP host app coverage once CI moves to Java 25.

Partially Addresses flutter#193404

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [AI contribution guidelines] and understand my
responsibilities, or I am not using AI tools.
- [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 in-code documentation (doc comments with
`///`).
- [x] If this PR introduces a new feature or capability, I created and
linked a website documentation issue or PR in [flutter/website] (or
verified none is needed).
- [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.
- [ ] All existing and new tests are passing.

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

If this change needs to override an active code freeze, provide a
comment explaining why. The code freeze workflow can be overridden by
code reviewers. See pinned issues for any active code freezes with
guidance.

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[AI contribution guidelines]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
[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
[flutter/website]: https://github.com/flutter/website
[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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants