您可以在支援 Gradle 的 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
以變更 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 G'day Bob!!!