首页 文章

Java,JS,C#的Gradle GRPC编译

提问于
浏览
1

Gradle protobuf插件可以轻松地将 .proto 文件编译为java类 .

Is it possible to do the proto compilation for javascript (or other languages) with the same plugin as well?

我想为几种语言生成准备好的人工制品,这样其他项目就不会打扰与proto相关的任务,只需使用提供的资源...这也将保证每次我对原型文件进行更改时,我都会得到所有不同的语言版本相互兼容......

1 回答

  • 0

    您可以为protoc支持的任何语言生成 . 只需将其添加到“builtins”(或“插件”,如果支持是由protoc插件提供的,如果您想生成GRPC服务,则总是如此) . 例如,要为所有sourceSets下的proto文件生成C文件:

    protobuf {
      generateProtoTasks {
        all()*.builtins {
          cpp {}
        }
      }
    }
    

    然后,您将在“build / generated / source / proto / {main | test} / cpp”下找到所有生成的C源代码 .

    虽然Gradle protobuf插件将所有生成的文件添加到Java编译的输入中,但根据我的实验,Java编译只是忽略了非Java文件,所以它不会给你带来任何麻烦 .

    如果您确实想要生成GRPC服务,则可能必须为除Java之外的其他语言编译GRPC codegen插件,因为我们只将Java GRPC的codegen插件发布到Maven存储库 .

相关问题