0Pricing
Kotlin Academy · บทเรียน

งานแบบกำหนดเอง

ทำงานโดยอัตโนมัติ

งานแบบกำหนดเอง เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. Gradle Kotlin DSL
  2. สิ่งที่ต้องพึ่งพาและปลั๊กอิน
  3. งานแบบกำหนดเอง
  4. แค็ตตาล็อกเวอร์ชัน
← กลับไปที่ Kotlin Academy