Memigrasikan build ke katalog versi

Katalog versi Gradle memungkinkan Anda menambahkan dan mengelola dependensi serta plugin dengan cara yang skalabel. Penggunaan katalog versi Gradle mempermudah pengelolaan dependensi dan plugin jika Anda memiliki beberapa modul. Daripada melakukan hardcode nama dan versi dependensi dalam setiap file build dan mengupdate setiap entri setiap kali Anda perlu mengupgrade dependensi, Anda dapat membuat katalog versi pusat dependensi yang dapat dirujuk oleh beragam modul dengan cara yang aman melalui bantuan Android Studio.

Halaman ini memberikan informasi dasar tentang memigrasikan aplikasi Android Anda ke katalog versi. Untuk mempelajari lebih lanjut, lihat Menambahkan dependensi build dan dokumentasi Gradle.

Membuat file katalog versi

Mulailah dengan membuat file katalog versi. Di folder gradle project root, buat file dengan nama libs.versions.toml. Gradle mencari katalog dalam file libs.versions.toml secara default, jadi sebaiknya gunakan nama default ini.

Di file libs.versions.toml, tambahkan bagian berikut:

[versions]

[libraries]

[plugins]

Bagian ini digunakan sebagai berikut:

  • Di blok versions, tentukan variabel yang menyimpan versi dependensi dan plugin Anda. Anda menggunakan variabel ini dalam blok berikutnya (blok libraries dan plugins).
  • Di blok libraries, tentukan dependensi Anda.
  • Di blok plugins, tentukan plugin Anda.

Langkah migrasi

Sebaiknya lakukan langkah-langkah sesuai daftar yang diurutkan. Build dapat menggunakan dependensi dan plugin dari skrip dan katalog build secara bersamaan, sehingga diperlukan waktu untuk memigrasikan dependensi dan plugin satu per satu.

Proses migrasinya adalah:

  1. Tambahkan entri baru ke katalog.
  2. Sinkronkan project Android Anda.
  3. Ganti deklarasi string sebelumnya dengan pengakses keamanan jenis katalog.

Memigrasikan dependensi

Tambahkan entri untuk setiap dependensi di bagian versions dan libraries file libs.versions.toml. Sinkronkan project Anda, lalu ganti deklarasinya di file build dengan nama katalognya.

Cuplikan kode ini menampilkan file build.gradle.kts sebelum menghapus dependensi:

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.9.0")

}

Groovy

dependencies {
    implementation 'androidx.core:core-ktx:1.9.0'

}

Cuplikan kode ini menunjukkan cara menentukan dependensi dalam file katalog versi:

[versions]
ktx = "1.9.0"

[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }

Penamaan yang direkomendasikan untuk blok dependensi dalam katalog adalah kasus kebab (seperti androidx-ktx) untuk bantuan penyelesaian kode yang lebih baik dalam file build Anda.

Dalam file build.gradle.kts setiap modul yang memerlukan dependensi, tentukan dependensi dengan nama yang Anda tentukan dalam file TOML.

Kotlin

dependencies {
   implementation(libs.androidx.ktx)

}

Groovy

dependencies {
   implementation libs.androidx.ktx

}

Memigrasikan plugin

Tambahkan entri untuk setiap plugin di versi dan bagian plugin file libs.versions.toml. Sinkronkan project Anda, lalu ganti deklarasinya di blok plugins{} dalam file build dengan nama katalognya.

Cuplikan kode ini menampilkan file build.gradle.kts sebelum menghapus plugin:

Kotlin

// Top-level `build.gradle.kts` file
plugins {
   id("com.android.application") version "7.4.1" apply false

}

// Module-level `build.gradle.kts` file
plugins {
   id("com.android.application")

}

Groovy

// Top-level `build.gradle` file
plugins {
   id 'com.android.application' version '7.4.1' apply false

}

// Module-level `build.gradle` file
plugins {
   id 'com.android.application'

}

Cuplikan kode ini menunjukkan cara menentukan plugin dalam file katalog versi:

[versions]
androidGradlePlugin = "7.4.1"

[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }

Seperti halnya dependensi, format yang direkomendasikan untuk entri katalog blok plugins adalah kasus kebab (seperti android-application) untuk bantuan penyelesaian kode yang lebih baik dalam file build Anda.

Kode berikut menunjukkan cara menentukan plugin com.android.application di file build.gradle.kts level atas dan modul. Gunakan alias untuk plugin yang berasal dari file katalog versi danid untuk plugin yang tidak berasal dari file katalog versi, seperti plugin konvensi.

Kotlin

// Top-level build.gradle.kts
plugins {
   alias(libs.plugins.android.application) apply false

}

// module build.gradle.kts
plugins {
   alias(libs.plugins.android.application)

}

Groovy

// Top-level build.gradle
plugins {
   alias libs.plugins.android.application apply false

}

// module build.gradle
plugins {
   alias libs.plugins.android.application

}

Pelajari lebih lanjut

Untuk mempelajari opsi tambahan guna mengonfigurasi katalog versi, lihat referensi berikut:

Masalah umum

Katalog versi Gradle masih dalam pengembangan aktif. Untuk mengetahui info selengkapnya tentang hal yang belum didukung, lihat masalah dan batasan umum.