瞭解外掛程式的實作選項
腳本、預編譯腳本或二進位外掛程式之間的選擇取決於您的特定需求和偏好。
腳本外掛程式 簡單易於編寫。它們以 Kotlin DSL 或 Groovy DSL 編寫。它們適用於小型、一次性任務或快速實驗。然而,隨著建置腳本的大小和複雜性增加,它們可能會變得難以維護。
預編譯腳本外掛程式 是編譯成 Java 類別檔案並打包在函式庫中的 Kotlin 或 Groovy DSL 腳本。與腳本外掛程式相比,它們提供更好的效能和可維護性,並且可以在不同的專案中重複使用。您也可以使用 Groovy DSL 編寫它們,但不建議這樣做。
二進位外掛程式 是以 Java、Groovy 或 Kotlin 編寫,編譯成 JAR 檔案並發佈到儲存庫的完整外掛程式。它們提供最佳的效能、可維護性和可重複使用性。它們適用於需要在專案、建置和團隊之間共享的複雜建置邏輯。您也可以使用 Scala 或 Groovy 編寫它們,但不建議這樣做。
以下是實作 Gradle 外掛程式的所有選項的細分
# | 使用 | 類型 | 外掛程式為 | 建議嗎? |
---|---|---|---|---|
1 |
Kotlin DSL |
腳本外掛程式 |
在 |
否[1] |
2 |
Groovy DSL |
腳本外掛程式 |
在 |
否[1] |
3 |
Kotlin DSL |
預編譯腳本外掛程式 |
一個 |
是 |
4 |
Groovy DSL |
預編譯腳本外掛程式 |
一個 |
尚可[2] |
5 |
Java |
二進位外掛程式 |
在 Java 中,實作 |
是 |
6 |
Kotlin / Kotlin DSL |
二進位外掛程式 |
在 Kotlin 和/或 Kotlin DSL 中,實作 |
是 |
7 |
Groovy / Groovy DSL |
二進位外掛程式 |
在 Groovy 和/或 Groovy DSL 中,實作 |
尚可[2] |
8 |
Scala |
二進位外掛程式 |
在 Scala 中,實作 |
否[2] |
如果您懷疑外掛程式碼有問題,請嘗試建立 Build Scan 以找出瓶頸。Gradle profiler 可以協助自動化 Build Scan 的產生並收集更多底層資訊。