我有一个看起来有点像这样的自定义gradle任务:
task foo(type:FooTask) {
in file('foo.in')
out file('foo.out')
}
class FooTask extends DefaultTask {
@InputFile
File in
@OutputFile
File out
@TaskAction
def doTheFoo() {
// Do stuff with in and write to out
}
}
这很好,但99%的时候FooTask的输出应写入"$buildDir/foo.out"
。我告诉gradle使用约定来减少脚本的大小;如何将其设为默认值,以便我的任务不必定义它?
答案 0 :(得分:2)
您只需在实例变量或构造函数中设置它。
@InputFile
File in = project.file("${project.buildDir}/foo.out")