gradle - Gradle Protobuf自定义任务

标签 gradle protocol-buffers

鉴于此protobuf gradle配置:

protobuf configuration

当我们执行generateProto任务(由protobuf插件生成)时,我们将获得以下输出:

output

如您所见,自定义定义的任务cleanProtogenerateProto之前执行。

如果我没有定义这些任务之间的依赖关系,为什么它会完全执行?

最佳答案

实际上..它根本不执行。 println语句在配置阶段而不是在执行阶段执行。要进行验证,请将cleanProto更改为:

task cleanProto << {
   println 'deleting gen'
   delete 'gen'
}

现在,如果没有定义依赖项,它将根本不会执行。使用<<可以添加一个 Action 。操作在执行阶段运行。

请也看看this答案。

附言下次,不提供代码图像,而是将其复制并粘贴。您可以在Mac上使用cmd + k组合键。

关于gradle - Gradle Protobuf自定义任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33639967/

相关文章:

gradle - 在 Gradle 构建中处理依赖项中缺少的配置

go - 如何使用 golang 设置 protobuf2 枚举

c++ - Windows 上使用 C++ 的 google protobuf 时间戳未声明的标识符

c++ - 将字符串解析为不区分大小写的 protobuf 枚举

go - protoc-gen-go struct xxx 隐蔽到 map[string]interface{}

svn - 为Jenkins指定不同的gradle属性文件

eclipse - 无法在Eclipse中提取Gradle项目

java - 无法加载包装器属性,属性文件包含xml中的代码

android - 如何在gradle.properties中读取local.properties中定义的属性

python - 反序列化 Google Protobuf 二进制文件