0Pricing
Kotlin Academy · Pelajaran

Dependensi dan Plugin

Konfigurasikan build

Dependensi dan Plugin adalah pelajaran Kotlin Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kotlin Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Academy mencakup 4 pelajaran total.

Konfigurasi Dependensi

Gradle mengelompokkan dependensi berdasarkan konfigurasi, yang mengatur kapan dan di mana dependensi tersebut tersedia:

  • implementation — kompilasi dan waktu berjalan, tidak diekspos kepada konsumen
  • api — juga diekspos kepada konsumen
  • testImplementation — hanya untuk pengujian

implementation vs api

implementation menyembunyikan dependensi dari modul yang bergantung pada modul Anda, sehingga meningkatkan kinerja pembangunan dan enkapsulasi. Gunakan api hanya jika dependensi tersebut muncul dalam tipe publik Anda.

dependencies {
    api("com.squareup.okio:okio:3.9.0")          // leaks into public API
    implementation("com.google.code.gson:gson:2.11.0") // internal only
}

compileOnly dan runtimeOnly

Beberapa dependensi hanya diperlukan pada satu fase:

  • compileOnly — tersedia saat kompilasi, tetapi tidak dikemas (misalnya anotasi)
  • runtimeOnly — hanya tersedia saat waktu berjalan (misalnya pengandar JDBC)
dependencies {
    compileOnly("org.projectlombok:lombok:1.18.32")
    runtimeOnly("org.postgresql:postgresql:42.7.3")
}

Koordinat Dependensi

Koordinat berbentuk group:name:version. Anda dapat memisahkannya secara eksplisit agar lebih jelas.

dependencies {
    implementation(group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.8.1")
}

Dependensi Proyek

Dalam pembangunan multi-modul, satu modul bergantung pada modul lain dengan project(...).

dependencies {
    implementation(project(":core"))
}

Menerapkan Plugin Inti

Plugin bawaan tidak memerlukan versi. Plugin komunitas diterapkan dengan id dan versi.

plugins {
    id("java-library")
    kotlin("jvm") version "2.0.0"
    id("com.github.johnrengelman.shadow") version "8.1.1"
}

Plugin dari Portal

Sebagian besar plugin secara otomatis diselesaikan dari Portal Plugin Gradle saat diterapkan di blok plugins { } berdasarkan id.

plugins {
    id("org.jetbrains.kotlin.plugin.serialization") version "2.0.0"
}

Mengecualikan Dependensi Transitif

Anda dapat mengecualikan dependensi transitif yang tidak diinginkan dan ikut terbawa oleh pustaka lain.

dependencies {
    implementation("com.example:lib:1.0") {
        exclude(group = "org.slf4j", module = "slf4j-api")
    }
}

Memaksa Versi

Selesaikan konflik dengan memaksa versi tertentu melalui strategi resolusi.

configurations.all {
    resolutionStrategy {
        force("com.google.guava:guava:33.2.1-jre")
    }
}

Memeriksa Pohon Dependensi

Gunakan tugas dependencies untuk melihat graf yang telah diselesaikan dan mendiagnosis konflik.

// ./gradlew dependencies
// ./gradlew app:dependencies --configuration runtimeClasspath

Memilih Konfigurasi yang Tepat

Gunakan implementation sebagai pilihan awal. Gunakan api secara terbatas, testImplementation untuk pengujian, dan pasangan compileOnly/runtimeOnly untuk kebutuhan yang bergantung pada fase.

Pemeriksaan Singkat

Pustaka pencatatan log hanya digunakan di dalam modul Anda dan tidak pernah muncul dalam tipe publik Anda. Konfigurasi mana yang paling tepat?

Ringkasan

Anda telah mengonfigurasi pembangunan:

  • Konfigurasi: implementation, api, compileOnly, runtimeOnly, testImplementation
  • Terapkan plugin berdasarkan id (dengan versi) atau sebagai plugin inti
  • Kecualikan/paksakan versi dan periksa pohonnya

Berikutnya: menulis tugas khusus.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Dependensi dan Plugin” gratis?

Ya — teks lengkap “Dependensi dan Plugin” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Dependensi dan Plugin”?

Konfigurasikan build Kamu berlatih Kotlin Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Kotlin Academy?

Tidak diperlukan pengalaman sebelumnya. Kotlin Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Dependensi dan Plugin” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Kotlin Academy ini?

Ya. Setiap pelajaran Kotlin Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. DSL Kotlin Gradle
  2. Dependensi dan Plugin
  3. Tugas Kustom
  4. Katalog Versi
← Kembali ke Kotlin Academy