tree 75b60217a789e44a4616a7263d3a49d5b1d9e90c
parent 02d20b3fec8477b8b1a0cc72567c92577e733e68
author jesswrd <jesswon@google.com> 1783622940 -0700
committer GitHub <noreply@github.com> 1783622940 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJqT+0sCRC1aQ7uu5UhlAAA5dkQAAESQogUj82EibzyoNcF8I4H
 A4tBCwwP5KeqQHYUFjrDqvmyHjaSninKb8Y2jJY1UebCIReD8tNdaLDzgQ3smGx5
 dxMXH8nAsyNOVFL8wibkQE+Rayikn3Y+M2DEq1usaMn0UrGmwVk2ktEeTEZYrqqy
 FEf1RdIe3Bzi45wzkD8qSx+GgfU1EXbv08ftUDqWNtmICGXnSZCNiLL9GfFuR3pW
 d+btcJM/057NsokNm9hejshTaEY8KmKimShqHOIO6dby1iLrRVEil0YZyV9si00f
 /m2ZIUviE6lfy1QxAvcYvxmRMIB+CjZBoyFaZr0Nq22BequdOG8Ymyn88ApP2oGS
 MKUq9ApNFGNyA6a32tp077S+1muALU04j4QT2h3TYTOZViIuCHTTbaLbHdVsQtto
 gVioHECFTzzHo5hWp9uam8gCYNkYuIr4R38PPp9jRJpqFEKzMy+UvXZ5z7aaEAjG
 B2Yx1q8QMElIUG3zRrToQ4Ku1lnJCwv682UdmR//HCHLXYhVC5EdVNmYp0bvE1zh
 +wE01crNDyS4ZvP+NovIe5DmDDFXcgGR+3TwWdVSFhS4jZ39c6VIIHKqggAsCpEs
 YbdwNEyXgg9yLkdl1mpQIN+eHfgLveJtscurMz2B06+NxZCFGvBx/N7z1xDu/Ddl
 J//AytMENQNHektfjzNd
 =Aulv
 -----END PGP SIGNATURE-----
 

[AGP 9] Update Warn Version to AGP 9+ (#189109)

Raised warn version to AGP 9.0.1 and error version to right before AGP 9
for upcoming stable release. This way, most Flutter Android developers
will upgrade their AGP version to 9.0.1, which means they will start
seeing the Built-in Kotlin migration warnings.

Since I intend on CP-ing this to beta, this PR contains the minimum
required changes to raise the warn version to AGP 9.0.1 and the error
version to 9.0.1. As in I changed
`packages/flutter_tools/gradle/src/main/kotlin/DependencyVersionChecker.kt`
and a lot of presubmits failed. All other changes had to be made in
order to pass presubmits. The following test projects (or tests with
projects) had minimal dependency upgrades in a while, so tests failed
because they fell below the error version:

-
`flutter/dev/integration_tests/module_host_with_custom_build_v2_embedding`
-
`flutter/dev/integration_tests/pure_android_host_apps/android_custom_host_app`
-
`flutter/packages/flutter_tools/test/integration.shard/test_data/deferred_components_project.dart`
-
`flutter/packages/flutter_tools/test/integration.shard/android_gradle_legacy_flutter_plugins_strings_in_comments_test.dart`
-
`flutter/dev/devicelab/bin/tasks/android_java17_dependency_smoke_tests.dart`
-
`flutter/packages/flutter_tools/test/android_java17_integration.shard/android_dependency_version.dart`

In this PR, I upgraded those dependency versions to the error version
(the minimum change required). In a future PR (issue
[here](https://github.com/flutter/flutter/issues/189119)), I will align
those project dependency versions with the current template versions (or
at least a safer/modern version between the warn version and template
version).

## 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 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].

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
[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