為了讓你的構(gòu)建可以自定義任務(wù), 你可以使用 taskdef(通常更容易) 或者 typedef Ant 任務(wù), 就像你在一個(gè)build.xml文件中一樣. 然后,你可以參考內(nèi)置 Ant 任務(wù)去定制 Ant 任務(wù).
例 16.5.使用自定義 Ant 任務(wù)
build.gradle
task check << {
ant.taskdef(resource: 'checkstyletask.properties') {
classpath {
fileset(dir: 'libs', includes: '*.jar')
}
}
ant.checkstyle(config: 'checkstyle.xml') {
fileset(dir: 'src')
}
}
你可以使用 Gradle 的依賴管理去組裝你自定義任務(wù)所需要的 classpath. 要做到這一點(diǎn), 你需要定義一個(gè)自定義配置類(lèi)路徑, 然后添加一些依賴配置.在Section 51.4, “How to declare your dependencies”部分有更詳細(xì)的說(shuō)明.
例 16.6.聲明類(lèi)路徑的自定義 Ant 任務(wù)
build.gradle
configurations {
pmd
}
dependencies {
pmd group: 'pmd', name: 'pmd', version: '4.2.5'
}
要使用 classpath 配置, 使用自定義配置的asPath屬性。
例 16.7.一起使用自定義Ant任務(wù)和依賴管理
build.gradle
task check << {
ant.taskdef(name: 'pmd',
classname: 'net.sourceforge.pmd.ant.PMDTask',
classpath: configurations.pmd.asPath)
ant.pmd(shortFilenames: 'true',
failonruleviolation: 'true',
rulesetfiles: file('pmd-rules.xml').toURI().toString()) {
formatter(type: 'text', toConsole: 'true')
fileset(dir: 'src')
}
}