javascript - 适用于 Java、JS、C# 的 Gradle GRPC 编译

标签 javascript java gradle protocol-buffers grpc

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

是否也可以使用相同的插件对 javascript(或其他语言)进行原型(prototype)编译?

我想为多种语言生成现成的工件,以便其他项目不必担心与原型(prototype)相关的任务,而只需使用提供的资源...这也将保证每次我对原型(prototype)文件进行更改时,我都会得到彼此兼容的所有不同语言版本...

最佳答案

您可以为 protoc 支持的任何语言生成。只需将其添加到“内置程序”(或“插件”,如果协议(protocol)插件提供支持,如果您想生成 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 存储库。

关于javascript - 适用于 Java、JS、C# 的 Gradle GRPC 编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37324466/

相关文章:

javascript - 修改 <script> 标记之间的文本

javascript - dateaxis 渲染器未在我的代码中渲染

javascript - 单击时的 CSS/JS 动画

java - 如何获取对包内文件的引用

android - 如何为 Android Studio 中的单独模块生成签名的 APK?

javascript - 如何在Here Maps中获得更多沿途积分?

java - 如何在java中将按钮链接到表单?

java - 从 Windows 上下文菜单运行 JAR

android-studio - 在Android Studio中添加对CMake项目的引用

java - 具有产品 flavor 的 Android GCM