protobuf-go/cmd/protoc-gen-go/testdata/extensions/ext/ext.proto
Damien Neil 3c5fb5f879 all: make .proto file names relative to module root
Change the protoc flags such that when one of our test .proto files
imports another, the filename is consistently specified relative to the
module root.

Change-Id: I690282795cef23347c8794c1c6357e4fe9560d8a
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/217762
Reviewed-by: Joe Tsai <joetsai@google.com>
2020-02-04 23:20:20 +00:00

109 lines
3.5 KiB
Protocol Buffer

// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
syntax = "proto2";
import "cmd/protoc-gen-go/testdata/extensions/base/base.proto";
import "cmd/protoc-gen-go/testdata/extensions/extra/extra.proto";
package goproto.protoc.extension.ext;
option go_package = "google.golang.org/protobuf/cmd/protoc-gen-go/testdata/extensions/ext";
message Message {
optional bytes data = 1;
message M {}
}
enum Enum {
ZERO = 0;
}
// Extend with various types.
extend goproto.protoc.extension.base.BaseMessage {
optional bool extension_bool = 101;
optional Enum extension_enum = 102;
optional int32 extension_int32 = 103;
optional sint32 extension_sint32 = 104;
optional uint32 extension_uint32 = 105;
optional int64 extension_int64 = 106;
optional sint64 extension_sint64 = 107;
optional uint64 extension_uint64 = 108;
optional sfixed32 extension_sfixed32 = 109;
optional fixed32 extension_fixed32 = 110;
optional float extension_float = 111;
optional sfixed64 extension_sfixed64 = 112;
optional fixed64 extension_fixed64 = 113;
optional double extension_double = 114;
optional string extension_string = 115;
optional bytes extension_bytes = 116;
optional Message extension_Message = 117;
optional Message.M extension_MessageM = 118;
optional group ExtensionGroup = 119 {
optional string extension_group = 120;
}
}
// Extend with a foreign message.
extend goproto.protoc.extension.base.BaseMessage {
optional goproto.protoc.extension.extra.ExtraMessage extra_message = 9;
}
// Extend in the scope of another type.
message ExtendingMessage {
extend goproto.protoc.extension.base.BaseMessage {
optional string extending_message_string = 200;
optional ExtendingMessageSubmessage extending_message_submessage = 201;
}
message ExtendingMessageSubmessage {}
}
// Extend with repeated fields.
extend goproto.protoc.extension.base.BaseMessage {
repeated bool repeated_x_bool = 301;
repeated Enum repeated_x_enum = 302;
repeated int32 repeated_x_int32 = 303;
repeated sint32 repeated_x_sint32 = 304;
repeated uint32 repeated_x_uint32 = 305;
repeated int64 repeated_x_int64 = 306;
repeated sint64 repeated_x_sint64 = 307;
repeated uint64 repeated_x_uint64 = 308;
repeated sfixed32 repeated_x_sfixed32 = 309;
repeated fixed32 repeated_x_fixed32 = 310;
repeated float repeated_x_float = 311;
repeated sfixed64 repeated_x_sfixed64 = 312;
repeated fixed64 repeated_x_fixed64 = 313;
repeated double repeated_x_double = 314;
repeated string repeated_x_string = 315;
repeated bytes repeated_x_bytes = 316;
repeated Message repeated_x_Message = 317;
repeated group RepeatedGroup = 318 {
repeated string repeated_x_group = 319;
}
}
// An extension of an extension.
message Extendable {
extensions 1 to max;
}
extend goproto.protoc.extension.base.BaseMessage {
optional Extendable extendable_field = 400;
}
extend Extendable {
optional string extendable_string_field = 1;
}
// Message set wire format.
message MessageSetWireFormatExtension {
extend goproto.protoc.extension.base.MessageSetWireFormatMessage {
optional MessageSetWireFormatExtension message_set_extension = 100;
}
}
// Message set extension, not nested in a message.
extend goproto.protoc.extension.base.MessageSetWireFormatMessage {
optional MessageSetWireFormatExtension message_set_extension = 101;
}