grpc-tools 1.4.5 → 1.6.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/bin/grpc_tools_ruby_protoc +10 -25
  3. data/bin/grpc_tools_ruby_protoc_plugin +10 -25
  4. data/bin/x86-linux/google/protobuf/any.proto +10 -0
  5. data/bin/x86-linux/google/protobuf/api.proto +29 -21
  6. data/bin/x86-linux/google/protobuf/compiler/plugin.proto +1 -0
  7. data/bin/x86-linux/google/protobuf/descriptor.proto +25 -7
  8. data/bin/x86-linux/grpc_ruby_plugin +0 -0
  9. data/bin/x86-linux/protoc +0 -0
  10. data/bin/x86-macos/google/protobuf/any.proto +10 -0
  11. data/bin/x86-macos/google/protobuf/api.proto +29 -21
  12. data/bin/x86-macos/google/protobuf/compiler/plugin.proto +1 -0
  13. data/bin/x86-macos/google/protobuf/descriptor.proto +25 -7
  14. data/bin/x86-macos/grpc_ruby_plugin +0 -0
  15. data/bin/x86-macos/protoc +0 -0
  16. data/bin/x86-windows/google/protobuf/any.proto +10 -0
  17. data/bin/x86-windows/google/protobuf/api.proto +29 -21
  18. data/bin/x86-windows/google/protobuf/compiler/plugin.proto +1 -0
  19. data/bin/x86-windows/google/protobuf/descriptor.proto +25 -7
  20. data/bin/x86-windows/grpc_ruby_plugin.exe +0 -0
  21. data/bin/x86-windows/protoc.exe +0 -0
  22. data/bin/x86_64-linux/google/protobuf/any.proto +10 -0
  23. data/bin/x86_64-linux/google/protobuf/api.proto +29 -21
  24. data/bin/x86_64-linux/google/protobuf/compiler/plugin.proto +1 -0
  25. data/bin/x86_64-linux/google/protobuf/descriptor.proto +25 -7
  26. data/bin/x86_64-linux/grpc_ruby_plugin +0 -0
  27. data/bin/x86_64-linux/protoc +0 -0
  28. data/bin/x86_64-macos/google/protobuf/any.proto +10 -0
  29. data/bin/x86_64-macos/google/protobuf/api.proto +29 -21
  30. data/bin/x86_64-macos/google/protobuf/compiler/plugin.proto +1 -0
  31. data/bin/x86_64-macos/google/protobuf/descriptor.proto +25 -7
  32. data/bin/x86_64-macos/grpc_ruby_plugin +0 -0
  33. data/bin/x86_64-macos/protoc +0 -0
  34. data/bin/x86_64-windows/google/protobuf/any.proto +10 -0
  35. data/bin/x86_64-windows/google/protobuf/api.proto +29 -21
  36. data/bin/x86_64-windows/google/protobuf/compiler/plugin.proto +1 -0
  37. data/bin/x86_64-windows/google/protobuf/descriptor.proto +25 -7
  38. data/bin/x86_64-windows/grpc_ruby_plugin.exe +0 -0
  39. data/bin/x86_64-windows/protoc.exe +0 -0
  40. data/platform_check.rb +10 -25
  41. data/version.rb +11 -26
  42. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 848117f89dbd400fadab8be1ed8f17bb661bc20a
4
- data.tar.gz: 484206ac47cf4c30568490ff5e4c5f11a4c671a9
3
+ metadata.gz: 324d788e10954fdf62ea1b77632ef312ba89265e
4
+ data.tar.gz: e725368ac2439bcd0e94b0ba27e5d535fdb2409b
5
5
  SHA512:
