Sifat & Konfigurasi Tugas
Pelajari cara menambah sifat pada tugas tersuai, mengkonfigurasikannya dan memastikan binaan berperingkat.
Sifat & Konfigurasi Tugas ialah pelajaran Groovy & Gradle: Automasi JVM dan Kejuruteraan Binaan percuma di CoddyKit. Ini ialah pelajaran 3 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.
Apakah Sifat Tugasan?
Tugasan Gradle tersuai boleh dijadikan sangat fleksibel dengan menambahkan sifat. Sifat ini bertindak seperti pemboleh ubah yang membolehkan anda mengkonfigurasi tingkah laku tugasan daripada skrip build.gradle anda.
Penggunaan sifat menjadikan tugasan tersuai boleh digunakan semula dan disesuaikan dengan keperluan projek yang berbeza tanpa perlu mengubah logik terasnya.
Mentakrifkan Sifat Mudah
Untuk menambahkan sifat pada tugasan tersuai, anda hanya perlu mengisytiharkan medan awam dalam kelas tugasan anda. Untuk jenis asas seperti String, int atau boolean, caranya mudah.
Untuk situasi yang lebih maju, Gradle turut menyediakan jenis Property khusus, tetapi kita akan bermula dengan pengisytiharan mudah.
Tugasan Tersuai dengan Sifat
Berikut ialah tugasan tersuai asas yang ditakrifkan terus dalam build.gradle. Tugasan ini mempunyai sifat message yang akan dicetak apabila tugasan dijalankan. Perhatikan nilai lalai yang ditetapkan untuk sifat tersebut.
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
class MyMessageTask extends DefaultTask {
String message = "Default task message"
@TaskAction
void printMessage() {
println "Task says: ${message}"
}
}
task helloWorld(type: MyMessageTask)
Mengkonfigurasi Sifat Tugasan
Setelah sifat tugasan ditakrifkan, anda boleh menetapkan nilainya dengan mudah daripada fail build.gradle anda. Hal ini dilakukan dalam blok konfigurasi tugasan, yang membolehkan anda menyesuaikan tika tugasan tersebut.
Jalankan contoh untuk melihat cara mesej lalai digantikan.
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
class MyMessageTask extends DefaultTask {
String message = "Default task message"
@TaskAction
void printMessage() {
println "Task says: ${message}"
}
}
task helloWorld(type: MyMessageTask) {
message = "Hello from CoddyKit!"
}
Input untuk Binaan Berperingkat
Salah satu ciri Gradle yang paling berkuasa ialah binaan berperingkat. Ini bermakna Gradle boleh melangkau tugasan jika input dan outputnya tidak berubah sejak binaan terakhir, sekali gus menjimatkan banyak masa.
Untuk mendayakan ciri ini, anda mesti memberitahu Gradle sifat yang dianggap sebagai input tugasan. Sifat ini ialah sifat yang nilainya mempengaruhi hasil tugasan.
Mengisytiharkan Sifat Input
Tandakan sifat sebagai input menggunakan anotasi @Input. Gradle kemudiannya akan menjejak nilainya. Jika nilai berubah antara binaan, tugasan akan dilaksanakan. Jika tidak, Gradle boleh menandakannya sebagai UP-TO-DATE dan melangkaunya.
Untuk input fail atau direktori, gunakan @InputFile, @InputDirectory atau @InputFiles.
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.TaskAction
class MyInputTask extends DefaultTask {
@Input
String greeting = "Hola!"
@TaskAction
void greet() {
println "Greeting: ${greeting}"
}
}
task sayHello(type: MyInputTask) {
greeting = "Bonjour!"
}
Output untuk Binaan Berperingkat
Output juga sama penting. Output ialah fail atau direktori yang dicipta atau diubah suai oleh tugasan anda semasa pelaksanaannya. Gradle turut menjejaki output ini untuk menentukan sama ada sesuatu tugasan masih terkini.
Jika input tugasan tidak berubah DAN output yang diisytiharkan wujud serta sah, Gradle tahu bahawa tugasan itu tidak perlu dijalankan lagi.
Mengisytiharkan Sifat Output
Gunakan anotasi seperti @OutputFile untuk satu fail hasil atau @OutputDirectory untuk direktori yang mengandungi hasil. Anotasi ini memberitahu Gradle lokasi artifak yang dijana oleh tugasan akan disimpan.
Tugasan akan memastikan direktori induk wujud sebelum menulis fail.
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction
class MyOutputFileTask extends DefaultTask {
@Input
String content = "Default report content."
@OutputFile
File outputFile = project.file("build/reports/output.txt")
@TaskAction
void generateFile() {
outputFile.parentFile.mkdirs()
outputFile.write(content)
println "Generated: ${outputFile.name}"
}
}
task generateReport(type: MyOutputFileTask) {
content = "Report data for: " + new Date().format("yyyy-MM-dd HH:mm:ss")
}
Kehebatan Binaan Berperingkat
Dengan mengisytiharkan input dan output dengan betul, anda dapat memanfaatkan ciri binaan berperingkat Gradle yang berkuasa. Ini bermakna tugasan anda hanya dijalankan apabila perlu, sekali gus mempercepatkan masa binaan dengan ketara.
Pengoptimuman ini penting untuk aliran kerja pembangunan yang cekap dan saluran paip CI/CD yang teguh, kerana ia memastikan maklum balas pantas serta menjimatkan sumber.
Semakan Pantas tentang Sifat
Bayangkan anda mempunyai tugasan Gradle tersuai yang menerima satu fail konfigurasi tertentu sebagai input. Apakah anotasi yang akan anda gunakan untuk sifat yang mentakrifkan laluan ke fail konfigurasi tunggal ini?
Ulang Kaji: Sifat Tugasan & Binaan Berperingkat
Dalam pelajaran ini, anda telah belajar cara menambahkan sifat pada tugasan tersuai supaya tugasan tersebut boleh dikonfigurasi dan digunakan semula. Anda juga telah mempelajari cara menandakan sifat sebagai input (contohnya, @Input, @InputFile) dan output (contohnya, @OutputFile, @OutputDirectory).
Anotasi ini penting untuk mendayakan ciri binaan berperingkat Gradle yang berkuasa, yang mempercepatkan binaan anda dengan ketara dengan melangkau tugasan yang sudah terkini. Teruskan berlatih untuk menguasai konfigurasi tugasan yang cekap!
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 “Sifat & Konfigurasi Tugas” percuma?
Ya — teks penuh “Sifat & Konfigurasi Tugas” 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 “Sifat & Konfigurasi Tugas”?
Pelajari cara menambah sifat pada tugas tersuai, mengkonfigurasikannya dan memastikan binaan berperingkat. 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 3 daripada 4.
Berapa lamakah pelajaran “Sifat & Konfigurasi Tugas” 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
- Mentakrifkan Tugas Tersuai
- Jenis & Tindakan Tugas
- Sifat & Konfigurasi Tugas
- Tugasan Berperingkat dan Pemeriksaan Terkini