grpc-tools 1.59.5 → 1.60.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/x86-linux/google/protobuf/compiler/plugin.proto +3 -26
- data/bin/x86-linux/google/protobuf/descriptor.proto +85 -24
- data/bin/x86-linux/grpc_ruby_plugin +0 -0
- data/bin/x86-linux/protoc +0 -0
- data/bin/x86-windows/google/protobuf/compiler/plugin.proto +3 -26
- data/bin/x86-windows/google/protobuf/descriptor.proto +85 -24
- data/bin/x86-windows/grpc_ruby_plugin.exe +0 -0
- data/bin/x86-windows/protoc.exe +0 -0
- data/bin/x86_64-linux/google/protobuf/compiler/plugin.proto +3 -26
- data/bin/x86_64-linux/google/protobuf/descriptor.proto +85 -24
- data/bin/x86_64-linux/grpc_ruby_plugin +0 -0
- data/bin/x86_64-linux/protoc +0 -0
- data/bin/x86_64-macos/google/protobuf/compiler/plugin.proto +3 -26
- data/bin/x86_64-macos/google/protobuf/descriptor.proto +85 -24
- data/bin/x86_64-macos/grpc_ruby_plugin +0 -0
- data/bin/x86_64-macos/protoc +0 -0
- data/bin/x86_64-windows/google/protobuf/compiler/plugin.proto +3 -26
- data/bin/x86_64-windows/google/protobuf/descriptor.proto +85 -24
- data/bin/x86_64-windows/grpc_ruby_plugin.exe +0 -0
- data/bin/x86_64-windows/protoc.exe +0 -0
- data/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd280cf103d16e5feb347efb4a57dff6689433395916ddaa7cedcab38e23ca76
|
4
|
+
data.tar.gz: b08f459b3b9ca6436f8f151a0aa6ab3aca87b697be0d272caf1ae0f51839ebbc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8372e42894912abe51112161cb5763ab05d1fc57b897e780d9130e5f101bce3eb2e5213033600cb9b59272fee68c0b5081c72706c54adcf0cb6d57cced01b9b7
|
7
|
+
data.tar.gz: 166f0c74541f8cd92b43041e52f50135ea7c1a2845509c679fe25e8bc0bbf4e82795734097f0ae5a63d6946aba73202bd05ae21dfdb74bcde8634838510d5e1a
|
@@ -1,32 +1,9 @@
|
|
1
1
|
// Protocol Buffers - Google's data interchange format
|
2
2
|
// Copyright 2008 Google Inc. All rights reserved.
|
3
|
-
// https://developers.google.com/protocol-buffers/
|
4
3
|
//
|
5
|
-
//
|
6
|
-
//
|
7
|
-
//
|
8
|
-
//
|
9
|
-
// * Redistributions of source code must retain the above copyright
|
10
|
-
// notice, this list of conditions and the following disclaimer.
|
11
|
-
// * Redistributions in binary form must reproduce the above
|
12
|
-
// copyright notice, this list of conditions and the following disclaimer
|
13
|
-
// in the documentation and/or other materials provided with the
|
14
|
-
// distribution.
|
15
|
-
// * Neither the name of Google Inc. nor the names of its
|
16
|
-
// contributors may be used to endorse or promote products derived from
|
17
|
-
// this software without specific prior written permission.
|
18
|
-
//
|
19
|
-
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
20
|
-
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
21
|
-
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
22
|
-
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
23
|
-
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
24
|
-
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
25
|
-
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
26
|
-
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
27
|
-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
28
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
29
|
-
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
4
|
+
// Use of this source code is governed by a BSD-style
|
5
|
+
// license that can be found in the LICENSE file or at
|
6
|
+
// https://developers.google.com/open-source/licenses/bsd
|
30
7
|
|
31
8
|
// Author: kenton@google.com (Kenton Varda)
|
32
9
|
//
|
@@ -57,6 +57,32 @@ message FileDescriptorSet {
|
|
57
57
|
repeated FileDescriptorProto file = 1;
|
58
58
|
}
|
59
59
|
|
60
|
+
// The full set of known editions.
|
61
|
+
enum Edition {
|
62
|
+
// A placeholder for an unknown edition value.
|
63
|
+
EDITION_UNKNOWN = 0;
|
64
|
+
|
65
|
+
// Legacy syntax "editions". These pre-date editions, but behave much like
|
66
|
+
// distinct editions. These can't be used to specify the edition of proto
|
67
|
+
// files, but feature definitions must supply proto2/proto3 defaults for
|
68
|
+
// backwards compatibility.
|
69
|
+
EDITION_PROTO2 = 998;
|
70
|
+
EDITION_PROTO3 = 999;
|
71
|
+
|
72
|
+
// Editions that have been released. The specific values are arbitrary and
|
73
|
+
// should not be depended on, but they will always be time-ordered for easy
|
74
|
+
// comparison.
|
75
|
+
EDITION_2023 = 1000;
|
76
|
+
|
77
|
+
// Placeholder editions for testing feature resolution. These should not be
|
78
|
+
// used or relyed on outside of tests.
|
79
|
+
EDITION_1_TEST_ONLY = 1;
|
80
|
+
EDITION_2_TEST_ONLY = 2;
|
81
|
+
EDITION_99997_TEST_ONLY = 99997;
|
82
|
+
EDITION_99998_TEST_ONLY = 99998;
|
83
|
+
EDITION_99999_TEST_ONLY = 99999;
|
84
|
+
}
|
85
|
+
|
60
86
|
// Describes a complete .proto file.
|
61
87
|
message FileDescriptorProto {
|
62
88
|
optional string name = 1; // file name, relative to root of source tree
|
@@ -90,8 +116,8 @@ message FileDescriptorProto {
|
|
90
116
|
// If `edition` is present, this value must be "editions".
|
91
117
|
optional string syntax = 12;
|
92
118
|
|
93
|
-
// The edition of the proto file
|
94
|
-
optional
|
119
|
+
// The edition of the proto file.
|
120
|
+
optional Edition edition = 14;
|
95
121
|
}
|
96
122
|
|
97
123
|
// Describes a message type.
|
@@ -174,7 +200,7 @@ message ExtensionRangeOptions {
|
|
174
200
|
}
|
175
201
|
|
176
202
|
// The verification state of the range.
|
177
|
-
// TODO
|
203
|
+
// TODO: flip the default to DECLARATION once all empty ranges
|
178
204
|
// are marked as UNVERIFIED.
|
179
205
|
optional VerificationState verification = 3 [default = UNVERIFIED];
|
180
206
|
|
@@ -201,9 +227,10 @@ message FieldDescriptorProto {
|
|
201
227
|
TYPE_BOOL = 8;
|
202
228
|
TYPE_STRING = 9;
|
203
229
|
// Tag-delimited aggregate.
|
204
|
-
// Group type is deprecated and not supported
|
230
|
+
// Group type is deprecated and not supported after google.protobuf. However, Proto3
|
205
231
|
// implementations should still be able to parse the group wire format and
|
206
|
-
// treat group fields as unknown fields.
|
232
|
+
// treat group fields as unknown fields. In Editions, the group wire format
|
233
|
+
// can be enabled via the `message_encoding` feature.
|
207
234
|
TYPE_GROUP = 10;
|
208
235
|
TYPE_MESSAGE = 11; // Length-delimited aggregate.
|
209
236
|
|
@@ -220,8 +247,11 @@ message FieldDescriptorProto {
|
|
220
247
|
enum Label {
|
221
248
|
// 0 is reserved for errors
|
222
249
|
LABEL_OPTIONAL = 1;
|
223
|
-
LABEL_REQUIRED = 2;
|
224
250
|
LABEL_REPEATED = 3;
|
251
|
+
// The required label is only allowed in google.protobuf. In proto3 and Editions
|
252
|
+
// it's explicitly prohibited. In Editions, the `field_presence` feature
|
253
|
+
// can be used to get this behavior.
|
254
|
+
LABEL_REQUIRED = 2;
|
225
255
|
}
|
226
256
|
|
227
257
|
optional string name = 1;
|
@@ -574,7 +604,7 @@ message MessageOptions {
|
|
574
604
|
// This should only be used as a temporary measure against broken builds due
|
575
605
|
// to the change in behavior for JSON field name conflicts.
|
576
606
|
//
|
577
|
-
// TODO
|
607
|
+
// TODO This is legacy behavior we plan to remove once downstream
|
578
608
|
// teams have had time to migrate.
|
579
609
|
optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
|
580
610
|
|
@@ -614,7 +644,9 @@ message FieldOptions {
|
|
614
644
|
// a more efficient representation on the wire. Rather than repeatedly
|
615
645
|
// writing the tag and type for each element, the entire array is encoded as
|
616
646
|
// a single length-delimited blob. In proto3, only explicit setting it to
|
617
|
-
// false will avoid using packed encoding.
|
647
|
+
// false will avoid using packed encoding. This option is prohibited in
|
648
|
+
// Editions, but the `repeated_field_encoding` feature can be used to control
|
649
|
+
// the behavior.
|
618
650
|
optional bool packed = 2;
|
619
651
|
|
620
652
|
// The jstype option determines the JavaScript type used for values of the
|
@@ -721,7 +753,7 @@ message FieldOptions {
|
|
721
753
|
repeated OptionTargetType targets = 19;
|
722
754
|
|
723
755
|
message EditionDefault {
|
724
|
-
optional
|
756
|
+
optional Edition edition = 3;
|
725
757
|
optional string value = 2; // Textproto value.
|
726
758
|
}
|
727
759
|
repeated EditionDefault edition_defaults = 20;
|
@@ -768,7 +800,7 @@ message EnumOptions {
|
|
768
800
|
// and strips underscored from the fields before comparison in proto3 only.
|
769
801
|
// The new behavior takes `json_name` into account and applies to proto2 as
|
770
802
|
// well.
|
771
|
-
// TODO
|
803
|
+
// TODO Remove this legacy behavior once downstream teams have
|
772
804
|
// had time to migrate.
|
773
805
|
optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
|
774
806
|
|
@@ -892,7 +924,7 @@ message UninterpretedOption {
|
|
892
924
|
// ===================================================================
|
893
925
|
// Features
|
894
926
|
|
895
|
-
// TODO
|
927
|
+
// TODO Enums in C++ gencode (and potentially other languages) are
|
896
928
|
// not well scoped. This means that each of the feature enums below can clash
|
897
929
|
// with each other. The short names we've chosen maximize call-site
|
898
930
|
// readability, but leave us very open to this scenario. A future feature will
|
@@ -909,7 +941,9 @@ message FeatureSet {
|
|
909
941
|
retention = RETENTION_RUNTIME,
|
910
942
|
targets = TARGET_TYPE_FIELD,
|
911
943
|
targets = TARGET_TYPE_FILE,
|
912
|
-
edition_defaults = { edition:
|
944
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "EXPLICIT" },
|
945
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "IMPLICIT" },
|
946
|
+
edition_defaults = { edition: EDITION_2023, value: "EXPLICIT" }
|
913
947
|
];
|
914
948
|
|
915
949
|
enum EnumType {
|
@@ -921,7 +955,8 @@ message FeatureSet {
|
|
921
955
|
retention = RETENTION_RUNTIME,
|
922
956
|
targets = TARGET_TYPE_ENUM,
|
923
957
|
targets = TARGET_TYPE_FILE,
|
924
|
-
edition_defaults = { edition:
|
958
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "CLOSED" },
|
959
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "OPEN" }
|
925
960
|
];
|
926
961
|
|
927
962
|
enum RepeatedFieldEncoding {
|
@@ -933,20 +968,21 @@ message FeatureSet {
|
|
933
968
|
retention = RETENTION_RUNTIME,
|
934
969
|
targets = TARGET_TYPE_FIELD,
|
935
970
|
targets = TARGET_TYPE_FILE,
|
936
|
-
edition_defaults = { edition:
|
971
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "EXPANDED" },
|
972
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "PACKED" }
|
937
973
|
];
|
938
974
|
|
939
|
-
enum
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
NONE = 3;
|
975
|
+
enum Utf8Validation {
|
976
|
+
UTF8_VALIDATION_UNKNOWN = 0;
|
977
|
+
NONE = 1;
|
978
|
+
VERIFY = 2;
|
944
979
|
}
|
945
|
-
optional
|
980
|
+
optional Utf8Validation utf8_validation = 4 [
|
946
981
|
retention = RETENTION_RUNTIME,
|
947
982
|
targets = TARGET_TYPE_FIELD,
|
948
983
|
targets = TARGET_TYPE_FILE,
|
949
|
-
edition_defaults = { edition:
|
984
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "NONE" },
|
985
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "VERIFY" }
|
950
986
|
];
|
951
987
|
|
952
988
|
enum MessageEncoding {
|
@@ -958,7 +994,7 @@ message FeatureSet {
|
|
958
994
|
retention = RETENTION_RUNTIME,
|
959
995
|
targets = TARGET_TYPE_FIELD,
|
960
996
|
targets = TARGET_TYPE_FILE,
|
961
|
-
edition_defaults = { edition:
|
997
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "LENGTH_PREFIXED" }
|
962
998
|
];
|
963
999
|
|
964
1000
|
enum JsonFormat {
|
@@ -971,10 +1007,11 @@ message FeatureSet {
|
|
971
1007
|
targets = TARGET_TYPE_MESSAGE,
|
972
1008
|
targets = TARGET_TYPE_ENUM,
|
973
1009
|
targets = TARGET_TYPE_FILE,
|
974
|
-
edition_defaults = { edition:
|
1010
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "LEGACY_BEST_EFFORT" },
|
1011
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
|
975
1012
|
];
|
976
1013
|
|
977
|
-
|
1014
|
+
reserved 999;
|
978
1015
|
|
979
1016
|
extensions 1000; // for Protobuf C++
|
980
1017
|
extensions 1001; // for Protobuf Java
|
@@ -982,6 +1019,30 @@ message FeatureSet {
|
|
982
1019
|
extensions 9995 to 9999; // For internal testing
|
983
1020
|
}
|
984
1021
|
|
1022
|
+
// A compiled specification for the defaults of a set of features. These
|
1023
|
+
// messages are generated from FeatureSet extensions and can be used to seed
|
1024
|
+
// feature resolution. The resolution with this object becomes a simple search
|
1025
|
+
// for the closest matching edition, followed by proto merges.
|
1026
|
+
message FeatureSetDefaults {
|
1027
|
+
// A map from every known edition with a unique set of defaults to its
|
1028
|
+
// defaults. Not all editions may be contained here. For a given edition,
|
1029
|
+
// the defaults at the closest matching edition ordered at or before it should
|
1030
|
+
// be used. This field must be in strict ascending order by edition.
|
1031
|
+
message FeatureSetEditionDefault {
|
1032
|
+
optional Edition edition = 3;
|
1033
|
+
optional FeatureSet features = 2;
|
1034
|
+
}
|
1035
|
+
repeated FeatureSetEditionDefault defaults = 1;
|
1036
|
+
|
1037
|
+
// The minimum supported edition (inclusive) when this was constructed.
|
1038
|
+
// Editions before this will not have defaults.
|
1039
|
+
optional Edition minimum_edition = 4;
|
1040
|
+
|
1041
|
+
// The maximum known edition (inclusive) when this was constructed. Editions
|
1042
|
+
// after this will not have reliable defaults.
|
1043
|
+
optional Edition maximum_edition = 5;
|
1044
|
+
}
|
1045
|
+
|
985
1046
|
// ===================================================================
|
986
1047
|
// Optional source code info
|
987
1048
|
|
Binary file
|
data/bin/x86-linux/protoc
CHANGED
Binary file
|
@@ -1,32 +1,9 @@
|
|
1
1
|
// Protocol Buffers - Google's data interchange format
|
2
2
|
// Copyright 2008 Google Inc. All rights reserved.
|
3
|
-
// https://developers.google.com/protocol-buffers/
|
4
3
|
//
|
5
|
-
//
|
6
|
-
//
|
7
|
-
//
|
8
|
-
//
|
9
|
-
// * Redistributions of source code must retain the above copyright
|
10
|
-
// notice, this list of conditions and the following disclaimer.
|
11
|
-
// * Redistributions in binary form must reproduce the above
|
12
|
-
// copyright notice, this list of conditions and the following disclaimer
|
13
|
-
// in the documentation and/or other materials provided with the
|
14
|
-
// distribution.
|
15
|
-
// * Neither the name of Google Inc. nor the names of its
|
16
|
-
// contributors may be used to endorse or promote products derived from
|
17
|
-
// this software without specific prior written permission.
|
18
|
-
//
|
19
|
-
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
20
|
-
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
21
|
-
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
22
|
-
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
23
|
-
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
24
|
-
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
25
|
-
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
26
|
-
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
27
|
-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
28
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
29
|
-
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
4
|
+
// Use of this source code is governed by a BSD-style
|
5
|
+
// license that can be found in the LICENSE file or at
|
6
|
+
// https://developers.google.com/open-source/licenses/bsd
|
30
7
|
|
31
8
|
// Author: kenton@google.com (Kenton Varda)
|
32
9
|
//
|
@@ -57,6 +57,32 @@ message FileDescriptorSet {
|
|
57
57
|
repeated FileDescriptorProto file = 1;
|
58
58
|
}
|
59
59
|
|
60
|
+
// The full set of known editions.
|
61
|
+
enum Edition {
|
62
|
+
// A placeholder for an unknown edition value.
|
63
|
+
EDITION_UNKNOWN = 0;
|
64
|
+
|
65
|
+
// Legacy syntax "editions". These pre-date editions, but behave much like
|
66
|
+
// distinct editions. These can't be used to specify the edition of proto
|
67
|
+
// files, but feature definitions must supply proto2/proto3 defaults for
|
68
|
+
// backwards compatibility.
|
69
|
+
EDITION_PROTO2 = 998;
|
70
|
+
EDITION_PROTO3 = 999;
|
71
|
+
|
72
|
+
// Editions that have been released. The specific values are arbitrary and
|
73
|
+
// should not be depended on, but they will always be time-ordered for easy
|
74
|
+
// comparison.
|
75
|
+
EDITION_2023 = 1000;
|
76
|
+
|
77
|
+
// Placeholder editions for testing feature resolution. These should not be
|
78
|
+
// used or relyed on outside of tests.
|
79
|
+
EDITION_1_TEST_ONLY = 1;
|
80
|
+
EDITION_2_TEST_ONLY = 2;
|
81
|
+
EDITION_99997_TEST_ONLY = 99997;
|
82
|
+
EDITION_99998_TEST_ONLY = 99998;
|
83
|
+
EDITION_99999_TEST_ONLY = 99999;
|
84
|
+
}
|
85
|
+
|
60
86
|
// Describes a complete .proto file.
|
61
87
|
message FileDescriptorProto {
|
62
88
|
optional string name = 1; // file name, relative to root of source tree
|
@@ -90,8 +116,8 @@ message FileDescriptorProto {
|
|
90
116
|
// If `edition` is present, this value must be "editions".
|
91
117
|
optional string syntax = 12;
|
92
118
|
|
93
|
-
// The edition of the proto file
|
94
|
-
optional
|
119
|
+
// The edition of the proto file.
|
120
|
+
optional Edition edition = 14;
|
95
121
|
}
|
96
122
|
|
97
123
|
// Describes a message type.
|
@@ -174,7 +200,7 @@ message ExtensionRangeOptions {
|
|
174
200
|
}
|
175
201
|
|
176
202
|
// The verification state of the range.
|
177
|
-
// TODO
|
203
|
+
// TODO: flip the default to DECLARATION once all empty ranges
|
178
204
|
// are marked as UNVERIFIED.
|
179
205
|
optional VerificationState verification = 3 [default = UNVERIFIED];
|
180
206
|
|
@@ -201,9 +227,10 @@ message FieldDescriptorProto {
|
|
201
227
|
TYPE_BOOL = 8;
|
202
228
|
TYPE_STRING = 9;
|
203
229
|
// Tag-delimited aggregate.
|
204
|
-
// Group type is deprecated and not supported
|
230
|
+
// Group type is deprecated and not supported after google.protobuf. However, Proto3
|
205
231
|
// implementations should still be able to parse the group wire format and
|
206
|
-
// treat group fields as unknown fields.
|
232
|
+
// treat group fields as unknown fields. In Editions, the group wire format
|
233
|
+
// can be enabled via the `message_encoding` feature.
|
207
234
|
TYPE_GROUP = 10;
|
208
235
|
TYPE_MESSAGE = 11; // Length-delimited aggregate.
|
209
236
|
|
@@ -220,8 +247,11 @@ message FieldDescriptorProto {
|
|
220
247
|
enum Label {
|
221
248
|
// 0 is reserved for errors
|
222
249
|
LABEL_OPTIONAL = 1;
|
223
|
-
LABEL_REQUIRED = 2;
|
224
250
|
LABEL_REPEATED = 3;
|
251
|
+
// The required label is only allowed in google.protobuf. In proto3 and Editions
|
252
|
+
// it's explicitly prohibited. In Editions, the `field_presence` feature
|
253
|
+
// can be used to get this behavior.
|
254
|
+
LABEL_REQUIRED = 2;
|
225
255
|
}
|
226
256
|
|
227
257
|
optional string name = 1;
|
@@ -574,7 +604,7 @@ message MessageOptions {
|
|
574
604
|
// This should only be used as a temporary measure against broken builds due
|
575
605
|
// to the change in behavior for JSON field name conflicts.
|
576
606
|
//
|
577
|
-
// TODO
|
607
|
+
// TODO This is legacy behavior we plan to remove once downstream
|
578
608
|
// teams have had time to migrate.
|
579
609
|
optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
|
580
610
|
|
@@ -614,7 +644,9 @@ message FieldOptions {
|
|
614
644
|
// a more efficient representation on the wire. Rather than repeatedly
|
615
645
|
// writing the tag and type for each element, the entire array is encoded as
|
616
646
|
// a single length-delimited blob. In proto3, only explicit setting it to
|
617
|
-
// false will avoid using packed encoding.
|
647
|
+
// false will avoid using packed encoding. This option is prohibited in
|
648
|
+
// Editions, but the `repeated_field_encoding` feature can be used to control
|
649
|
+
// the behavior.
|
618
650
|
optional bool packed = 2;
|
619
651
|
|
620
652
|
// The jstype option determines the JavaScript type used for values of the
|
@@ -721,7 +753,7 @@ message FieldOptions {
|
|
721
753
|
repeated OptionTargetType targets = 19;
|
722
754
|
|
723
755
|
message EditionDefault {
|
724
|
-
optional
|
756
|
+
optional Edition edition = 3;
|
725
757
|
optional string value = 2; // Textproto value.
|
726
758
|
}
|
727
759
|
repeated EditionDefault edition_defaults = 20;
|
@@ -768,7 +800,7 @@ message EnumOptions {
|
|
768
800
|
// and strips underscored from the fields before comparison in proto3 only.
|
769
801
|
// The new behavior takes `json_name` into account and applies to proto2 as
|
770
802
|
// well.
|
771
|
-
// TODO
|
803
|
+
// TODO Remove this legacy behavior once downstream teams have
|
772
804
|
// had time to migrate.
|
773
805
|
optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
|
774
806
|
|
@@ -892,7 +924,7 @@ message UninterpretedOption {
|
|
892
924
|
// ===================================================================
|
893
925
|
// Features
|
894
926
|
|
895
|
-
// TODO
|
927
|
+
// TODO Enums in C++ gencode (and potentially other languages) are
|
896
928
|
// not well scoped. This means that each of the feature enums below can clash
|
897
929
|
// with each other. The short names we've chosen maximize call-site
|
898
930
|
// readability, but leave us very open to this scenario. A future feature will
|
@@ -909,7 +941,9 @@ message FeatureSet {
|
|
909
941
|
retention = RETENTION_RUNTIME,
|
910
942
|
targets = TARGET_TYPE_FIELD,
|
911
943
|
targets = TARGET_TYPE_FILE,
|
912
|
-
edition_defaults = { edition:
|
944
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "EXPLICIT" },
|
945
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "IMPLICIT" },
|
946
|
+
edition_defaults = { edition: EDITION_2023, value: "EXPLICIT" }
|
913
947
|
];
|
914
948
|
|
915
949
|
enum EnumType {
|
@@ -921,7 +955,8 @@ message FeatureSet {
|
|
921
955
|
retention = RETENTION_RUNTIME,
|
922
956
|
targets = TARGET_TYPE_ENUM,
|
923
957
|
targets = TARGET_TYPE_FILE,
|
924
|
-
edition_defaults = { edition:
|
958
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "CLOSED" },
|
959
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "OPEN" }
|
925
960
|
];
|
926
961
|
|
927
962
|
enum RepeatedFieldEncoding {
|
@@ -933,20 +968,21 @@ message FeatureSet {
|
|
933
968
|
retention = RETENTION_RUNTIME,
|
934
969
|
targets = TARGET_TYPE_FIELD,
|
935
970
|
targets = TARGET_TYPE_FILE,
|
936
|
-
edition_defaults = { edition:
|
971
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "EXPANDED" },
|
972
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "PACKED" }
|
937
973
|
];
|
938
974
|
|
939
|
-
enum
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
NONE = 3;
|
975
|
+
enum Utf8Validation {
|
976
|
+
UTF8_VALIDATION_UNKNOWN = 0;
|
977
|
+
NONE = 1;
|
978
|
+
VERIFY = 2;
|
944
979
|
}
|
945
|
-
optional
|
980
|
+
optional Utf8Validation utf8_validation = 4 [
|
946
981
|
retention = RETENTION_RUNTIME,
|
947
982
|
targets = TARGET_TYPE_FIELD,
|
948
983
|
targets = TARGET_TYPE_FILE,
|
949
|
-
edition_defaults = { edition:
|
984
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "NONE" },
|
985
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "VERIFY" }
|
950
986
|
];
|
951
987
|
|
952
988
|
enum MessageEncoding {
|
@@ -958,7 +994,7 @@ message FeatureSet {
|
|
958
994
|
retention = RETENTION_RUNTIME,
|
959
995
|
targets = TARGET_TYPE_FIELD,
|
960
996
|
targets = TARGET_TYPE_FILE,
|
961
|
-
edition_defaults = { edition:
|
997
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "LENGTH_PREFIXED" }
|
962
998
|
];
|
963
999
|
|
964
1000
|
enum JsonFormat {
|
@@ -971,10 +1007,11 @@ message FeatureSet {
|
|
971
1007
|
targets = TARGET_TYPE_MESSAGE,
|
972
1008
|
targets = TARGET_TYPE_ENUM,
|
973
1009
|
targets = TARGET_TYPE_FILE,
|
974
|
-
edition_defaults = { edition:
|
1010
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "LEGACY_BEST_EFFORT" },
|
1011
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
|
975
1012
|
];
|
976
1013
|
|
977
|
-
|
1014
|
+
reserved 999;
|
978
1015
|
|
979
1016
|
extensions 1000; // for Protobuf C++
|
980
1017
|
extensions 1001; // for Protobuf Java
|
@@ -982,6 +1019,30 @@ message FeatureSet {
|
|
982
1019
|
extensions 9995 to 9999; // For internal testing
|
983
1020
|
}
|
984
1021
|
|
1022
|
+
// A compiled specification for the defaults of a set of features. These
|
1023
|
+
// messages are generated from FeatureSet extensions and can be used to seed
|
1024
|
+
// feature resolution. The resolution with this object becomes a simple search
|
1025
|
+
// for the closest matching edition, followed by proto merges.
|
1026
|
+
message FeatureSetDefaults {
|
1027
|
+
// A map from every known edition with a unique set of defaults to its
|
1028
|
+
// defaults. Not all editions may be contained here. For a given edition,
|
1029
|
+
// the defaults at the closest matching edition ordered at or before it should
|
1030
|
+
// be used. This field must be in strict ascending order by edition.
|
1031
|
+
message FeatureSetEditionDefault {
|
1032
|
+
optional Edition edition = 3;
|
1033
|
+
optional FeatureSet features = 2;
|
1034
|
+
}
|
1035
|
+
repeated FeatureSetEditionDefault defaults = 1;
|
1036
|
+
|
1037
|
+
// The minimum supported edition (inclusive) when this was constructed.
|
1038
|
+
// Editions before this will not have defaults.
|
1039
|
+
optional Edition minimum_edition = 4;
|
1040
|
+
|
1041
|
+
// The maximum known edition (inclusive) when this was constructed. Editions
|
1042
|
+
// after this will not have reliable defaults.
|
1043
|
+
optional Edition maximum_edition = 5;
|
1044
|
+
}
|
1045
|
+
|
985
1046
|
// ===================================================================
|
986
1047
|
// Optional source code info
|
987
1048
|
|
Binary file
|
data/bin/x86-windows/protoc.exe
CHANGED
Binary file
|
@@ -1,32 +1,9 @@
|
|
1
1
|
// Protocol Buffers - Google's data interchange format
|
2
2
|
// Copyright 2008 Google Inc. All rights reserved.
|
3
|
-
// https://developers.google.com/protocol-buffers/
|
4
3
|
//
|
5
|
-
//
|
6
|
-
//
|
7
|
-
//
|
8
|
-
//
|
9
|
-
// * Redistributions of source code must retain the above copyright
|
10
|
-
// notice, this list of conditions and the following disclaimer.
|
11
|
-
// * Redistributions in binary form must reproduce the above
|
12
|
-
// copyright notice, this list of conditions and the following disclaimer
|
13
|
-
// in the documentation and/or other materials provided with the
|
14
|
-
// distribution.
|
15
|
-
// * Neither the name of Google Inc. nor the names of its
|
16
|
-
// contributors may be used to endorse or promote products derived from
|
17
|
-
// this software without specific prior written permission.
|
18
|
-
//
|
19
|
-
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
20
|
-
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
21
|
-
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
22
|
-
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
23
|
-
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
24
|
-
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
25
|
-
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
26
|
-
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
27
|
-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
28
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
29
|
-
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
4
|
+
// Use of this source code is governed by a BSD-style
|
5
|
+
// license that can be found in the LICENSE file or at
|
6
|
+
// https://developers.google.com/open-source/licenses/bsd
|
30
7
|
|
31
8
|
// Author: kenton@google.com (Kenton Varda)
|
32
9
|
//
|