Gradle 基於外掛程式系統建構。 Gradle 本身主要由基礎架構組成,例如精密的相依性解析引擎。其餘功能來自外掛程式。
外掛程式是一種軟體,可為 Gradle 建置系統提供額外功能。

外掛程式可以套用到 Gradle 建置腳本,以新增任務、配置或其他與建置相關的功能。
- Java 函式庫外掛程式 -
java-library
-
用於定義和建置 Java 函式庫。它使用
compileJava
任務編譯 Java 原始碼,使用javadoc
任務產生 Javadoc,並使用jar
任務將編譯後的類別封裝到 JAR 檔案中。 - Google 服務 Gradle 外掛程式 -
com.google.gms:google-services
-
在您的 Android 應用程式中啟用 Google API 和 Firebase 服務,透過名為
googleServices{}
的配置區塊和名為generateReleaseAssets
的任務。 - Gradle Bintray 外掛程式 -
com.jfrog.bintray
-
允許您透過使用
bintray{}
區塊配置外掛程式,將成品發布到 Bintray。
外掛程式發布
外掛程式以三種方式發布
-
核心外掛程式 - Gradle 開發和維護一組 核心外掛程式。
-
社群外掛程式 - Gradle 社群透過 Gradle 外掛程式入口網站 分享外掛程式。
-
本地外掛程式 - Gradle 讓使用者能夠使用 API 建立自訂外掛程式。
套用外掛程式
套用 外掛程式到專案可讓外掛程式擴展專案的功能。
您在建置腳本中使用外掛程式 ID(全域唯一識別碼/名稱)和版本來套用外掛程式
plugins {
id «plugin id» version «plugin version»
}
1. 核心外掛程式
Gradle 核心外掛程式是一組包含在 Gradle 發行版本身中的外掛程式。這些外掛程式為建置和管理專案提供基本功能。
核心外掛程式的一些範例包括:
-
java:提供建置 Java 專案的支援。
-
groovy:新增編譯和測試 Groovy 原始碼檔案的支援。
-
ear:新增為企業應用程式建置 EAR 檔案的支援。
核心外掛程式的獨特之處在於,當在建置腳本中套用時,它們提供簡短的名稱,例如核心 JavaPlugin 的 java
。它們也不需要版本。要將 java
外掛程式套用到專案
plugins {
id("java")
}
使用者可以利用許多 Gradle 核心外掛程式。
2. 社群外掛程式
社群外掛程式是由 Gradle 社群開發的外掛程式,而不是核心 Gradle 發行版的一部分。這些外掛程式提供額外功能,這些功能可能特定於某些使用案例或技術。
Spring Boot Gradle 外掛程式 封裝可執行 JAR 或 WAR 歸檔,並執行 Spring Boot Java 應用程式。
要將 org.springframework.boot
外掛程式套用到專案
plugins {
id("org.springframework.boot") version "3.1.5"
}
社群外掛程式可以發布在 Gradle 外掛程式入口網站 上,其他 Gradle 使用者可以在這裡輕鬆發現和使用它們。
3. 本地外掛程式
自訂或本地外掛程式是在特定專案或組織內開發和使用的。這些外掛程式不會公開分享,並且是為專案或組織的特定需求量身定制的。
本地外掛程式可以封裝常見的建置邏輯、提供與內部系統或工具的整合,或將複雜的功能抽象化為可重複使用的組件。
Gradle 為使用者提供使用 API 開發自訂外掛程式的能力。若要建立您自己的外掛程式,您通常會遵循以下步驟
-
定義外掛程式類別: 建立一個新的類別,實作
Plugin<Project>
介面。// Define a 'HelloPlugin' plugin class HelloPlugin : Plugin<Project> { override fun apply(project: Project) { // Define the 'hello' task val helloTask = project.tasks.register("hello") { doLast { println("Hello, Gradle!") } } } }
-
建置並選擇性地發布您的外掛程式: 產生一個包含您的外掛程式碼的 JAR 檔案,並選擇性地將此 JAR 發布到儲存庫(本地或遠端),以便在其他專案中使用。
// Publish the plugin plugins { `maven-publish` } publishing { publications { create<MavenPublication>("mavenJava") { from(components["java"]) } } repositories { mavenLocal() } }
-
套用您的外掛程式: 當您想要使用外掛程式時,請在建置檔案的
plugins{}
區塊中包含外掛程式 ID 和版本。// Apply the plugin plugins { id("com.example.hello") version "1.0" }
請參閱 外掛程式開發章節 以了解更多資訊。
下一步: 了解增量建置和建置快取 >>