getsentry / getsentry/sentry-java

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

オープン
#5,781 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
Platform: Android Platform: Java Task
主要言語
Kotlin
スター
1.4k
フォーク
478
平均マージ
2日 23時間
マージ済み PR(30日)
67

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
android, kotlin
領域
build-system, mobile
issue の種類
リファクタリング
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
明確に書かれている
初心者へのやさしさ
55/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。