Investigate AGP built-in Kotlin and remove android.builtInKotlin=false opt-out
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 48/100
- Issue 类型
- 重构
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- kotlin
- 领域
- build-system, mobile
调研方向
从 gradle.properties 和 buildSrc/src/main/java/Config.kt:5 开始,然后检查大约 15 个应用 org.jetbrains.kotlin.android 的模块,包括 sentry-android 和 sentry-android-core。在试验配置中移除 android.builtInKotlin=false,并记录兼容性、Kotlin 版本控制、stdlib 行为以及多模块破坏情况。当约束条件和文档化的迁移路径都已明确时即视为完成,理想情况下还应移除 opt-out。
由索引模型根据 Issue 内容生成。
描述
Follow-up to the AGP 8.13.1 → 9.2.1 bump (getsentry/sentry-java#5777). AGP 9 bundles its own ("built-in") Kotlin. To land the bump without a large refactor, we added a temporary opt-out in gradle.properties:
# AGP 9+ migration opt-outs until we remove kotlin-android plugin and adopt built-in Kotlin.
android.builtInKotlin=false
Why this matters: android.builtInKotlin=false keeps us on the standalone org.jetbrains.kotlin.android plugin (Kotlin 2.3.21). If Google removes this opt-out in a future AGP release, we would be forced onto built-in Kotlin — and given our current project structure, that may block us from upgrading at all.
What to investigate:
- Whether AGP's built-in Kotlin version can be controlled/pinned, and whether it is compatible with our multi-module setup.
- What breaks if we remove
android.builtInKotlin=falsetoday.
What's involved:
org.jetbrains.kotlin.androidis applied in ~15 modules (sentry-android, sentry-android-core, sentry-android-replay, sentry-compose, etc.). Adopting built-in Kotlin means removing that plugin from all of them.- Interacts with
kotlin.stdlib.default.dependency=false(stdlib management) and the pinnedkotlinStdLibVersionAndroid = "1.9.24"(buildSrc/src/main/java/Config.kt:5).
Done when: we understand the constraints, have a documented path forward, and (ideally) can remove android.builtInKotlin=false.
Should be picked up after the AGP bump PRs merge.
- 主要语言
- Kotlin
- 星标
- 1.4k
- 派生
- 478
- 平均合并
- 2 天 12 小时
- 30 天内合并 PR
- 60
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
getsentry/sentry-java 的其他 Issue
-
Platform: Java
难度 2/5 半天 新手友好度 76/100
getsentry/sentry-java#6161 · 1 条评论 ·
维护者通常 1 天内回复
-
Bug Java Platform: Android Platform: Java
难度 2/5 1-3 小时 新手友好度 78/100
getsentry/sentry-java#6138 · 1 条评论 ·
维护者通常 1 天内回复
-
Feature Java Platform: Java Spans
难度 2/5 1-3 小时 新手友好度 68/100
getsentry/sentry-java#5984 · 1 条评论 ·
维护者通常 1 天内回复
-
Android Task Traces
难度 2/5 1-3 小时 新手友好度 68/100
getsentry/sentry-java#5376 · 1 条评论 ·
维护者通常 1 天内回复
-
Android Docs Errors
难度 2/5 1-3 小时 新手友好度 64/100
getsentry/sentry-java#5375 · 1 条评论 ·
维护者通常 1 天内回复
查看 getsentry/sentry-java 的全部 Issue
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 92/100
-
难度 1/5 1 小时以内 新手友好度 95/100
-
bug
难度 2/5 1-3 小时 新手友好度 75/100
recloudstream/cloudstream#3226 · 1 条评论 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
aws/aws-crt-kotlin#309 ·
维护者通常 3 天内回复
-
OAI-PMH
难度 2/5 1-3 小时 新手友好度 78/100