RUM-18187: Update AGP to version 9.1.1 - #3753
Conversation
|
0d3c494 to
1d7b3de
Compare
1d7b3de to
ce5cbb9
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ce5cbb9c22
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| apiVersion.set(KotlinVersion.KOTLIN_2_0) | ||
| languageVersion.set(KotlinVersion.KOTLIN_2_0) |
There was a problem hiding this comment.
Preserve Kotlin 1.8 metadata compatibility
Keep the published modules on the previous Kotlin 1.8 language/API level unless dropping older consumer compilers is an explicit release decision. These settings cause every artifact to emit Kotlin 2.0 metadata (as reflected by the changed compiler-meta.txt files), so applications still compiling with Kotlin 1.8 or 1.9 can reject the SDK as having an incompatible metadata version; the AGP upgrade itself does not require raising the library's published metadata level when the external Kotlin plugin remains enabled.
Useful? React with 👍 / 👎.
| private val KSType.isFunctionTypeOrAlias: Boolean | ||
| get() = isFunctionType || | ||
| (declaration as? KSTypeAlias)?.type?.resolve()?.isFunctionTypeOrAlias == true |
There was a problem hiding this comment.
Resolve nested function aliases before extracting the return type
Handle the same alias chain recursively when obtaining the function return type. For valid declarations such as typealias Callback = BaseCallback and typealias BaseCallback = (String) -> Unit, this new recursive predicate classifies Callback as a function, but returnTypeNameOfFunctionType() only casts the immediate alias element to KSCallableReference; that element is a classifier reference for BaseCallback, so the helper returns null, logs an error, and emits no return statement for the generated no-op method.
Useful? React with 👍 / 👎.
ce5cbb9 to
fc90a30
Compare
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
fc90a30 to
50a718a
Compare
What does this PR do?
This PR updates AGP to version 9.1.1 - first version which supports compilation against Android API 37.
As a part of this migration the following was done:
ExposedCopyVisibilityto the public data classes withinternalconstructor: although we don't wantcopymethod to be exposed, we will keep binary API compatibility for now. We may move away from data classes in public API in SDK v4. The only exception is:tools:benchmarkmodule, because it is published only for the internal needs.apiVersionandlanguageVersionof Kotlin to 2.0., this is acknowledged ABI change.1.8could still live, but there is warning that it is deprecated by the build tooling (Kotlin 2.2 imposed by AGP 9) and it is time to bump it. We can afford this without major SDK release.android.useConstraintsfromtruetofalsecompared to AGP 8, this caused some transitive versions shaking. See docs for more details.minSdkis 21.Review checklist (to be filled by reviewers)