【问题标题】:Protocol-Buffers: How to exclude code generation during build time in gradle?Protocol-Buffers:如何在 gradle 的构建期间排除代码生成?
【发布时间】:2017-10-30 02:32:44
【问题描述】:
我们有几个.proto 文件,从中生成java 类。
因为我们必须将生成的文件保存在存储库中,所以我们希望仅在需要时生成它们(而不是在每次构建期间)。我们正在使用this 插件。我们也想坚持使用这个插件,因为我们配置了很多东西,我们发现它非常有用。
有没有办法在 gradle 中的 build 任务期间排除代码生成?
【问题讨论】:
标签:
java
gradle
build.gradle
protocol-buffers
【解决方案1】:
您可以根据通过命令行传递的属性启用/禁用 protobuf 任务:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.3'
}
}
apply plugin: 'java'
apply plugin: 'com.google.protobuf'
protobuf {
generateProtoTasks {
all().each { task ->
task.enabled = project.hasProperty('runProtobuf')
}
}
}
afterEvaluate {
println "generateProto enabled ${tasks.generateProto.enabled}"
println "generateTestProto enabled ${tasks.generateTestProto.enabled}"
}