งานแบบกำหนดเอง
ทำงานโดยอัตโนมัติ
งานแบบกำหนดเอง เป็นบทเรียน Kotlin Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kotlin Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kotlin Academy มีบทเรียนทั้งหมด 4 บทเรียน
งาน Gradle คืออะไร
งาน คือหน่วยของงานสร้าง เช่น การคอมไพล์ การคัดลอกไฟล์ หรือการเรียกใช้เครื่องมือ งานแบบกำหนดเองช่วยให้คุณทำงานจิปาถะเฉพาะโครงการโดยอัตโนมัติได้
การลงทะเบียนชุดงาน
ใช้ tasks.register ร่วมกับส่วนติดต่อการเขียนโปรแกรมสำหรับหลีกเลี่ยงการกำหนดค่า โดยแนะนำให้ใช้แทน tasks.create แบบเก่า เพราะจะประเมินเมื่อจำเป็น
tasks.register("hello") {
doLast {
println("Hello from Gradle")
}
}doFirst และ doLast
การกระทำของชุดงานจะทำงานใน ระยะการทำงาน โดย doFirst จะเพิ่มการกระทำไว้ด้านหน้า ส่วน doLast จะเพิ่มไว้ด้านหลัง โค้ดที่อยู่นอกสองส่วนนี้จะทำงานระหว่างการกำหนดค่า
tasks.register("greet") {
doFirst { println("start") }
doLast { println("end") }
}คำอธิบายและกลุ่มของชุดงาน
กำหนดค่า group และ description เพื่อให้ชุดงานแสดงอย่างเป็นระเบียบใน ./gradlew tasks
tasks.register("cleanLogs") {
group = "maintenance"
description = "Deletes generated log files"
doLast { /* ... */ }
}ชุดงานแบบระบุชนิด
ลงทะเบียนชุดงานด้วยชนิดข้อมูลในตัวเพื่อใช้พฤติกรรมเดิมซ้ำ ชนิด Copy จะคัดลอกไฟล์ตามการประกาศ
tasks.register<Copy>("copyDocs") {
from("src/docs")
into("build/docs")
}การพึ่งพาของชุดงาน
ระบุลำดับด้วย dependsOn โดยการพึ่งพาจะทำงานก่อน
tasks.register("deploy") {
dependsOn("build")
doLast { println("deploying") }
}การกำหนดค่าชุดงานที่มีอยู่
เข้าถึงชุดงานที่ลงทะเบียนไว้ล่วงหน้า ซึ่งเพิ่มโดยปลั๊กอิน แล้วปรับแต่งชุดงานนั้น
tasks.named("test") {
// configure the existing test task
}
tasks.test {
maxParallelForks = 2
}อินพุตและเอาต์พุตของชุดงาน
การประกาศ inputs และ outputs ช่วยให้ใช้ การตรวจสอบความเป็นปัจจุบัน ได้ โดย Gradle จะข้ามชุดงานเมื่อไม่มีสิ่งใดเปลี่ยนแปลง
tasks.register("generate") {
inputs.file("data/template.txt")
outputs.file("build/generated.txt")
doLast { /* generate */ }
}การสร้างแบบเพิ่มทีละส่วน
เมื่อกำหนดอินพุตและเอาต์พุตอย่างเหมาะสม การเรียกใช้ชุดงานที่ไม่มีการเปลี่ยนแปลงซ้ำจะแสดง UP-TO-DATE และไม่ทำงานใด ๆ นี่คือหัวใจสำคัญของความเร็วของ Gradle
คลาสชุดงานแบบกำหนดเอง
สำหรับตรรกะที่นำกลับมาใช้ซ้ำได้ ให้กำหนดคลาสที่ขยายจาก DefaultTask และมีเมธอด @TaskAction
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
abstract class GreetTask : DefaultTask() {
@TaskAction
fun run() {
println("Hello")
}
}การเรียกใช้ชุดงานของคุณ
เรียกใช้ชุดงานที่ลงทะเบียนไว้ชุดใดก็ได้ด้วยชื่อของชุดงานผ่านตัวห่อหุ้ม
// ./gradlew hello
// ./gradlew copyDocs
// ./gradlew deployตรวจสอบความเข้าใจ
คุณต้องการให้การกระทำทำงานระหว่าง ระยะการทำงาน หลังจากงานอื่น ๆ ของชุดงานเสร็จสิ้น คุณควรใช้บล็อกใด
ทบทวน
คุณสามารถทำงานโดยอัตโนมัติด้วยชุดงานแบบกำหนดเอง:
tasks.register+doFirst/doLast- ชุดงานแบบระบุชนิด เช่น
CopyและdependsOnสำหรับจัดลำดับ - ประกาศ
inputs/outputsเพื่อใช้การตรวจสอบความเป็นปัจจุบัน - คลาส
DefaultTaskแบบกำหนดเองพร้อม@TaskAction
ถัดไป: แค็ตตาล็อกเวอร์ชัน
คำถามที่พบบ่อย
บทเรียน “งานแบบกำหนดเอง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “งานแบบกำหนดเอง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kotlin Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kotlin Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “งานแบบกำหนดเอง”
ทำงานโดยอัตโนมัติ คุณปฏิบัติ Kotlin Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kotlin Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kotlin Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “งานแบบกำหนดเอง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Kotlin Academy นี้ได้ไหม
ได้ บทเรียน Kotlin Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