getsentry / getsentry/sentry-java

Migrate to new AGP DSL and remove android.newDsl=false opt-out

Aperta
#5,781 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Platform: Android Platform: Java Task
Lingua principale
Kotlin
Stelle
1.4k
Fork
478
Merge medio
2g 23h
PR unite (30g)
67

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start with the root build.gradle.kts around lines 174-180 and inspect the library-module configuration using BaseExtension. Then review sentry-samples/sentry-samples-android/build.gradle.kts for its internal VariantImpl import, remove android.newDsl=false from gradle.properties, and confirm the build passes with the new AGP DSL.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, kotlin
Ambito
build-system, mobile
Tipo di issue
Refactoring
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
55/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.