鉴于此protobuf gradle配置:
当我们执行generateProto
任务(由protobuf插件生成)时,我们将获得以下输出:
如您所见,自定义定义的任务cleanProto
在generateProto
之前执行。
如果我没有定义这些任务之间的依赖关系,为什么它会完全执行?
最佳答案
实际上..它根本不执行。 println
语句在配置阶段而不是在执行阶段执行。要进行验证,请将cleanProto
更改为:
task cleanProto << {
println 'deleting gen'
delete 'gen'
}
现在,如果没有定义依赖项,它将根本不会执行。使用
<<
可以添加一个 Action 。操作在执行阶段运行。请也看看this答案。
附言下次,不提供代码图像,而是将其复制并粘贴。您可以在Mac上使用cmd + k组合键。
关于gradle - Gradle Protobuf自定义任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33639967/