ScalaPB is a protocol buffer compiler (protoc) plugin for Scala. It generates Scala case classes, parsers and serializers for protocol buffers.
Main features:
Built on top of Google’s protocol buffer compiler to ensure perfect compatibility with the language specification.
Nested updates are easy by using lenses:
val newOrder = order.update(_.creditCard.expirationYear := 2015)
Generated case classes can co-exist alongside the Java-generated code (the class names will not clash). This allows gradual transition from Java to Scala.
Can optionally generate conversion methods between the Java generated version of Protocol Buffers to the Scala generated version. This makes it possible to migrate your project gradually.
Supports for Oneof’s that were introduced in Protocol Buffers 2.6.0.
Learn more here: https://scalapb.github.io/index.html
Source code: https://github.com/scalapb/ScalaPB