鉴于这种protobuf gradle配置:
当我们执行generateProto
任务(由protobuf插件生成)时,我们将获得以下输出:
正如您所见,自定义任务cleanProto
将在generateProto
之前执行。
如果我没有在这些任务之间定义依赖关系,为什么它会执行呢?
答案 0 :(得分:3)
实际上......根本没有执行。 return p2p.getT().equals(p2p.getT())
&& p1p.getS().equals(p2p.getS());
语句在配置阶段执行,而不是在执行阶段执行。要进行验证,请将println
更改为:
cleanProto
现在,如果没有定义依赖项,它将根本不执行。使用task cleanProto << {
println 'deleting gen'
delete 'gen'
}
添加操作。操作在执行阶段运行。
请同时查看this回答。
P.S。下次而不是提供代码的图像,复制并粘贴它。您可以在Mac上使用 cmd + k 组合。