问题标签 [scalapb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - scalapb 和自定义源生成器冲突
我希望向 sbt 添加一个自定义源生成器,并将其与 Scala 协议缓冲区生成器 scalapb 一起使用。每个都单独工作。但是,当两者结合时,项目在清理后第一次无法编译。如果我再次运行编译,它会成功。
错误信息:
要重现此错误,您需要在 src/main/protobuf 中至少有一个 proto 文件。
让我感到困惑的是,两个源生成器,我的自定义任务和 scalapb 会发生冲突。他们不应该都写入 src_managed 目录吗?我错过了一些基本的 sbt 概念吗?
scala - 有什么方法可以将 ScalaProtobuf 插件的清理任务移出主要的“sbt clean”任务?
我正在使用这个 scala protobuf 插件:https ://scalapb.github.io/
我遇到了一个问题,每次我运行“sbt clean”时,生成的 protobuf 文件也会被清理。
有什么办法可以配置插件,使 scalapb 的清理任务不是 sbt clean 任务的一部分?(又名“sbt clean”只会清理目标文件夹)
谢谢!任何帮助真的很感激!
apache-spark - 如何从 com.trueaccord.scalapb 生成的源创建 jar 文件
我正在使用 ScalapB 为 protobuf 模式生成源代码。效果很好。如何生成仅包含生成的源代码的 jar。我想创建一个 jar 文件并将其作为依赖项添加到 Zeppelin Spark Interpreter。
java - Scala (java) grpc 异步拦截器状态传播
问题标题可能信息量不大,因为我正在尝试实现多种功能。我想根据他发送的标头授权调用者并将此信息传播到 gRPC 方法处理程序。问题在于授权过程的异步性质。我最终得到了这个:
这有效(我的意思是,运行没有异常:)),但是当我AuthInterceptor.BOTID_CONTEXT_KEY.get
在我的方法处理程序中这样做时,它会产生null
.
也许,有更好的方法来处理异步的东西?
protocol-buffers - *.proto 文件被忽略
我尝试使用 protobuffers 和 scalaPB,我添加了:
和下面的行到 plugins.sbt
和 src/main/protobuf 下的 .proto 文件:
但是使用 sbt compile 没有任何反应——目标中没有生成类。文件被忽略,因为即使在 protobuf 文件项目中有一些拼写错误,仍然可以编译。我还尝试使用查看调试日志
但唯一提到的文件 .proto 有一些内部文件,例如:/target/protobuf_external/google/protobuf/source_context.proto
我该如何继续呢?我可以获得更多关于 scalaPB 正在查看的信息吗?
protocol-buffers - 将第三方 .proto 文件引入 ScalaPB
我如何告诉ScalaPB它应该.proto
从 Internet 获取依赖项,例如
google/api/annotations.proto
来自https://github.com/googleapis/googleapis/tree/master/google/api
背景:
目的是通过 gRPC 从 Scala 读取 etcd v3 API。
我.proto
从他们的项目中挑选了 etcd 特定的文件,并放在我的下面。有用。但是,依赖关系开始深入运行,必须有更好的方法。
https://github.com/googleapis/googleapis/tree/master/google/api
scala - 可以使用 protobuf 2.5.0 运行最新版本的 ScalaPB (0.6.x) 吗?
有人试过吗?我需要为 protobuf 2.5.0 生成 scala 类似乎 ScalaPB 支持 protobuf 3.x 而不是 2.5.0
scala - Protobuf 输入验证和模型翻译
我在一家公司,我们目前正在使用 protobuf3(在我的情况下使用 scalapb)进行很多内部通信。由于 'required is forever' 参数,这个版本的 protobuf 取消了以前版本中的optional
和标签。required
我可以从协议的角度理解这个论点,但是当所有嵌套消息都包装在Option
s.
恕我直言,简单而丑陋的解决方案是在myProto.myField.getOrElse {throw Exception("bla"}
访问消息字段时只做,但我不希望getOreElse
在必须存在该字段时在我的代码库中撒上大量的 s。
我的问题是,是否有:
- 一个可以帮助我使用我自己的案例类将 protobuf 消息转换为我的域模型的库?或者
- 在没有大量样板的情况下,我自己以一种通用的方式(相对)简单地做到这一点?我自己做了一些反思,但我对 Scala 还很陌生。
scalapb.descriptors.FieldDescriptor
如何将 a 映射到正确类型的实际值并不明显。
谢谢
scala - Scala 代码生成类型不匹配 (ScalaPB)
- 我有一个 protobuf 文件...
- 我使用 ScalaPB 将其转换为 Scala 文件。这样我就可以...
- 在我的 Juypter notebook* 中使用它进行转换。可悲的是,当我...
- 运行特定的单元格我得到一个类型不匹配的错误,我不知道为什么?
由于 protobuf 文件与 Python 一起使用并生成了 Scala 代码,所以这里有什么不妥之处?这可能是一个错误吗?
*笔记本com.google.protobuf:protobuf-java:3.5.0,com.thesamet.scalapb:sparksql-scalapb_2.11:0.7.0
用作进口