DSL Kotlin untuk Gradle
Pindahkan skrip `build.gradle` anda ke `build.gradle.kts` menggunakan DSL Kotlin untuk kebolehbacaan dan keselamatan jenis yang lebih baik.
DSL Kotlin untuk Gradle ialah pelajaran Groovy & Gradle: Automasi JVM dan Kejuruteraan Binaan percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Groovy & Gradle: Automasi JVM dan Kejuruteraan Binaan, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Groovy & Gradle: Automasi JVM dan Kejuruteraan Binaan merangkumi sejumlah 4 pelajaran.
Selamat Datang ke Kotlin DSL
Selamat datang ke Kotlin DSL untuk Gradle! Pelajaran ini meneroka cara beralih daripada Groovy DSL kepada Kotlin DSL dalam skrip binaan Gradle anda.
Kotlin DSL menawarkan kebolehbacaan dan keselamatan jenis yang dipertingkatkan, menjadikan fail binaan anda lebih kukuh dan mudah diselenggara. Ini ialah pendekatan moden untuk mentakrifkan projek Gradle anda.
Mengapa Kotlin DSL?
Mengapa perlu beralih kepada Kotlin DSL?
- Keselamatan Jenis: Kotlin DSL ditaip secara statik, bermakna pengkompil boleh mengesan ralat semasa binaan, bukan semasa waktu jalan. Ini mengurangkan kejutan!
- Sokongan IDE: Dapatkan pelengkapan automatik, pemfaktoran semula dan navigasi yang lebih baik dalam IDE anda (seperti IntelliJ IDEA) kerana IDE memahami jenis tersebut.
- Kebolehbacaan: Sintaks Kotlin yang ringkas sering menjadikan skrip binaan lebih jelas, khususnya untuk logik yang kompleks.
- Kekonsistenan: Jika projek anda sudah menggunakan Kotlin untuk kod aplikasi, penggunaan Kotlin DSL menjadikan keseluruhan pangkalan kod lebih konsisten.
Sintaks Asas: Blok Plugin
Mari mulakan dengan perbezaan asas: cara anda menggunakan plugin. Dalam Kotlin DSL, sambungan fail skrip binaan berubah daripada .gradle kepada .gradle.kts.
Perhatikan penggunaan id("plugin-id") dan version "..." yang pilihan untuk menggunakan plugin.
plugins {
id("java")
id("application") version "8.1.0"
}Mengisytiharkan Kebergantungan
Mengisytiharkan kebergantungan sangat serupa dengan Groovy DSL, tetapi menggunakan sintaks panggilan fungsi Kotlin. Anda menggunakan argumen bernama untuk rentetan kebergantungan.
Beginilah cara anda menambah kebergantungan umum seperti JUnit untuk ujian dan Apache Commons untuk utiliti.
dependencies {
implementation("org.slf4j:slf4j-api:2.0.7")
testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0")
}Mentakrifkan Tugasan Tersuai
Mencipta tugasan tersuai dalam Kotlin DSL adalah mudah. Anda menggunakan tasks.register("taskName") { ... } untuk mentakrifkan tugasan baharu.
Dalam lambda tersebut, anda boleh mengkonfigurasi tugasan, contohnya dengan menambah tindakan doLast untuk melaksanakan kod apabila tugasan dijalankan.
tasks.register("helloKotlin") {
group = "Greeting"
description = "Prints a friendly message using Kotlin DSL."
doLast {
println("Hello from a Kotlin DSL task!")
}
}Mengkonfigurasi Tugasan Sedia Ada
Anda juga boleh mengkonfigurasi tugasan sedia ada, seperti tugasan terbina dalam jar, menggunakan tasks.getByName("taskName") { ... }. Ini membolehkan anda menyesuaikan kelakuannya.
Contohnya, anda boleh menetapkan nama asas fail JAR atau menambah entri manifes.
tasks.getByName<Jar>("jar") {
archiveBaseName.set("my-app-kotlin")
manifest {
attributes["Implementation-Title"] = project.name
attributes["Implementation-Version"] = project.version
}
}Sifat Projek & Pemboleh Ubah
Mengakses sifat projek dan mentakrifkan pemboleh ubah juga selamat dari segi jenis. Anda boleh mengisytiharkan sifat seperti group dan version menggunakan penetapan sifat.
Untuk pemboleh ubah setempat, anda menggunakan kata kunci Kotlin val atau var, yang meningkatkan kejelasan dan mencegah penetapan semula secara tidak sengaja.
group = "com.example"
version = "1.0.0"
val myProperty = "Some Value"
tasks.register("printProps") {
doLast {
println("Project Group: $group")
println("My Property: $myProperty")
}
}Pengakses Selamat Jenis
Manfaat utama Kotlin DSL ialah pengakses selamat jenis. Untuk plugin umum seperti Java, anda memperoleh blok dan sifat khusus dengan pelengkapan automatik IDE sepenuhnya.
Daripada mengakses sifat berasaskan rentetan, anda menggunakan sintaks berorientasikan objek, yang menyukarkan kesilapan taip dan memudahkan penemuan pilihan.
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
application {
mainClass.set("com.example.MainApp")
}Memindahkan Skrip Groovy Ringkas
Mari lihat perbandingan ringkas untuk mengetahui cara coretan kecil Groovy DSL diterjemahkan kepada Kotlin DSL. Perhatikan penggunaan id("..."), implementation(...) dan penetapan sifat.
Strukturnya kekal serupa, tetapi sintaksnya menjadi lebih jelas dan disemak mengikut jenis.
// Groovy DSL (build.gradle)
// plugins {
// id 'java'
// }
// dependencies {
// implementation 'org.apache.commons:commons-lang3:3.12.0'
// }
// Kotlin DSL (build.gradle.kts)
plugins {
java
}
dependencies {
implementation("org.apache.commons:commons-lang3:3.12.0")
}Semakan Pantas tentang Kotlin DSL
Antara berikut, yang manakah manfaat utama menggunakan Kotlin DSL berbanding Groovy DSL untuk skrip binaan Gradle?
Imbas Kembali: Kotlin DSL untuk Gradle
Dalam pelajaran ini, kita meneroka manfaat dan sintaks asas Kotlin DSL untuk Gradle.
- Anda mempelajari sebab keselamatan jenis, sokongan IDE dan kebolehbacaan menjadikan Kotlin DSL pilihan yang berkuasa.
- Kita membincangkan cara menggunakan plugin, mengisytiharkan kebergantungan serta mentakrifkan dan mengkonfigurasi tugasan menggunakan sambungan fail
.gradle.kts. - Anda juga melihat cara menggunakan sifat projek dan pengakses selamat jenis untuk konfigurasi umum.
Penggunaan Kotlin DSL boleh menghasilkan binaan Gradle yang lebih kukuh dan mudah diselenggara!
Pelajari Groovy dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “DSL Kotlin untuk Gradle” percuma?
Ya — teks penuh “DSL Kotlin untuk Gradle” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Groovy & Gradle: Automasi JVM dan Kejuruteraan Binaan, tingkat taraf kepada CoddyKit PRO. Kursus Groovy & Gradle: Automasi JVM dan Kejuruteraan Binaan merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “DSL Kotlin untuk Gradle”?
Pindahkan skrip `build.gradle` anda ke `build.gradle.kts` menggunakan DSL Kotlin untuk kebolehbacaan dan keselamatan jenis yang lebih baik. Anda berlatih Groovy & Gradle: Automasi JVM dan Kejuruteraan Binaan menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Groovy & Gradle: Automasi JVM dan Kejuruteraan Binaan?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Groovy & Gradle: Automasi JVM dan Kejuruteraan Binaan di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “DSL Kotlin untuk Gradle” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Groovy & Gradle: Automasi JVM dan Kejuruteraan Binaan ini?
Ya. Setiap pelajaran Groovy & Gradle: Automasi JVM dan Kejuruteraan Binaan menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- DSL Kotlin untuk Gradle
- Binaan Projek Poliglot
- Penyepaduan IDE & Peralatan
- Menulis Tugasan Tersuai dalam DSL Kotlin