Gradle Cheat Sheet (7): Custom Task Types

  创建自定义任务类型有利于复用,只需创建一个类继承DefaultTask ,并用@TaskAction 标记实现任务行为的方法。如:

class HelloTask extends DefaultTask {
    @TaskAction
    void doAction() {
        println 'Hello World'
    }
}

之后可以通过type 指定使用自定义任务类型:

task hello(type: HelloTask)

运行:

$ gradle hello

输出为:

Hello World

  可以为自定义任务类型添加属性:

class HelloNameTask extends DefaultTask {
    String firstName

    @TaskAction
    void doAction() {
        println "Hello, $firstName"
    }
}

这里添加了一个firstName ,不需要手动写getter和setter,Groovy会自动生成。使用方法:

task helloName(type: HelloNameTask) {
    firstName = 'Jeremy'
}

运行:

$ gradle helloName

输出为:

Hello, Jeremy

关于自定义任务的更多内容可以参考这里

 

  本部分的完整代码可以在这里找到。