了解外掛的實作選項
腳本、預編譯腳本或二進位外掛之間的選擇取決於您的特定需求和偏好。
腳本外掛簡單易寫,因為它們直接寫在組建腳本中。它們使用 Kotlin DSL 或 Groovy DSL 編寫。它們適合於小型的一次性任務或快速實驗。但是,隨著組建腳本的規模和複雜性增加,它們可能變得難以維護。
預編譯腳本外掛是編譯成封裝在程式庫中的 Java 類別檔案的 Kotlin DSL 腳本。與腳本外掛相比,它們提供了更好的效能和可維護性,並且可以在不同的專案中重複使用。您也可以使用 Groovy DSL 編寫它們,但不建議這樣做。
二進位外掛是用 Java 或 Kotlin 編寫的完整外掛,編譯成 JAR 檔案,並發佈到儲存庫中。它們提供了最佳的效能、可維護性和可重複使用性。它們適合於需要在專案、組建和團隊之間共享的複雜組建邏輯。您也可以使用 Scala 或 Groovy 編寫它們,但不建議這樣做。
以下是實作 Gradle 外掛的所有選項的細目
# | 使用 | 類型 | 外掛是 | 透過套用建立 | 建議? |
---|---|---|---|---|---|
1 |
Kotlin DSL |
腳本外掛 |
在 |
|
否[1] |
2 |
Groovy DSL |
腳本外掛 |
在 |
|
否[1] |
3 |
Kotlin DSL |
預先編譯的腳本外掛 |
|
|
是[2] |
4 |
Groovy DSL |
預先編譯的腳本外掛 |
|
|
否[3] |
5 |
Kotlin DSL |
二進位外掛 |
|
|
是[2] |
6 |
Groovy DSL |
二進位外掛 |
|
|
否[2] |
7 |
Java |
二進位外掛 |
抽象類別,實作 |
|
是[2] |
8 |
Kotlin |
二進位外掛 |
抽象類別,實作 |
|
是[2] |
9 |
Groovy |
二進位外掛 |
抽象類別,實作 |
|
否[2] |
10 |
Scala |
二進位外掛 |
抽象類別,實作 |
|
否[2] |
如果您懷疑外掛程式碼有問題,請嘗試建立 建置掃描 以找出瓶頸。 Gradle 分析器 可以協助自動化建置掃描產生,並收集更多低階資訊。
@groovy.transform.CompileStatic
。