Gradle自定义规则类

Gradle自定义规则类,gradle,build,Gradle,Build,我知道可以通过扩展DefaultTask类来创建自定义任务类。任务规则也可以这样做吗?我必须延长哪个课程,如何延长?假设我想从Gradle文档中获得与此规则等效的自定义规则类: tasks.addRule("Pattern: ping<ID>") { String taskName -> if (taskName.startsWith("ping")) { task(taskName) { doLast {

我知道可以通过扩展
DefaultTask
类来创建自定义任务类。任务规则也可以这样做吗?我必须延长哪个课程,如何延长?假设我想从Gradle文档中获得与此规则等效的自定义规则类:

tasks.addRule("Pattern: ping<ID>") { String taskName ->
    if (taskName.startsWith("ping")) {
        task(taskName) {
           doLast {
               println "Pinging: " + (taskName - 'ping')
            }
        }
    }
}
tasks.addRule(“模式:ping”){String taskName->
if(taskName.startsWith(“ping”)){
任务(任务名称){
多拉斯特{
println“ping:”+(任务名-‘ping’)
}
}
}
}

我使用Gradle 4.0。

我通过编写如下所述的插件实现了这一点:

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')
                    }
                } 
            }
        }
    }
}
apply plugin: com.domain.PingPlugin