今天要繼續撰寫 Gradle Plugin,我們會延續昨天的範例 - 檔案差異比對 Plugin。
首先我們先來建立一個 Gradle Plugin 的專案結構,並初始化版本管理系統。
$ mkdir file-diff-plugin
$ cd file-diff-plugin
$ git init
$ gradle init
別忘了在專案根目錄新增 .gitignore
,把會自動產生、不需要加到版本管理的檔案排除掉。
/.gradle
/.idea
/build
緊接著我們先將 Build Script 設定好。
plugins {
id 'groovy'
id 'java-gradle-plugin'
}
group = 'com.tomgregory'
version = '0.0.1-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.spockframework:spock-core:2.0-groovy-3.0'
}
gradlePlugin {
plugins {
fileDiff {
id = 'com.tomgregory.file-diff'
implementationClass = 'com.tomgregory.plugins.filediff.FileDiffPlugin'
}
}
}
test {
useJUnitPlatform()
}
目前的 Build Script 包括:
com.tomgregory.file-diff
,這將用於測試及發佈時做為 Plugin 的唯一值useJUnitPlatform()
在 Gradle 裡設定