6
- metadata.gz: 8a59969a57651c980fd730c90e6b9f2079863ac0be57aa6842709b754712d6e309cb3524de8504cffc0ddcb4559c28e9ea7ea209e3d4aa24381134e2eaf6eed0
7
- data.tar.gz: be0d37bbe9d0ef4024dbcdc0ef86b10fa4bca62cf24802ee5c2807a9cb19c490503c1dbc0b71012ea1e7e7b1d245385605979014e9d99500ccc64dfd015e64b9
6
+ metadata.gz: 6d388e8029cad546dd084a3a6495deac533242713fa679cb1eb1025b64df934e9a7670abb1acc33eef5c90a3fac58848f7cc41a5e43138035f56687b08a5ee69
7
+ data.tar.gz: af731f4fb39394b1be6fdf9548c1f5b7f2598a2ce23254c3fd01eed5db895e854de09e4d7096d3a7e0a8dfd73dda5ea06d3a6a4127542bbb9429f21c2c8daa10
@@ -1,32 +1,17 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2016, Google Inc.
3
- # All rights reserved.
2
+ # Copyright 2016 gRPC authors.
4
3
  #
5
- # Redistribution and use in source and binary forms, with or without
6
- # modification, are permitted provided that the following conditions are
7
- # met:
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
8
7
  #
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.
8
+ # http://www.apache.org/licenses/LICENSE-2.0
18
9
  #
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.
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
30
15
 
31
16
  require 'rbconfig'
32
17
 
@@ -1,32 +1,17 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2016, Google Inc.
3
- # All rights reserved.
2
+ # Copyright 2016 gRPC authors.
4
3
  #
5
- # Redistribution and use in source and binary forms, with or without
6
- # modification, are permitted provided that the following conditions are
7
- # met:
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
8
7
  #
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.
8
+ # http://www.apache.org/licenses/LICENSE-2.0
18
9
  #
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.
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
30
15
 
31
16
  require 'rbconfig'
32
17
 
@@ -74,6 +74,16 @@ option objc_class_prefix = "GPB";
74
74
  // any.Unpack(foo)
75
75
  // ...
76
76
  //
77
+ // Example 4: Pack and unpack a message in Go
78
+ //
79
+ // foo := &pb.Foo{...}
80
+ // any, err := ptypes.MarshalAny(foo)
81
+ // ...
82
+ // foo := &pb.Foo{}
83
+ // if err := ptypes.UnmarshalAny(any, foo); err != nil {
84
+ // ...
85
+ // }
86
+ //
77
87
  // The pack methods provided by protobuf library will by default use
78
88
  // 'type.googleapis.com/full.type.name' as the type URL and the unpack
79
89
  // methods only use the fully qualified type name after the last '/'
@@ -42,26 +42,33 @@ option java_multiple_files = true;
42
42
  option objc_class_prefix = "GPB";
43
43
  option go_package = "google.golang.org/genproto/protobuf/api;api";
44
44
 
