protocbridge
package protocbridge
- Alphabetic
- Public
- All
Type Members
- case class Artifact(groupId: String, artifactId: String, version: String, crossVersion: Boolean = false, configuration: Option[String] = None, extraAttributes: Map[String, String] = Map.empty) extends Product with Serializable
-
final
case class
BuiltinGenerator(name: String, suggestedDependencies: Seq[Artifact] = Nil) extends Generator with Product with Serializable
Represents a generator built into protoc, to be used with a directory target.
-
final
case class
DescriptorSetGenerator() extends Generator with Product with Serializable
Represents a generator built into protoc, to be used with a file target.
-
sealed
trait
Generator extends AnyRef
Represents a code generator invocation
-
final
case class
JvmGenerator(name: String, gen: ProtocCodeGenerator) extends Generator with Product with Serializable
Represents a generator implemented by ProtocCodeGenerator.
- final case class PluginGenerator(name: String, suggestedDependencies: Seq[Artifact], path: Option[String]) extends Generator with Product with Serializable
-
trait
ProtocCodeGenerator extends AnyRef
This is the interface that code generators need to implement.
-
final
case class
SandboxedJvmGenerator extends Generator with Product with Serializable
Represents a JvmGenerator that needs to be dynamically loaded from an artifact.
Represents a JvmGenerator that needs to be dynamically loaded from an artifact. This allows to run each JvmGenerator in its own classloader and thus avoid dependency conflicts between plugins or between plugins and the container (such as sbt).
This mechanism is needed because SBT ships with an old version of protobuf-java that is not binary compatible with recent versions. In addition, SBT depends on ScalaPB's runtime, so ScalaPB plugins can't use ScalaPB itself without running a risk of conflict.
artifact: Artifact containing the generator class. resolver: Using a ClassLoader, return a new instance of a ProtocCodeGenerator.
-
case class
Target(generator: Generator, outputPath: File, options: Seq[String] = Seq.empty) extends Product with Serializable
Target is a generator call and a path to output the generated files
Value Members
- object ProtocBridge
- object ProtocCodeGenerator
- object SandboxedJvmGenerator extends Serializable
- object Target extends Serializable
- object gens