getsentry / getsentry/sentry-java

Investigate AGP built-in Kotlin and remove android.builtInKotlin=false opt-out

Aberta
#5,782 1 comentário 0 reações 0 responsáveis Ver no GitHub
Platform: Android Platform: Java repository maintenance
Linguagem predominante
Kotlin
Estrelas
1.4k
Forks
478
Merge médio
3d 4h
PRs com merge (30d)
72

Descrição

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=false` today.

**What's involved:**

* `org.jetbrains.kotlin.android` is 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 pinned `kotlinStdLibVersionAndroid = "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.

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece por gradle.properties e buildSrc/src/main/java/Config.kt:5 e, em seguida, inspecione os aproximadamente 15 módulos que aplicam org.jetbrains.kotlin.android, incluindo sentry-android e sentry-android-core. Remova android.builtInKotlin=false em uma configuração de teste e registre a compatibilidade, o controle da versão do Kotlin, o comportamento de stdlib e as quebras entre múltiplos módulos. O trabalho estará concluído quando as restrições e um caminho de migração documentado estiverem claros, idealmente com o opt-out removido.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
kotlin
Domínio
build-system, mobile
Tipo de issue
Refatoração
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Pouca atividade
Clareza
Razoavelmente clara
Facilidade para iniciantes
48/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.