1
我知道可以通過擴展DefaultTask
類來創建自定義任務類。有沒有可能對任務規則做同樣的事情?我需要延續哪一類課程?假設我想從Gradle文檔中獲得與此規則等效的自定義規則類:Gradle自定義規則類
tasks.addRule("Pattern: ping<ID>") { String taskName ->
if (taskName.startsWith("ping")) {
task(taskName) {
doLast {
println "Pinging: " + (taskName - 'ping')
}
}
}
}
我使用Gradle 4.0。 https://docs.gradle.org/4.0/userguide/custom_plugins.html
package com.domain
import org.gradle.api.Plugin
import org.gradle.api.Project
class PingPlugin implements Plugin<Project> {
void apply(Project project) {
project.tasks.addRule("Pattern: ping<ID>") { String taskName ->
if (taskName.startsWith("ping")) {
project.tasks.create(taskName) {
doLast {
println "Pinging: " + (taskName - 'ping')
}
}
}
}
}
}
我不知道這是否是最好的方式,但它的工作原理: