Protocolo de Scala buffers compilador
protocol-buffers (5)
¿Tal vez sería posible escribir un complemento del compilador de Scala que lea y compile archivos .proto?
Estaba pensando en escribir un generador de código para generar scala desde el archivo de definiciones de Google protobuf. La razón por la que lo veo valioso es que los enlaces de Java son demasiado Java-ish y uno podría hacerlo mucho mejor en Scala. Por ejemplo para la siguiente definición.
message Foo {
required int F1 = 1;
repeated string F2 = 2;
message Inner (
required int F3 = 1;
)
}
Quiero poder construir el objeto proto de Scala de esta manera:
val foo = Foo (
F1(127),
F2("first", "second"),
Inner (
F3(911)
)
)
Mi pregunta es si alguien sabe algo que ya existe, o si no, ¿merece la pena comenzar un nuevo proyecto?
Acabo de encontrarlos, pero no puedo responder por ellos ya que nunca los he usado.
Actualmente estoy trabajando en un compilador de Scala Protocol Buffers con mi mentor Viktor Klang. Es mi proyecto Google Summer of Code y puede seguir el progreso en github en https://github.com/SandroGrzicic/ScalaBuff .
[Actualización] La parte principal está completa; Todavía necesito implementar Extensiones, Grupos y soporte de Opciones de campo. Es utilizable e invito a todos a que lo prueben y hagan comentarios; Estoy abierto a sugerencias y solicitudes de características.
Hay un proyecto que utiliza complementos de la herramienta de creación simple para lograr ese efecto: http://github.com/codahale/protobuf-sbt?locale=sv
Actualización: El proyecto anterior ya no existe. El sbt-protobuf extendió la funcionalidad de ese proyecto original. Sin embargo, tenga en cuenta que sbt-protobuf genera clases de Java, no Scala.
Una herramienta realmente buena para generar clases de Scala y Java a partir de archivos ScalaPB es ScalaPB . La herramienta amplía la funcionalidad del complemento sbt-protobuf .