有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java ProtocolBuffers:如何在gradle中的构建期间排除代码生成?

我们有几个.proto文件,java类是从这些文件生成的

因为我们必须将生成的文件保存在存储库中,所以我们只希望在需要时生成它们(而不是在每次构建期间)。我们正在使用this插件。此外,我们希望继续使用这个插件,因为我们已经配置了很多东西,我们发现它非常有用

在gradle中的build任务期间是否有排除代码生成的方法


共 (1) 个答案

  1. # 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}"
    }