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
关于自定义任务的更多内容可以参考这里。
本部分的完整代码可以在这里找到。