grpc-tools 1.56.2 → 1.60.0
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/any.proto +2 -1
- data/bin/x86-linux/google/protobuf/compiler/plugin.proto +14 -26
- data/bin/x86-linux/google/protobuf/descriptor.proto +208 -18
- data/bin/x86-linux/grpc_ruby_plugin +0 -0
- data/bin/x86-linux/protoc +0 -0
- data/bin/x86-windows/google/protobuf/any.proto +2 -1
- data/bin/x86-windows/google/protobuf/compiler/plugin.proto +14 -26
- data/bin/x86-windows/google/protobuf/descriptor.proto +208 -18
- 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/any.proto +2 -1
- data/bin/x86_64-linux/google/protobuf/compiler/plugin.proto +14 -26
- data/bin/x86_64-linux/google/protobuf/descriptor.proto +208 -18
- 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/any.proto +2 -1
- data/bin/x86_64-macos/google/protobuf/compiler/plugin.proto +14 -26
- data/bin/x86_64-macos/google/protobuf/descriptor.proto +208 -18
- 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/any.proto +2 -1
- data/bin/x86_64-windows/google/protobuf/compiler/plugin.proto +14 -26
- data/bin/x86_64-windows/google/protobuf/descriptor.proto +208 -18
- 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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a60dd37a9c221c073c0003e490d539b0224650001e8f3fef3455b3ce2e552e2
|
4
|
+
data.tar.gz: 5028309eb666ddd7f1496e4d652aee9258faff445912402a23580ca74ad02a29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 813bdc00ab909a2b4f97b2d7a9b99d1c8b4821eaebd4bda9acbec82544c75174815e809bbb17a5c8f867f416474708a603125b1f8b120992555a139372b22d8f
|
7
|
+
data.tar.gz: bc5394522efd7914dad242951d6cd8f610ec508236bbbcd0c5e6e5965f9e32bb88d4a1eeb1c7decf5e88fc51bcd22314bc9f475248ec7b680b43c8115450393e
|
@@ -149,7 +149,8 @@ message Any {
|
|
149
149
|
//
|
150
150
|
// Note: this functionality is not currently available in the official
|
151
151
|
// protobuf release, and it is not used for type URLs beginning with
|
152
|
-
// type.googleapis.com.
|
152
|
+
// type.googleapis.com. As of May 2023, there are no widely used type server
|
153
|
+
// implementations and no plans to implement one.
|
153
154
|
//
|
154
155
|
// Schemes other than `http`, `https` (or the empty scheme) might be
|
155
156
|
// used with implementation specific semantics.
|
@@ -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
|
//
|
@@ -76,6 +53,11 @@ message CodeGeneratorRequest {
|
|
76
53
|
// they import. The files will appear in topological order, so each file
|
77
54
|
// appears before any file that imports it.
|
78
55
|
//
|
56
|
+
// Note: the files listed in files_to_generate will include runtime-retention
|
57
|
+
// options only, but all other files will include source-retention options.
|
58
|
+
// The source_file_descriptors field below is available in case you need
|
59
|
+
// source-retention options for files_to_generate.
|
60
|
+
//
|
79
61
|
// protoc guarantees that all proto_files will be written after
|
80
62
|
// the fields above, even though this is not technically guaranteed by the
|
81
63
|
// protobuf wire format. This theoretically could allow a plugin to stream
|
@@ -88,6 +70,11 @@ message CodeGeneratorRequest {
|
|
88
70
|
// fully qualified.
|
89
71
|
repeated FileDescriptorProto proto_file = 15;
|
90
72
|
|
73
|
+
// File descriptors with all options, including source-retention options.
|
74
|
+
// These descriptors are only provided for the files listed in
|
75
|
+
// files_to_generate.
|
76
|
+
repeated FileDescriptorProto source_file_descriptors = 17;
|
77
|
+
|
91
78
|
// The version number of protocol compiler.
|
92
79
|
optional Version compiler_version = 3;
|
93
80
|
}
|
@@ -112,6 +99,7 @@ message CodeGeneratorResponse {
|
|
112
99
|
enum Feature {
|
113
100
|
FEATURE_NONE = 0;
|
114
101
|
FEATURE_PROTO3_OPTIONAL = 1;
|
102
|
+
FEATURE_SUPPORTS_EDITIONS = 2;
|
115
103
|
}
|
116
104
|
|
117
105
|
// Represents a single generated file.
|
@@ -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.
|
@@ -146,9 +172,6 @@ message ExtensionRangeOptions {
|
|
146
172
|
// and enums.
|
147
173
|
optional string type = 3;
|
148
174
|
|
149
|
-
// Deprecated. Please use "repeated".
|
150
|
-
optional bool is_repeated = 4 [deprecated = true];
|
151
|
-
|
152
175
|
// If true, indicates that the number is reserved in the extension range,
|
153
176
|
// and any extension field with the number will fail to compile. Set this
|
154
177
|
// when a declared extension field is deleted.
|
@@ -157,14 +180,18 @@ message ExtensionRangeOptions {
|
|
157
180
|
// If true, indicates that the extension must be defined as repeated.
|
158
181
|
// Otherwise the extension must be defined as optional.
|
159
182
|
optional bool repeated = 6;
|
183
|
+
|
184
|
+
reserved 4; // removed is_repeated
|
160
185
|
}
|
161
186
|
|
162
|
-
//
|
163
|
-
//
|
164
|
-
//
|
165
|
-
// extension range into small ranges in generated binaries.
|
187
|
+
// For external users: DO NOT USE. We are in the process of open sourcing
|
188
|
+
// extension declaration and executing internal cleanups before it can be
|
189
|
+
// used externally.
|
166
190
|
repeated Declaration declaration = 2 [retention = RETENTION_SOURCE];
|
167
191
|
|
192
|
+
// Any features defined in the specific edition.
|
193
|
+
optional FeatureSet features = 50;
|
194
|
+
|
168
195
|
// The verification state of the extension range.
|
169
196
|
enum VerificationState {
|
170
197
|
// All the extensions of the range must be declared.
|
@@ -173,7 +200,7 @@ message ExtensionRangeOptions {
|
|
173
200
|
}
|
174
201
|
|
175
202
|
// The verification state of the range.
|
176
|
-
// TODO
|
203
|
+
// TODO: flip the default to DECLARATION once all empty ranges
|
177
204
|
// are marked as UNVERIFIED.
|
178
205
|
optional VerificationState verification = 3 [default = UNVERIFIED];
|
179
206
|
|
@@ -200,9 +227,10 @@ message FieldDescriptorProto {
|
|
200
227
|
TYPE_BOOL = 8;
|
201
228
|
TYPE_STRING = 9;
|
202
229
|
// Tag-delimited aggregate.
|
203
|
-
// Group type is deprecated and not supported
|
230
|
+
// Group type is deprecated and not supported after google.protobuf. However, Proto3
|
204
231
|
// implementations should still be able to parse the group wire format and
|
205
|
-
// 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.
|
206
234
|
TYPE_GROUP = 10;
|
207
235
|
TYPE_MESSAGE = 11; // Length-delimited aggregate.
|
208
236
|
|
@@ -219,8 +247,11 @@ message FieldDescriptorProto {
|
|
219
247
|
enum Label {
|
220
248
|
// 0 is reserved for errors
|
221
249
|
LABEL_OPTIONAL = 1;
|
222
|
-
LABEL_REQUIRED = 2;
|
223
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;
|
224
255
|
}
|
225
256
|
|
226
257
|
optional string name = 1;
|
@@ -491,6 +522,9 @@ message FileOptions {
|
|
491
522
|
// determining the ruby package.
|
492
523
|
optional string ruby_package = 45;
|
493
524
|
|
525
|
+
// Any features defined in the specific edition.
|
526
|
+
optional FeatureSet features = 50;
|
527
|
+
|
494
528
|
// The parser stores options it doesn't recognize here.
|
495
529
|
// See the documentation for the "Options" section above.
|
496
530
|
repeated UninterpretedOption uninterpreted_option = 999;
|
@@ -570,10 +604,13 @@ message MessageOptions {
|
|
570
604
|
// This should only be used as a temporary measure against broken builds due
|
571
605
|
// to the change in behavior for JSON field name conflicts.
|
572
606
|
//
|
573
|
-
// TODO
|
607
|
+
// TODO This is legacy behavior we plan to remove once downstream
|
574
608
|
// teams have had time to migrate.
|
575
609
|
optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
|
576
610
|
|
611
|
+
// Any features defined in the specific edition.
|
612
|
+
optional FeatureSet features = 12;
|
613
|
+
|
577
614
|
// The parser stores options it doesn't recognize here. See above.
|
578
615
|
repeated UninterpretedOption uninterpreted_option = 999;
|
579
616
|
|
@@ -607,7 +644,9 @@ message FieldOptions {
|
|
607
644
|
// a more efficient representation on the wire. Rather than repeatedly
|
608
645
|
// writing the tag and type for each element, the entire array is encoded as
|
609
646
|
// a single length-delimited blob. In proto3, only explicit setting it to
|
610
|
-
// 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.
|
611
650
|
optional bool packed = 2;
|
612
651
|
|
613
652
|
// The jstype option determines the JavaScript type used for values of the
|
@@ -711,19 +750,31 @@ message FieldOptions {
|
|
711
750
|
TARGET_TYPE_METHOD = 9;
|
712
751
|
}
|
713
752
|
|
714
|
-
optional OptionTargetType target = 18 [deprecated = true];
|
715
753
|
repeated OptionTargetType targets = 19;
|
716
754
|
|
755
|
+
message EditionDefault {
|
756
|
+
optional Edition edition = 3;
|
757
|
+
optional string value = 2; // Textproto value.
|
758
|
+
}
|
759
|
+
repeated EditionDefault edition_defaults = 20;
|
760
|
+
|
761
|
+
// Any features defined in the specific edition.
|
762
|
+
optional FeatureSet features = 21;
|
763
|
+
|
717
764
|
// The parser stores options it doesn't recognize here. See above.
|
718
765
|
repeated UninterpretedOption uninterpreted_option = 999;
|
719
766
|
|
720
767
|
// Clients can define custom options in extensions of this message. See above.
|
721
768
|
extensions 1000 to max;
|
722
769
|
|
723
|
-
reserved 4;
|
770
|
+
reserved 4; // removed jtype
|
771
|
+
reserved 18; // reserve target, target_obsolete_do_not_use
|
724
772
|
}
|
725
773
|
|
726
774
|
message OneofOptions {
|
775
|
+
// Any features defined in the specific edition.
|
776
|
+
optional FeatureSet features = 1;
|
777
|
+
|
727
778
|
// The parser stores options it doesn't recognize here. See above.
|
728
779
|
repeated UninterpretedOption uninterpreted_option = 999;
|
729
780
|
|
@@ -749,10 +800,13 @@ message EnumOptions {
|
|
749
800
|
// and strips underscored from the fields before comparison in proto3 only.
|
750
801
|
// The new behavior takes `json_name` into account and applies to proto2 as
|
751
802
|
// well.
|
752
|
-
// TODO
|
803
|
+
// TODO Remove this legacy behavior once downstream teams have
|
753
804
|
// had time to migrate.
|
754
805
|
optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
|
755
806
|
|
807
|
+
// Any features defined in the specific edition.
|
808
|
+
optional FeatureSet features = 7;
|
809
|
+
|
756
810
|
// The parser stores options it doesn't recognize here. See above.
|
757
811
|
repeated UninterpretedOption uninterpreted_option = 999;
|
758
812
|
|
@@ -767,6 +821,14 @@ message EnumValueOptions {
|
|
767
821
|
// this is a formalization for deprecating enum values.
|
768
822
|
optional bool deprecated = 1 [default = false];
|
769
823
|
|
824
|
+
// Any features defined in the specific edition.
|
825
|
+
optional FeatureSet features = 2;
|
826
|
+
|
827
|
+
// Indicate that fields annotated with this enum value should not be printed
|
828
|
+
// out when using debug formats, e.g. when the field contains sensitive
|
829
|
+
// credentials.
|
830
|
+
optional bool debug_redact = 3 [default = false];
|
831
|
+
|
770
832
|
// The parser stores options it doesn't recognize here. See above.
|
771
833
|
repeated UninterpretedOption uninterpreted_option = 999;
|
772
834
|
|
@@ -776,6 +838,9 @@ message EnumValueOptions {
|
|
776
838
|
|
777
839
|
message ServiceOptions {
|
778
840
|
|
841
|
+
// Any features defined in the specific edition.
|
842
|
+
optional FeatureSet features = 34;
|
843
|
+
|
779
844
|
// Note: Field numbers 1 through 32 are reserved for Google's internal RPC
|
780
845
|
// framework. We apologize for hoarding these numbers to ourselves, but
|
781
846
|
// we were already using them long before we decided to release Protocol
|
@@ -818,6 +883,9 @@ message MethodOptions {
|
|
818
883
|
optional IdempotencyLevel idempotency_level = 34
|
819
884
|
[default = IDEMPOTENCY_UNKNOWN];
|
820
885
|
|
886
|
+
// Any features defined in the specific edition.
|
887
|
+
optional FeatureSet features = 35;
|
888
|
+
|
821
889
|
// The parser stores options it doesn't recognize here. See above.
|
822
890
|
repeated UninterpretedOption uninterpreted_option = 999;
|
823
891
|
|
@@ -853,6 +921,128 @@ message UninterpretedOption {
|
|
853
921
|
optional string aggregate_value = 8;
|
854
922
|
}
|
855
923
|
|
924
|
+
// ===================================================================
|
925
|
+
// Features
|
926
|
+
|
927
|
+
// TODO Enums in C++ gencode (and potentially other languages) are
|
928
|
+
// not well scoped. This means that each of the feature enums below can clash
|
929
|
+
// with each other. The short names we've chosen maximize call-site
|
930
|
+
// readability, but leave us very open to this scenario. A future feature will
|
931
|
+
// be designed and implemented to handle this, hopefully before we ever hit a
|
932
|
+
// conflict here.
|
933
|
+
message FeatureSet {
|
934
|
+
enum FieldPresence {
|
935
|
+
FIELD_PRESENCE_UNKNOWN = 0;
|
936
|
+
EXPLICIT = 1;
|
937
|
+
IMPLICIT = 2;
|
938
|
+
LEGACY_REQUIRED = 3;
|
939
|
+
}
|
940
|
+
optional FieldPresence field_presence = 1 [
|
941
|
+
retention = RETENTION_RUNTIME,
|
942
|
+
targets = TARGET_TYPE_FIELD,
|
943
|
+
targets = TARGET_TYPE_FILE,
|
944
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "EXPLICIT" },
|
945
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "IMPLICIT" },
|
946
|
+
edition_defaults = { edition: EDITION_2023, value: "EXPLICIT" }
|
947
|
+
];
|
948
|
+
|
949
|
+
enum EnumType {
|
950
|
+
ENUM_TYPE_UNKNOWN = 0;
|
951
|
+
OPEN = 1;
|
952
|
+
CLOSED = 2;
|
953
|
+
}
|
954
|
+
optional EnumType enum_type = 2 [
|
955
|
+
retention = RETENTION_RUNTIME,
|
956
|
+
targets = TARGET_TYPE_ENUM,
|
957
|
+
targets = TARGET_TYPE_FILE,
|
958
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "CLOSED" },
|
959
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "OPEN" }
|
960
|
+
];
|
961
|
+
|
962
|
+
enum RepeatedFieldEncoding {
|
963
|
+
REPEATED_FIELD_ENCODING_UNKNOWN = 0;
|
964
|
+
PACKED = 1;
|
965
|
+
EXPANDED = 2;
|
966
|
+
}
|
967
|
+
optional RepeatedFieldEncoding repeated_field_encoding = 3 [
|
968
|
+
retention = RETENTION_RUNTIME,
|
969
|
+
targets = TARGET_TYPE_FIELD,
|
970
|
+
targets = TARGET_TYPE_FILE,
|
971
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "EXPANDED" },
|
972
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "PACKED" }
|
973
|
+
];
|
974
|
+
|
975
|
+
enum Utf8Validation {
|
976
|
+
UTF8_VALIDATION_UNKNOWN = 0;
|
977
|
+
NONE = 1;
|
978
|
+
VERIFY = 2;
|
979
|
+
}
|
980
|
+
optional Utf8Validation utf8_validation = 4 [
|
981
|
+
retention = RETENTION_RUNTIME,
|
982
|
+
targets = TARGET_TYPE_FIELD,
|
983
|
+
targets = TARGET_TYPE_FILE,
|
984
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "NONE" },
|
985
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "VERIFY" }
|
986
|
+
];
|
987
|
+
|
988
|
+
enum MessageEncoding {
|
989
|
+
MESSAGE_ENCODING_UNKNOWN = 0;
|
990
|
+
LENGTH_PREFIXED = 1;
|
991
|
+
DELIMITED = 2;
|
992
|
+
}
|
993
|
+
optional MessageEncoding message_encoding = 5 [
|
994
|
+
retention = RETENTION_RUNTIME,
|
995
|
+
targets = TARGET_TYPE_FIELD,
|
996
|
+
targets = TARGET_TYPE_FILE,
|
997
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "LENGTH_PREFIXED" }
|
998
|
+
];
|
999
|
+
|
1000
|
+
enum JsonFormat {
|
1001
|
+
JSON_FORMAT_UNKNOWN = 0;
|
1002
|
+
ALLOW = 1;
|
1003
|
+
LEGACY_BEST_EFFORT = 2;
|
1004
|
+
}
|
1005
|
+
optional JsonFormat json_format = 6 [
|
1006
|
+
retention = RETENTION_RUNTIME,
|
1007
|
+
targets = TARGET_TYPE_MESSAGE,
|
1008
|
+
targets = TARGET_TYPE_ENUM,
|
1009
|
+
targets = TARGET_TYPE_FILE,
|
1010
|
+
edition_defaults = { edition: EDITION_PROTO2, value: "LEGACY_BEST_EFFORT" },
|
1011
|
+
edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
|
1012
|
+
];
|
1013
|
+
|
1014
|
+
reserved 999;
|
1015
|
+
|
1016
|
+
extensions 1000; // for Protobuf C++
|
1017
|
+
extensions 1001; // for Protobuf Java
|
1018
|
+
|
1019
|
+
extensions 9995 to 9999; // For internal testing
|
1020
|
+
}
|
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
|
+
|
856
1046
|
// ===================================================================
|
857
1047
|
// Optional source code info
|
858
1048
|
|
Binary file
|
data/bin/x86-linux/protoc
CHANGED
Binary file
|
@@ -149,7 +149,8 @@ message Any {
|
|
149
149
|
//
|
150
150
|
// Note: this functionality is not currently available in the official
|
151
151
|
// protobuf release, and it is not used for type URLs beginning with
|
152
|
-
// type.googleapis.com.
|
152
|
+
// type.googleapis.com. As of May 2023, there are no widely used type server
|
153
|
+
// implementations and no plans to implement one.
|
153
154
|
//
|
154
155
|
// Schemes other than `http`, `https` (or the empty scheme) might be
|
155
156
|
// used with implementation specific semantics.
|
@@ -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
|
//
|
@@ -76,6 +53,11 @@ message CodeGeneratorRequest {
|
|
76
53
|
// they import. The files will appear in topological order, so each file
|
77
54
|
// appears before any file that imports it.
|
78
55
|
//
|
56
|
+
// Note: the files listed in files_to_generate will include runtime-retention
|
57
|
+
// options only, but all other files will include source-retention options.
|
58
|
+
// The source_file_descriptors field below is available in case you need
|
59
|
+
// source-retention options for files_to_generate.
|
60
|
+
//
|
79
61
|
// protoc guarantees that all proto_files will be written after
|
80
62
|
// the fields above, even though this is not technically guaranteed by the
|
81
63
|
// protobuf wire format. This theoretically could allow a plugin to stream
|
@@ -88,6 +70,11 @@ message CodeGeneratorRequest {
|
|
88
70
|
// fully qualified.
|
89
71
|
repeated FileDescriptorProto proto_file = 15;
|
90
72
|
|
73
|
+
// File descriptors with all options, including source-retention options.
|
74
|
+
// These descriptors are only provided for the files listed in
|
75
|
+
// files_to_generate.
|
76
|
+
repeated FileDescriptorProto source_file_descriptors = 17;
|
77
|
+
|
91
78
|
// The version number of protocol compiler.
|
92
79
|
optional Version compiler_version = 3;
|
93
80
|
}
|
@@ -112,6 +99,7 @@ message CodeGeneratorResponse {
|
|
112
99
|
enum Feature {
|
113
100
|
FEATURE_NONE = 0;
|
114
101
|
FEATURE_PROTO3_OPTIONAL = 1;
|
102
|
+
FEATURE_SUPPORTS_EDITIONS = 2;
|
115
103
|
}
|
116
104
|
|
117
105
|
// Represents a single generated file.
|