getsentry / getsentry/sentry-java
Migrate to new AGP DSL and remove android.newDsl=false opt-out
- 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). To land AGP 9 without a large refactor, the bump 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.newDsl=false
```
**Why this matters:** `android.newDsl=false` opts out of AGP 9's new DSL. If Google removes this flag in a future AGP release, we will be unable to upgrade until the migration is done.
**Current state:**
* The root `build.gradle.kts` (around lines 174-180) still configures library modules via the legacy `com.android.build.gradle.BaseExtension` inside `plugins.withId("com.android.library") { ... }`. This is what depends on the old DSL.
* Runtime modules already use the new `androidComponents` Variant API (`beforeVariants`/`onVariants`); the old `libraryVariants`/`applicationVariants`/`BaseVariant` API is not used anywhere. Good starting position.
* Fragility to address: `sentry-samples/sentry-samples-android/build.gradle.kts` imports the internal `com.android.build.api.variant.impl.VariantImpl` (a non-stable `.impl.` class), a likely future break point.
**Scope:**
* Replace the `BaseExtension`-based configuration in the root build with the new DSL.
* Remove the internal `VariantImpl` usage in the Android sample.
* Remove `android.newDsl=false` from `gradle.properties` and confirm the build passes.
**Done when:** `android.newDsl=false` is removed and the build works on the new AGP DSL.
Should be picked up after the AGP bump PRs merge.
Guia de contribuição
Direção de pesquisa
Comece pelo arquivo root build.gradle.kts por volta das linhas 174-180 e inspecione a configuração do módulo de biblioteca usando BaseExtension. Em seguida, revise sentry-samples/sentry-samples-android/build.gradle.kts em busca do import interno de VariantImpl, remova android.newDsl=false de gradle.properties e confirme que o build passa com a nova DSL do AGP.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- android, 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
- Claramente especificada
- Facilidade para iniciantes
- 55/100