您可以使用 IntelliJ 原生匯入器Eclipse Buildship 在 IDE 中開啟此範例。

複合建置以開發 Gradle 外掛

此範例示範複合建置,用於開發 Gradle 外掛,並搭配使用建置。

外掛可以位於同一個儲存庫(僅此建置使用),或位於不同的儲存庫(許多其他建置使用)。

這消除了對特殊 buildSrc 專案的需求,並讓外掛原型製作更為容易。

buildscript 相依性已取代

在複合建置中,在 plugins { } 區塊或 buildscript classpath 設定中宣告的相依性,會以與其他相依性相同的方式取代。在此範例中,建置宣告外掛 'org.sample.greeting',而此相依性已由 greeting-plugin 內含建置取代。

無需將 greeting-plugin 專案發布到儲存庫,即可使用當地開發的 'org.sample.greeting' 外掛建置專案。

> gradle --include-build ../greeting-plugin greeting
[composite-build] Configuring build: /home/user/gradle/sample/compositeBuilds/plugin-dev/greeting-plugin
:greeting-plugin:compileJava
:greeting-plugin:pluginDescriptors
:greeting-plugin:processResources
:greeting-plugin:classes
:greeting-plugin:jar
:my-greeting-app:greeting
Hi Bob!!!

外掛變更可以測試

此範例可用於示範 Gradle 外掛的開發生命週期。編輯檔案 greeting-plugin/src/main/java/org/sample/GreetingTask.java 以變更問候語,並重新執行使用者建置

> gradle --include-build ../greeting-plugin greeting
[composite-build] Configuring build: /home/user/gradle/sample/compositeBuilds/plugin-dev/greeting-plugin
:greeting-plugin:compileJava
:greeting-plugin:pluginDescriptors
:greeting-plugin:processResources
:greeting-plugin:classes
:greeting-plugin:jar
:my-greeting-app:greeting
G'day Bob!!!