grpc-tools 1.59.2 → 1.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +2 -2
@@ -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_64-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_64-macos/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
|
//
|