com.google.protobuf.compiler.plugin

Members list

Type members

Classlikes

final case class CodeGeneratorRequest(fileToGenerate: Seq[String], parameter: Option[String], protoFile: Seq[FileDescriptorProto], compilerVersion: Option[Version], unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[CodeGeneratorRequest]

An encoded CodeGeneratorRequest is written to the plugin's stdin.

An encoded CodeGeneratorRequest is written to the plugin's stdin.

Value parameters

compilerVersion

The version number of protocol compiler.

fileToGenerate

The .proto files that were explicitly listed on the command-line. The code generator should generate code only for these files. Each file's descriptor will be included in proto_file, below.

parameter

The generator parameter passed on the command-line.

protoFile

FileDescriptorProtos for all files in files_to_generate and everything they import. The files will appear in topological order, so each file appears before any file that imports it. protoc guarantees that all proto_files will be written after the fields above, even though this is not technically guaranteed by the protobuf wire format. This theoretically could allow a plugin to stream in the FileDescriptorProtos and handle them one by one rather than read the entire set into memory at once. However, as of this writing, this is not similarly optimized on protoc's end -- it will store all fields in memory at once before sending them to the plugin. Type names of fields and extensions in the FileDescriptorProto are always fully qualified.

Attributes

Companion
object
Supertypes
trait Updatable[CodeGeneratorRequest]
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait JavaProtoSupport[CodeGeneratorRequest, CodeGeneratorRequest]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
final case class CodeGeneratorResponse(error: Option[String], supportedFeatures: Option[Long], file: Seq[File], unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[CodeGeneratorResponse]

The plugin writes an encoded CodeGeneratorResponse to stdout.

The plugin writes an encoded CodeGeneratorResponse to stdout.

Value parameters

error

Error message. If non-empty, code generation failed. The plugin process should exit with status code zero even if it reports an error in this way. This should be used to indicate errors in .proto files which prevent the code generator from generating correct code. Errors which indicate a problem in protoc itself -- such as the input CodeGeneratorRequest being unparseable -- should be reported by writing a message to stderr and exiting with a non-zero status code.

supportedFeatures

A bitmask of supported features that the code generator supports. This is a bitwise "or" of values from the Feature enum.

Attributes

Companion
object
Supertypes
trait Updatable[CodeGeneratorResponse]
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait JavaProtoSupport[CodeGeneratorResponse, CodeGeneratorResponse]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
final case class Version(major: Option[Int], minor: Option[Int], patch: Option[Int], suffix: Option[String], unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[Version]

The version number of protocol compiler.

The version number of protocol compiler.

Value parameters

suffix

A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should be empty for mainline stable releases.

Attributes

Companion
object
Supertypes
trait Updatable[Version]
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait JavaProtoSupport[Version, Version]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
Version.type