45
- // Api is a light-weight descriptor for a protocol buffer service.
45
+ // Api is a light-weight descriptor for an API Interface.
46
+ //
47
+ // Interfaces are also described as "protocol buffer services" in some contexts,
48
+ // such as by the "service" keyword in a .proto file, but they are different
49
+ // from API Services, which represent a concrete implementation of an interface
50
+ // as opposed to simply a description of methods and bindings. They are also
51
+ // sometimes simply referred to as "APIs" in other contexts, such as the name of
52
+ // this message itself. See https://cloud.google.com/apis/design/glossary for
53
+ // detailed terminology.
46
54
  message Api {
47
55
 
48
- // The fully qualified name of this api, including package name
49
- // followed by the api's simple name.
56
+ // The fully qualified name of this interface, including package name
57
+ // followed by the interface's simple name.
50
58
  string name = 1;
51
59
 
52
- // The methods of this api, in unspecified order.
60
+ // The methods of this interface, in unspecified order.
53
61
  repeated Method methods = 2;
54
62
 
55
- // Any metadata attached to the API.
63
+ // Any metadata attached to the interface.
56
64
  repeated Option options = 3;
57
65
 
58
- // A version string for this api. If specified, must have the form
59
- // `major-version.minor-version`, as in `1.10`. If the minor version
60
- // is omitted, it defaults to zero. If the entire version field is
61
- // empty, the major version is derived from the package name, as
62
- // outlined below. If the field is not empty, the version in the
63
- // package name will be verified to be consistent with what is
64
- // provided here.
66
+ // A version string for this interface. If specified, must have the form
67
+ // `major-version.minor-version`, as in `1.10`. If the minor version is
68
+ // omitted, it defaults to zero. If the entire version field is empty, the
69
+ // major version is derived from the package name, as outlined below. If the
70
+ // field is not empty, the version in the package name will be verified to be
71
+ // consistent with what is provided here.
65
72
  //
66
73
  // The versioning schema uses [semantic
67
74
  // versioning](http://semver.org) where the major version number
@@ -71,10 +78,10 @@ message Api {
71
78
  // chosen based on the product plan.
72
79
  //
73
80
  // The major version is also reflected in the package name of the
74
- // API, which must end in `v<major-version>`, as in
81
+ // interface, which must end in `v<major-version>`, as in
75
82
  // `google.feature.v1`. For major versions 0 and 1, the suffix can
76
83
  // be omitted. Zero major versions must only be used for
77
- // experimental, none-GA apis.
84
+ // experimental, non-GA interfaces.
78
85
  //
79
86
  //
80
87
  string version = 4;
@@ -83,14 +90,14 @@ message Api {
83
90
  // message.
84
91
  SourceContext source_context = 5;
85
92
 
86
- // Included APIs. See [Mixin][].
93
+ // Included interfaces. See [Mixin][].
87
94
  repeated Mixin mixins = 6;
88
95
 
89
96
  // The source syntax of the service.
90
97
  Syntax syntax = 7;
91
98
  }
92
99
 
93
- // Method represents a method of an api.
100
+ // Method represents a method of an API interface.
94
101
  message Method {
95
102
 
96
103
  // The simple name of this method.
@@ -115,9 +122,9 @@ message Method {
115
122
  Syntax syntax = 7;
116
123
  }
117
124
 
118
- // Declares an API to be included in this API. The including API must
119
- // redeclare all the methods from the included API, but documentation
120
- // and options are inherited as follows:
125
+ // Declares an API Interface to be included in this interface. The including
126
+ // interface must redeclare all the methods from the included interface, but
127
+ // documentation and options are inherited as follows:
121
128
  //
122
129
  // - If after comment and whitespace stripping, the documentation
123
130
  // string of the redeclared method is empty, it will be inherited
@@ -129,7 +136,8 @@ message Method {
129
136
  //
130
137
  // - If an http annotation is inherited, the path pattern will be
131
138
  // modified as follows. Any version prefix will be replaced by the
132
- // version of the including API plus the [root][] path if specified.
139
+ // version of the including interface plus the [root][] path if
140
+ // specified.
133
141
  //
134
142
  // Example of a simple mixin:
135
143
  //
@@ -193,7 +201,7 @@ message Method {
193
201
  // ...
194
202
  // }
195
203
  message Mixin {
196
- // The fully qualified name of the API which is included.
204
+ // The fully qualified name of the interface which is included.
197
205
  string name = 1;
198
206
 
199
207
  // If non-empty specifies a path under which inherited HTTP paths
@@ -91,6 +91,7 @@ message CodeGeneratorRequest {
91
91
 
92
92
  // The version number of protocol compiler.
93
93
  optional Version compiler_version = 3;
94
+
94
95
  }
95
96
 
96
97
  // The plugin writes an encoded CodeGeneratorResponse to stdout.
@@ -101,6 +101,8 @@ message DescriptorProto {
101
101
  message ExtensionRange {
102
102
  optional int32 start = 1;
103
103
  optional int32 end = 2;
104
+
105
+ optional ExtensionRangeOptions options = 3;
104
106
  }
105
107
  repeated ExtensionRange extension_range = 5;
106
108
 
@@ -121,6 +123,14 @@ message DescriptorProto {
121
123
  repeated string reserved_name = 10;
122
124
  }
123
125
 
126
+ message ExtensionRangeOptions {
127
+ // The parser stores options it doesn't recognize here. See above.
128
+ repeated UninterpretedOption uninterpreted_option = 999;
129
+
130
+ // Clients can define custom options in extensions of this message. See above.
131
+ extensions 1000 to max;
132
+ }
133
+
124
134
  // Describes a field within a message.
125
135
  message FieldDescriptorProto {
126
136
  enum Type {
@@ -351,6 +361,7 @@ message FileOptions {
351
361
  optional bool cc_generic_services = 16 [default=false];
352
362
  optional bool java_generic_services = 17 [default=false];
353
363
  optional bool py_generic_services = 18 [default=false];
364
+ optional bool php_generic_services = 19 [default=false];
354
365
 
355
366
  // Is this file deprecated?
356
367
  // Depending on the target platform, this can emit Deprecated annotations
@@ -380,6 +391,11 @@ message FileOptions {
380
391
  // from this .proto. Default is empty.
381
392
  optional string php_class_prefix = 40;
382
393
 
394
+ // Use this option to change the namespace of php generated classes. Default
395
+ // is empty. When this option is empty, the package name will be used for
396
+ // determining the namespace.
397
+ optional string php_namespace = 41;
398
+
383
399
  // The parser stores options it doesn't recognize here. See above.
384
400
  repeated UninterpretedOption uninterpreted_option = 999;
385
401
 
@@ -477,13 +493,15 @@ message FieldOptions {
477
493
 
478
494
  // The jstype option determines the JavaScript type used for values of the
479
495
  // field. The option is permitted only for 64 bit integral and fixed types
480
- // (int64, uint64, sint64, fixed64, sfixed64). By default these types are
481
- // represented as JavaScript strings. This avoids loss of precision that can
482
- // happen when a large value is converted to a floating point JavaScript
483
- // numbers. Specifying JS_NUMBER for the jstype causes the generated
484
- // JavaScript code to use the JavaScript "number" type instead of strings.
485
- // This option is an enum to permit additional types to be added,
486
- // e.g. goog.math.Integer.
496
+ // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
497
+ // is represented as JavaScript string, which avoids loss of precision that
498
+ // can happen when a large value is converted to a floating point JavaScript.
499
+ // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
500
+ // use the JavaScript "number" type. The behavior of the default option
501
+ // JS_NORMAL is implementation dependent.
502
+ //
503
+ // This option is an enum to permit additional types to be added, e.g.
504
+ // goog.math.Integer.
487
505
  optional JSType jstype = 6 [default = JS_NORMAL];
488
506
  enum JSType {
489
507
  // Use the default type.
Binary file
data/bin/x86-linux/protoc CHANGED
Binary file
@@ -74,6 +74,16 @@ option objc_class_prefix = "GPB";
74
74
  // any.Unpack(foo)
75
75
  // ...
76
76
  //
77
+ // Example 4: Pack and unpack a message in Go
78
+ //
79
+ // foo := &pb.Foo{...}
80
+ // any, err := ptypes.MarshalAny(foo)
81
+ // ...
82
+ // foo := &pb.Foo{}
83
+ // if err := ptypes.UnmarshalAny(any, foo); err != nil {
84
+ // ...
85
+ // }
86
+ //
77
87
  // The pack methods provided by protobuf library will by default use
78
88
  // 'type.googleapis.com/full.type.name' as the type URL and the unpack
79
89
  // methods only use the fully qualified type name after the last '/'
@@ -42,26 +42,33 @@ option java_multiple_files = true;
42
42
  option objc_class_prefix = "GPB";
43
43
  option go_package = "google.golang.org/genproto/protobuf/api;api";
44
44
 
45
- // Api is a light-weight descriptor for a protocol buffer service.
45
+ // Api is a light-weight descriptor for an API Interface.
46
+ //
47
+ // Interfaces are also described as "protocol buffer services" in some contexts,
48
+ // such as by the "service" keyword in a .proto file, but they are different
49
+ // from API Services, which represent a concrete implementation of an interface
50
+ // as opposed to simply a description of methods and bindings. They are also
51
+ // sometimes simply referred to as "APIs" in other contexts, such as the name of
52
+ // this message itself. See https://cloud.google.com/apis/design/glossary for
53
+ // detailed terminology.
46
54
  message Api {
47
55
 
48
- // The fully qualified name of this api, including package name
49
- // followed by the api's simple name.
56
+ // The fully qualified name of this interface, including package name
57
+ // followed by the interface's simple name.
50
58
  string name = 1;
51
59
 
52
- // The methods of this api, in unspecified order.
60
+ // The methods of this interface, in unspecified order.
53
61
  repeated Method methods = 2;
54
62
 
55
- // Any metadata attached to the API.
63
+ // Any metadata attached to the interface.
56
64
  repeated Option options = 3;
57
65
 
58
- // A version string for this api. If specified, must have the form
59
- // `major-version.minor-version`, as in `1.10`. If the minor version
60
- // is omitted, it defaults to zero. If the entire version field is
61
- // empty, the major version is derived from the package name, as
62
- // outlined below. If the field is not empty, the version in the
63
- // package name will be verified to be consistent with what is
64
- // provided here.
66
+ // A version string for this interface. If specified, must have the form
67
+ // `major-version.minor-version`, as in `1.10`. If the minor version is
68
+ // omitted, it defaults to zero. If the entire version field is empty, the
69
+ // major version is derived from the package name, as outlined below. If the
70
+ // field is not empty, the version in the package name will be verified to be
71
+ // consistent with what is provided here.
65
72
  //
66
73
  // The versioning schema uses [semantic
67
74
  // versioning](http://semver.org) where the major version number
@@ -71,10 +78,10 @@ message Api {
71
78
  // chosen based on the product plan.
72
79
  //
73
80
  // The major version is also reflected in the package name of the
74
- // API, which must end in `v<major-version>`, as in
81
+ // interface, which must end in `v<major-version>`, as in
75
82
  // `google.feature.v1`. For major versions 0 and 1, the suffix can
76
83
  // be omitted. Zero major versions must only be used for
77
- // experimental, none-GA apis.
84
+ // experimental, non-GA interfaces.
78
85
  //
79
86
  //
80
87
  string version = 4;
@@ -83,14 +90,14 @@ message Api {
83
90
  // message.
84
91
  SourceContext source_context = 5;
85
92
 
86
- // Included APIs. See [Mixin][].
93
+ // Included interfaces. See [Mixin][].
87
94
  repeated Mixin mixins = 6;
88
95
 
89
96
  // The source syntax of the service.
90
97
  Syntax syntax = 7;
91
98
  }
92
99
 
93
- // Method represents a method of an api.
100
+ // Method represents a method of an API interface.
94
101
  message Method {
95
102
 
96
103
  // The simple name of this method.
@@ -115,9 +122,9 @@ message Method {
115
122
  Syntax syntax = 7;
116
123
  }
117
124
 
118
- // Declares an API to be included in this API. The including API must
119
- // redeclare all the methods from the included API, but documentation
120
- // and options are inherited as follows:
125
+ // Declares an API Interface to be included in this interface. The including
126
+ // interface must redeclare all the methods from the included interface, but
127
+ // documentation and options are inherited as follows:
121
128
  //
122
129
  // - If after comment and whitespace stripping, the documentation
123
130
  // string of the redeclared method is empty, it will be inherited
@@ -129,7 +136,8 @@ message Method {
129
136
  //
130
137
  // - If an http annotation is inherited, the path pattern will be
131
138
  // modified as follows. Any version prefix will be replaced by the
132
- // version of the including API plus the [root][] path if specified.
139
+ // version of the including interface plus the [root][] path if
140
+ // specified.
133
141
  //
134
142
  // Example of a simple mixin:
135
143
  //
@@ -193,7 +201,7 @@ message Method {
193
201
  // ...
194
202
  // }
195
203
  message Mixin {
196
- // The fully qualified name of the API which is included.
204
+ // The fully qualified name of the interface which is included.
197
205
  string name = 1;
198
206
 
199
207
  // If non-empty specifies a path under which inherited HTTP paths
@@ -91,6 +91,7 @@ message CodeGeneratorRequest {
91
91
 
92
92
  // The version number of protocol compiler.
93
93
  optional Version compiler_version = 3;
94
+
94
95
  }
95
96
 
96
97
  // The plugin writes an encoded CodeGeneratorResponse to stdout.
@@ -101,6 +101,8 @@ message DescriptorProto {
101
101
  message ExtensionRange {
102
102
  optional int32 start = 1;
103
103
  optional int32 end = 2;
104
+
105
+ optional ExtensionRangeOptions options = 3;
104
106
  }
105
107
  repeated ExtensionRange extension_range = 5;
106
108
 
@@ -121,6 +123,14 @@ message DescriptorProto {
121
123
  repeated string reserved_name = 10;
122
124
  }
123
125
 
126
+ message ExtensionRangeOptions {
127
+ // The parser stores options it doesn't recognize here. See above.
128
+ repeated UninterpretedOption uninterpreted_option = 999;
129
+
130
+ // Clients can define custom options in extensions of this message. See above.
131
+ extensions 1000 to max;
132
+ }
133
+
124
134
  // Describes a field within a message.
125
135
  message FieldDescriptorProto {
126
136
  enum Type {
@@ -351,6 +361,7 @@ message FileOptions {
351
361
  optional bool cc_generic_services = 16 [default=false];
352
362
  optional bool java_generic_services = 17 [default=false];
353
363
  optional bool py_generic_services = 18 [default=false];
364
+ optional bool php_generic_services = 19 [default=false];
354
365
 
355
366
  // Is this file deprecated?
356
367
  // Depending on the target platform, this can emit Deprecated annotations
@@ -380,6 +391,11 @@ message FileOptions {
380
391
  // from this .proto. Default is empty.
381
392
  optional string php_class_prefix = 40;
382
393
 
394
+ // Use this option to change the namespace of php generated classes. Default
395
+ // is empty. When this option is empty, the package name will be used for
396
+ // determining the namespace.
397
+ optional string php_namespace = 41;
398
+
383
399
  // The parser stores options it doesn't recognize here. See above.
384
400
  repeated UninterpretedOption uninterpreted_option = 999;
385
401
 
@@ -477,13 +493,15 @@ message FieldOptions {
477
493
 
478
494
  // The jstype option determines the JavaScript type used for values of the
479
495
  // field. The option is permitted only for 64 bit integral and fixed types
480
- // (int64, uint64, sint64, fixed64, sfixed64). By default these types are
481
- // represented as JavaScript strings. This avoids loss of precision that can
482
- // happen when a large value is converted to a floating point JavaScript
483
- // numbers. Specifying JS_NUMBER for the jstype causes the generated
484
- // JavaScript code to use the JavaScript "number" type instead of strings.
485
- // This option is an enum to permit additional types to be added,
486
- // e.g. goog.math.Integer.
496
+ // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
497
+ // is represented as JavaScript string, which avoids loss of precision that
498
+ // can happen when a large value is converted to a floating point JavaScript.
499
+ // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
500
+ // use the JavaScript "number" type. The behavior of the default option
501
+ // JS_NORMAL is implementation dependent.
502
+ //
503
+ // This option is an enum to permit additional types to be added, e.g.
504
+ // goog.math.Integer.
487
505
  optional JSType jstype = 6 [default = JS_NORMAL];
488
506
  enum JSType {
489
507
  // Use the default type.