protobuf-cucumber 3.10.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.rubocop.yml +70 -0
  4. data/.rubocop_todo.yml +145 -0
  5. data/.travis.yml +40 -0
  6. data/.yardopts +5 -0
  7. data/CHANGES.md +344 -0
  8. data/CONTRIBUTING.md +16 -0
  9. data/Gemfile +3 -0
  10. data/LICENSE.txt +22 -0
  11. data/README.md +33 -0
  12. data/Rakefile +64 -0
  13. data/bin/protoc-gen-ruby +22 -0
  14. data/bin/rpc_server +5 -0
  15. data/install-protobuf.sh +28 -0
  16. data/lib/protobuf.rb +129 -0
  17. data/lib/protobuf/cli.rb +257 -0
  18. data/lib/protobuf/code_generator.rb +120 -0
  19. data/lib/protobuf/decoder.rb +28 -0
  20. data/lib/protobuf/deprecation.rb +117 -0
  21. data/lib/protobuf/descriptors.rb +3 -0
  22. data/lib/protobuf/descriptors/google/protobuf/compiler/plugin.pb.rb +62 -0
  23. data/lib/protobuf/descriptors/google/protobuf/descriptor.pb.rb +301 -0
  24. data/lib/protobuf/encoder.rb +11 -0
  25. data/lib/protobuf/enum.rb +365 -0
  26. data/lib/protobuf/exceptions.rb +9 -0
  27. data/lib/protobuf/field.rb +74 -0
  28. data/lib/protobuf/field/base_field.rb +380 -0
  29. data/lib/protobuf/field/base_field_object_definitions.rb +504 -0
  30. data/lib/protobuf/field/bool_field.rb +64 -0
  31. data/lib/protobuf/field/bytes_field.rb +78 -0
  32. data/lib/protobuf/field/double_field.rb +25 -0
  33. data/lib/protobuf/field/enum_field.rb +61 -0
  34. data/lib/protobuf/field/field_array.rb +104 -0
  35. data/lib/protobuf/field/field_hash.rb +122 -0
  36. data/lib/protobuf/field/fixed32_field.rb +25 -0
  37. data/lib/protobuf/field/fixed64_field.rb +28 -0
  38. data/lib/protobuf/field/float_field.rb +43 -0
  39. data/lib/protobuf/field/int32_field.rb +21 -0
  40. data/lib/protobuf/field/int64_field.rb +34 -0
  41. data/lib/protobuf/field/integer_field.rb +23 -0
  42. data/lib/protobuf/field/message_field.rb +51 -0
  43. data/lib/protobuf/field/sfixed32_field.rb +27 -0
  44. data/lib/protobuf/field/sfixed64_field.rb +28 -0
  45. data/lib/protobuf/field/signed_integer_field.rb +29 -0
  46. data/lib/protobuf/field/sint32_field.rb +21 -0
  47. data/lib/protobuf/field/sint64_field.rb +21 -0
  48. data/lib/protobuf/field/string_field.rb +51 -0
  49. data/lib/protobuf/field/uint32_field.rb +21 -0
  50. data/lib/protobuf/field/uint64_field.rb +21 -0
  51. data/lib/protobuf/field/varint_field.rb +77 -0
  52. data/lib/protobuf/generators/base.rb +85 -0
  53. data/lib/protobuf/generators/enum_generator.rb +39 -0
  54. data/lib/protobuf/generators/extension_generator.rb +27 -0
  55. data/lib/protobuf/generators/field_generator.rb +193 -0
  56. data/lib/protobuf/generators/file_generator.rb +262 -0
  57. data/lib/protobuf/generators/group_generator.rb +122 -0
  58. data/lib/protobuf/generators/message_generator.rb +104 -0
  59. data/lib/protobuf/generators/option_generator.rb +17 -0
  60. data/lib/protobuf/generators/printable.rb +160 -0
  61. data/lib/protobuf/generators/service_generator.rb +50 -0
  62. data/lib/protobuf/lifecycle.rb +33 -0
  63. data/lib/protobuf/logging.rb +39 -0
  64. data/lib/protobuf/message.rb +260 -0
  65. data/lib/protobuf/message/fields.rb +233 -0
  66. data/lib/protobuf/message/serialization.rb +85 -0
  67. data/lib/protobuf/optionable.rb +70 -0
  68. data/lib/protobuf/rpc/buffer.rb +78 -0
  69. data/lib/protobuf/rpc/client.rb +140 -0
  70. data/lib/protobuf/rpc/connectors/base.rb +221 -0
  71. data/lib/protobuf/rpc/connectors/ping.rb +89 -0
  72. data/lib/protobuf/rpc/connectors/socket.rb +78 -0
  73. data/lib/protobuf/rpc/connectors/zmq.rb +319 -0
  74. data/lib/protobuf/rpc/dynamic_discovery.pb.rb +50 -0
  75. data/lib/protobuf/rpc/env.rb +60 -0
  76. data/lib/protobuf/rpc/error.rb +28 -0
  77. data/lib/protobuf/rpc/error/client_error.rb +31 -0
  78. data/lib/protobuf/rpc/error/server_error.rb +43 -0
  79. data/lib/protobuf/rpc/middleware.rb +25 -0
  80. data/lib/protobuf/rpc/middleware/exception_handler.rb +40 -0
  81. data/lib/protobuf/rpc/middleware/logger.rb +95 -0
  82. data/lib/protobuf/rpc/middleware/request_decoder.rb +79 -0
  83. data/lib/protobuf/rpc/middleware/response_encoder.rb +83 -0
  84. data/lib/protobuf/rpc/middleware/runner.rb +18 -0
  85. data/lib/protobuf/rpc/rpc.pb.rb +64 -0
  86. data/lib/protobuf/rpc/rpc_method.rb +16 -0
  87. data/lib/protobuf/rpc/server.rb +39 -0
  88. data/lib/protobuf/rpc/servers/socket/server.rb +121 -0
  89. data/lib/protobuf/rpc/servers/socket/worker.rb +56 -0
  90. data/lib/protobuf/rpc/servers/socket_runner.rb +46 -0
  91. data/lib/protobuf/rpc/servers/zmq/broker.rb +194 -0
  92. data/lib/protobuf/rpc/servers/zmq/server.rb +321 -0
  93. data/lib/protobuf/rpc/servers/zmq/util.rb +48 -0
  94. data/lib/protobuf/rpc/servers/zmq/worker.rb +105 -0
  95. data/lib/protobuf/rpc/servers/zmq_runner.rb +70 -0
  96. data/lib/protobuf/rpc/service.rb +172 -0
  97. data/lib/protobuf/rpc/service_directory.rb +261 -0
  98. data/lib/protobuf/rpc/service_dispatcher.rb +45 -0
  99. data/lib/protobuf/rpc/service_filters.rb +250 -0
  100. data/lib/protobuf/rpc/stat.rb +119 -0
  101. data/lib/protobuf/socket.rb +21 -0
  102. data/lib/protobuf/tasks.rb +1 -0
  103. data/lib/protobuf/tasks/compile.rake +80 -0
  104. data/lib/protobuf/varint.rb +20 -0
  105. data/lib/protobuf/varint_pure.rb +31 -0
  106. data/lib/protobuf/version.rb +3 -0
  107. data/lib/protobuf/wire_type.rb +10 -0
  108. data/lib/protobuf/zmq.rb +21 -0
  109. data/profile.html +5103 -0
  110. data/proto/dynamic_discovery.proto +44 -0
  111. data/proto/google/protobuf/compiler/plugin.proto +147 -0
  112. data/proto/google/protobuf/descriptor.proto +779 -0
  113. data/proto/rpc.proto +69 -0
  114. data/protobuf-cucumber.gemspec +57 -0
  115. data/spec/benchmark/tasks.rb +143 -0
  116. data/spec/bin/protoc-gen-ruby_spec.rb +23 -0
  117. data/spec/encoding/all_types_spec.rb +103 -0
  118. data/spec/encoding/extreme_values_spec.rb +0 -0
  119. data/spec/functional/class_inheritance_spec.rb +52 -0
  120. data/spec/functional/code_generator_spec.rb +58 -0
  121. data/spec/functional/socket_server_spec.rb +59 -0
  122. data/spec/functional/zmq_server_spec.rb +105 -0
  123. data/spec/lib/protobuf/cli_spec.rb +317 -0
  124. data/spec/lib/protobuf/code_generator_spec.rb +87 -0
  125. data/spec/lib/protobuf/enum_spec.rb +307 -0
  126. data/spec/lib/protobuf/field/bool_field_spec.rb +91 -0
  127. data/spec/lib/protobuf/field/double_field_spec.rb +9 -0
  128. data/spec/lib/protobuf/field/enum_field_spec.rb +44 -0
  129. data/spec/lib/protobuf/field/field_array_spec.rb +105 -0
  130. data/spec/lib/protobuf/field/field_hash_spec.rb +168 -0
  131. data/spec/lib/protobuf/field/fixed32_field_spec.rb +7 -0
  132. data/spec/lib/protobuf/field/fixed64_field_spec.rb +7 -0
  133. data/spec/lib/protobuf/field/float_field_spec.rb +90 -0
  134. data/spec/lib/protobuf/field/int32_field_spec.rb +120 -0
  135. data/spec/lib/protobuf/field/int64_field_spec.rb +7 -0
  136. data/spec/lib/protobuf/field/message_field_spec.rb +132 -0
  137. data/spec/lib/protobuf/field/sfixed32_field_spec.rb +9 -0
  138. data/spec/lib/protobuf/field/sfixed64_field_spec.rb +9 -0
  139. data/spec/lib/protobuf/field/sint32_field_spec.rb +9 -0
  140. data/spec/lib/protobuf/field/sint64_field_spec.rb +9 -0
  141. data/spec/lib/protobuf/field/string_field_spec.rb +79 -0
  142. data/spec/lib/protobuf/field/uint32_field_spec.rb +7 -0
  143. data/spec/lib/protobuf/field/uint64_field_spec.rb +7 -0
  144. data/spec/lib/protobuf/field_spec.rb +192 -0
  145. data/spec/lib/protobuf/generators/base_spec.rb +154 -0
  146. data/spec/lib/protobuf/generators/enum_generator_spec.rb +82 -0
  147. data/spec/lib/protobuf/generators/extension_generator_spec.rb +42 -0
  148. data/spec/lib/protobuf/generators/field_generator_spec.rb +197 -0
  149. data/spec/lib/protobuf/generators/file_generator_spec.rb +119 -0
  150. data/spec/lib/protobuf/generators/message_generator_spec.rb +0 -0
  151. data/spec/lib/protobuf/generators/service_generator_spec.rb +99 -0
  152. data/spec/lib/protobuf/lifecycle_spec.rb +94 -0
  153. data/spec/lib/protobuf/message_spec.rb +944 -0
  154. data/spec/lib/protobuf/optionable_spec.rb +265 -0
  155. data/spec/lib/protobuf/rpc/client_spec.rb +66 -0
  156. data/spec/lib/protobuf/rpc/connectors/base_spec.rb +226 -0
  157. data/spec/lib/protobuf/rpc/connectors/ping_spec.rb +69 -0
  158. data/spec/lib/protobuf/rpc/connectors/socket_spec.rb +34 -0
  159. data/spec/lib/protobuf/rpc/connectors/zmq_spec.rb +110 -0
  160. data/spec/lib/protobuf/rpc/middleware/exception_handler_spec.rb +62 -0
  161. data/spec/lib/protobuf/rpc/middleware/logger_spec.rb +49 -0
  162. data/spec/lib/protobuf/rpc/middleware/request_decoder_spec.rb +115 -0
  163. data/spec/lib/protobuf/rpc/middleware/response_encoder_spec.rb +91 -0
  164. data/spec/lib/protobuf/rpc/servers/socket_server_spec.rb +38 -0
  165. data/spec/lib/protobuf/rpc/servers/zmq/server_spec.rb +43 -0
  166. data/spec/lib/protobuf/rpc/servers/zmq/util_spec.rb +55 -0
  167. data/spec/lib/protobuf/rpc/servers/zmq/worker_spec.rb +35 -0
  168. data/spec/lib/protobuf/rpc/service_directory_spec.rb +293 -0
  169. data/spec/lib/protobuf/rpc/service_dispatcher_spec.rb +35 -0
  170. data/spec/lib/protobuf/rpc/service_filters_spec.rb +517 -0
  171. data/spec/lib/protobuf/rpc/service_spec.rb +162 -0
  172. data/spec/lib/protobuf/rpc/stat_spec.rb +101 -0
  173. data/spec/lib/protobuf/varint_spec.rb +29 -0
  174. data/spec/lib/protobuf_spec.rb +105 -0
  175. data/spec/spec_helper.rb +42 -0
  176. data/spec/support/all.rb +6 -0
  177. data/spec/support/packed_field.rb +23 -0
  178. data/spec/support/protos/all_types.data.bin +0 -0
  179. data/spec/support/protos/all_types.data.txt +119 -0
  180. data/spec/support/protos/enum.pb.rb +63 -0
  181. data/spec/support/protos/enum.proto +37 -0
  182. data/spec/support/protos/extreme_values.data.bin +0 -0
  183. data/spec/support/protos/google_unittest.bin +0 -0
  184. data/spec/support/protos/google_unittest.pb.rb +798 -0
  185. data/spec/support/protos/google_unittest.proto +884 -0
  186. data/spec/support/protos/google_unittest_custom_options.bin +0 -0
  187. data/spec/support/protos/google_unittest_custom_options.pb.rb +361 -0
  188. data/spec/support/protos/google_unittest_custom_options.proto +424 -0
  189. data/spec/support/protos/google_unittest_import.pb.rb +55 -0
  190. data/spec/support/protos/google_unittest_import.proto +73 -0
  191. data/spec/support/protos/google_unittest_import_public.pb.rb +31 -0
  192. data/spec/support/protos/google_unittest_import_public.proto +41 -0
  193. data/spec/support/protos/map-test.bin +157 -0
  194. data/spec/support/protos/map-test.pb.rb +85 -0
  195. data/spec/support/protos/map-test.proto +68 -0
  196. data/spec/support/protos/multi_field_extensions.pb.rb +59 -0
  197. data/spec/support/protos/multi_field_extensions.proto +35 -0
  198. data/spec/support/protos/resource.pb.rb +172 -0
  199. data/spec/support/protos/resource.proto +137 -0
  200. data/spec/support/resource_service.rb +23 -0
  201. data/spec/support/server.rb +65 -0
  202. data/spec/support/test_app_file.rb +2 -0
  203. data/varint_prof.rb +82 -0
  204. metadata +579 -0
@@ -0,0 +1,120 @@
1
+ require 'active_support/core_ext/module/aliasing'
2
+ require 'protobuf/generators/file_generator'
3
+
4
+ module Protobuf
5
+ class CodeGenerator
6
+
7
+ CodeGeneratorFatalError = Class.new(RuntimeError)
8
+
9
+ def self.fatal(message)
10
+ fail CodeGeneratorFatalError, message
11
+ end
12
+
13
+ def self.print_tag_warning_suppress
14
+ STDERR.puts "Suppress tag warning output with PB_NO_TAG_WARNINGS=1."
15
+ def self.print_tag_warning_suppress; end # rubocop:disable Lint/DuplicateMethods, Lint/NestedMethodDefinition
16
+ end
17
+
18
+ def self.warn(message)
19
+ STDERR.puts("[WARN] #{message}")
20
+ end
21
+
22
+ private
23
+
24
+ attr_accessor :request
25
+
26
+ public
27
+
28
+ def initialize(request_bytes)
29
+ @request_bytes = request_bytes
30
+ self.request = ::Google::Protobuf::Compiler::CodeGeneratorRequest.decode(request_bytes)
31
+ end
32
+
33
+ def eval_unknown_extensions!
34
+ request.proto_file.each do |file_descriptor|
35
+ ::Protobuf::Generators::FileGenerator.new(file_descriptor).eval_unknown_extensions!
36
+ end
37
+ self.request = ::Google::Protobuf::Compiler::CodeGeneratorRequest.decode(@request_bytes)
38
+ end
39
+
40
+ def generate_file(file_descriptor)
41
+ ::Protobuf::Generators::FileGenerator.new(file_descriptor).generate_output_file
42
+ end
43
+
44
+ def response_bytes
45
+ generated_files = request.proto_file.map do |file_descriptor|
46
+ generate_file(file_descriptor)
47
+ end
48
+
49
+ ::Google::Protobuf::Compiler::CodeGeneratorResponse.encode(:file => generated_files)
50
+ end
51
+
52
+ Protobuf::Field::BaseField.module_eval do
53
+ def define_set_method!
54
+ end
55
+
56
+ def set_without_options(message_instance, bytes)
57
+ return message_instance[name] = decode(bytes) unless repeated?
58
+
59
+ if map?
60
+ hash = message_instance[name]
61
+ entry = decode(bytes)
62
+ # decoded value could be nil for an
63
+ # enum value that is not recognized
64
+ hash[entry.key] = entry.value unless entry.value.nil?
65
+ return hash[entry.key]
66
+ end
67
+
68
+ return message_instance[name] << decode(bytes) unless packed?
69
+
70
+ array = message_instance[name]
71
+ stream = StringIO.new(bytes)
72
+
73
+ if wire_type == ::Protobuf::WireType::VARINT
74
+ array << decode(Varint.decode(stream)) until stream.eof?
75
+ elsif wire_type == ::Protobuf::WireType::FIXED64
76
+ array << decode(stream.read(8)) until stream.eof?
77
+ elsif wire_type == ::Protobuf::WireType::FIXED32
78
+ array << decode(stream.read(4)) until stream.eof?
79
+ end
80
+ end
81
+
82
+ # Sets a MessageField that is known to be an option.
83
+ # We must allow fields to be set one at a time, as option syntax allows us to
84
+ # set each field within the option using a separate "option" line.
85
+ def set_with_options(message_instance, bytes)
86
+ if message_instance[name].is_a?(::Protobuf::Message)
87
+ gp = Google::Protobuf
88
+ if message_instance.is_a?(gp::EnumOptions) || message_instance.is_a?(gp::EnumValueOptions) ||
89
+ message_instance.is_a?(gp::FieldOptions) || message_instance.is_a?(gp::FileOptions) ||
90
+ message_instance.is_a?(gp::MethodOptions) || message_instance.is_a?(gp::ServiceOptions) ||
91
+ message_instance.is_a?(gp::MessageOptions)
92
+
93
+ original_field = message_instance[name]
94
+ decoded_field = decode(bytes)
95
+ decoded_field.each_field do |subfield, subvalue|
96
+ option_set(original_field, subfield, subvalue) { decoded_field.field?(subfield.tag) }
97
+ end
98
+ return
99
+ end
100
+ end
101
+
102
+ set_without_options(message_instance, bytes)
103
+ end
104
+ alias_method :set, :set_with_options
105
+
106
+ def option_set(message_field, subfield, subvalue)
107
+ return unless yield
108
+ if subfield.repeated?
109
+ message_field[subfield.tag].concat(subvalue)
110
+ elsif message_field[subfield.tag] && subvalue.is_a?(::Protobuf::Message)
111
+ subvalue.each_field do |f, v|
112
+ option_set(message_field[subfield.tag], f, v) { subvalue.field?(f.tag) }
113
+ end
114
+ else
115
+ message_field[subfield.tag] = subvalue
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,28 @@
1
+ module Protobuf
2
+ class Decoder
3
+
4
+ # Read bytes from +stream+ and pass to +message+ object.
5
+ def self.decode_each_field(stream)
6
+ until stream.eof?
7
+ bits = Varint.decode(stream)
8
+ wire_type = bits & 0x07
9
+ tag = bits >> 3
10
+
11
+ bytes = if wire_type == ::Protobuf::WireType::VARINT
12
+ Varint.decode(stream)
13
+ elsif wire_type == ::Protobuf::WireType::LENGTH_DELIMITED
14
+ value_length = Varint.decode(stream)
15
+ stream.read(value_length)
16
+ elsif wire_type == ::Protobuf::WireType::FIXED64
17
+ stream.read(8)
18
+ elsif wire_type == ::Protobuf::WireType::FIXED32
19
+ stream.read(4)
20
+ else
21
+ fail InvalidWireType, wire_type
22
+ end
23
+
24
+ yield(tag, bytes)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,117 @@
1
+ require 'active_support/deprecation'
2
+
3
+ module Protobuf
4
+ if ::ActiveSupport::Deprecation.is_a?(Class)
5
+ class DeprecationBase < ::ActiveSupport::Deprecation
6
+ def deprecate_methods(*args)
7
+ deprecation_options = { :deprecator => self }
8
+
9
+ if args.last.is_a?(Hash)
10
+ args.last.merge!(deprecation_options)
11
+ else
12
+ args.push(deprecation_options)
13
+ end
14
+
15
+ super
16
+ end
17
+
18
+ def deprecation_warning(deprecated_method_name, message = nil, caller_backtrace = nil)
19
+ # This ensures ActiveSupport::Deprecation doesn't look for the caller, which is very costly.
20
+ super(deprecated_method_name, message, caller_backtrace) unless ENV.key?('PB_IGNORE_DEPRECATIONS')
21
+ end
22
+ end
23
+
24
+ class Deprecation < DeprecationBase
25
+ def define_deprecated_methods(target_module, method_hash)
26
+ target_module.module_eval do
27
+ method_hash.each do |old_method, new_method|
28
+ alias_method old_method, new_method
29
+ end
30
+ end
31
+
32
+ deprecate_methods(target_module, method_hash)
33
+ end
34
+ end
35
+
36
+ class FieldDeprecation < DeprecationBase
37
+ # this is a convenience deprecator for deprecated proto fields
38
+
39
+ def deprecate_method(target_module, method_name)
40
+ deprecate_methods(target_module, method_name => target_module)
41
+ end
42
+
43
+ private
44
+
45
+ def deprecated_method_warning(method_name, target_module)
46
+ "#{target_module.name}##{method_name} field usage is deprecated"
47
+ end
48
+ end
49
+ else
50
+ # TODO: remove this clause when Rails < 4 support is no longer needed
51
+ deprecator = ::ActiveSupport::Deprecation.clone
52
+ deprecator.instance_eval do
53
+ def new(deprecation_horizon = nil, *)
54
+ self.deprecation_horizon = deprecation_horizon if deprecation_horizon
55
+ self
56
+ end
57
+ end
58
+ Deprecation = deprecator.clone
59
+ FieldDeprecation = deprecator.clone
60
+
61
+ Deprecation.instance_eval do
62
+ def define_deprecated_methods(target_module, method_hash)
63
+ target_module.module_eval do
64
+ method_hash.each do |old_method, new_method|
65
+ alias_method old_method, new_method
66
+ end
67
+ end
68
+
69
+ deprecate_methods(target_module, method_hash)
70
+ end
71
+ end
72
+
73
+ FieldDeprecation.instance_eval do
74
+ def deprecate_method(target_module, method_name)
75
+ deprecate_methods(target_module, method_name => target_module)
76
+ end
77
+
78
+ private
79
+
80
+ def deprecated_method_warning(method_name, target_module)
81
+ "#{target_module.name}##{method_name} field usage is deprecated"
82
+ end
83
+ end
84
+ end
85
+
86
+ def self.deprecator
87
+ @deprecator ||= Deprecation.new('4.0', to_s).tap do |deprecation|
88
+ deprecation.silenced = ENV.key?('PB_IGNORE_DEPRECATIONS')
89
+ deprecation.behavior = :stderr
90
+ end
91
+ end
92
+
93
+ def self.field_deprecator
94
+ @field_deprecator ||= FieldDeprecation.new.tap do |deprecation|
95
+ deprecation.silenced = ENV.key?('PB_IGNORE_DEPRECATIONS')
96
+ deprecation.behavior = :stderr
97
+ end
98
+ end
99
+
100
+ # Print Deprecation Warnings
101
+ #
102
+ # Default: true
103
+ #
104
+ # Simple boolean to define whether we want field deprecation warnings to
105
+ # be printed to stderr or not. The rpc_server has an option to set this value
106
+ # explicitly, or you can turn this option off by setting
107
+ # ENV['PB_IGNORE_DEPRECATIONS'] to a non-empty value.
108
+ #
109
+ # The rpc_server option will override the ENV setting.
110
+ def self.print_deprecation_warnings?
111
+ !field_deprecator.silenced
112
+ end
113
+
114
+ def self.print_deprecation_warnings=(value)
115
+ field_deprecator.silenced = !value
116
+ end
117
+ end
@@ -0,0 +1,3 @@
1
+ $LOAD_PATH << ::File.expand_path("../descriptors", __FILE__)
2
+ require 'google/protobuf/descriptor.pb'
3
+ require 'google/protobuf/compiler/plugin.pb'
@@ -0,0 +1,62 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf'
7
+
8
+
9
+ ##
10
+ # Imports
11
+ #
12
+ require 'google/protobuf/descriptor.pb'
13
+
14
+ module Google
15
+ module Protobuf
16
+ module Compiler
17
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
18
+
19
+ ##
20
+ # Message Classes
21
+ #
22
+ class CodeGeneratorRequest < ::Protobuf::Message; end
23
+ class CodeGeneratorResponse < ::Protobuf::Message
24
+ class File < ::Protobuf::Message; end
25
+
26
+ end
27
+
28
+
29
+
30
+ ##
31
+ # File Options
32
+ #
33
+ set_option :java_package, "com.google.protobuf.compiler"
34
+ set_option :java_outer_classname, "PluginProtos"
35
+
36
+
37
+ ##
38
+ # Message Fields
39
+ #
40
+ class CodeGeneratorRequest
41
+ repeated :string, :file_to_generate, 1
42
+ optional :string, :parameter, 2
43
+ repeated ::Google::Protobuf::FileDescriptorProto, :proto_file, 15
44
+ end
45
+
46
+ class CodeGeneratorResponse
47
+ class File
48
+ optional :string, :name, 1
49
+ optional :string, :insertion_point, 2
50
+ optional :string, :content, 15
51
+ end
52
+
53
+ optional :string, :error, 1
54
+ repeated ::Google::Protobuf::Compiler::CodeGeneratorResponse::File, :file, 15
55
+ end
56
+
57
+ end
58
+
59
+ end
60
+
61
+ end
62
+
@@ -0,0 +1,301 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf'
7
+
8
+ module Google
9
+ module Protobuf
10
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
11
+
12
+ ##
13
+ # Message Classes
14
+ #
15
+ class FileDescriptorSet < ::Protobuf::Message; end
16
+ class FileDescriptorProto < ::Protobuf::Message; end
17
+ class DescriptorProto < ::Protobuf::Message
18
+ class ExtensionRange < ::Protobuf::Message; end
19
+ class ReservedRange < ::Protobuf::Message; end
20
+
21
+ end
22
+
23
+ class FieldDescriptorProto < ::Protobuf::Message
24
+ class Type < ::Protobuf::Enum
25
+ define :TYPE_DOUBLE, 1
26
+ define :TYPE_FLOAT, 2
27
+ define :TYPE_INT64, 3
28
+ define :TYPE_UINT64, 4
29
+ define :TYPE_INT32, 5
30
+ define :TYPE_FIXED64, 6
31
+ define :TYPE_FIXED32, 7
32
+ define :TYPE_BOOL, 8
33
+ define :TYPE_STRING, 9
34
+ define :TYPE_GROUP, 10
35
+ define :TYPE_MESSAGE, 11
36
+ define :TYPE_BYTES, 12
37
+ define :TYPE_UINT32, 13
38
+ define :TYPE_ENUM, 14
39
+ define :TYPE_SFIXED32, 15
40
+ define :TYPE_SFIXED64, 16
41
+ define :TYPE_SINT32, 17
42
+ define :TYPE_SINT64, 18
43
+ end
44
+
45
+ class Label < ::Protobuf::Enum
46
+ define :LABEL_OPTIONAL, 1
47
+ define :LABEL_REQUIRED, 2
48
+ define :LABEL_REPEATED, 3
49
+ end
50
+
51
+ end
52
+
53
+ class OneofDescriptorProto < ::Protobuf::Message; end
54
+ class EnumDescriptorProto < ::Protobuf::Message; end
55
+ class EnumValueDescriptorProto < ::Protobuf::Message; end
56
+ class ServiceDescriptorProto < ::Protobuf::Message; end
57
+ class MethodDescriptorProto < ::Protobuf::Message; end
58
+ class FileOptions < ::Protobuf::Message
59
+ class OptimizeMode < ::Protobuf::Enum
60
+ define :SPEED, 1
61
+ define :CODE_SIZE, 2
62
+ define :LITE_RUNTIME, 3
63
+ end
64
+
65
+ end
66
+
67
+ class MessageOptions < ::Protobuf::Message; end
68
+ class FieldOptions < ::Protobuf::Message
69
+ class CType < ::Protobuf::Enum
70
+ define :STRING, 0
71
+ define :CORD, 1
72
+ define :STRING_PIECE, 2
73
+ end
74
+
75
+ class JSType < ::Protobuf::Enum
76
+ define :JS_NORMAL, 0
77
+ define :JS_STRING, 1
78
+ define :JS_NUMBER, 2
79
+ end
80
+
81
+ end
82
+
83
+ class EnumOptions < ::Protobuf::Message; end
84
+ class EnumValueOptions < ::Protobuf::Message; end
85
+ class ServiceOptions < ::Protobuf::Message; end
86
+ class MethodOptions < ::Protobuf::Message; end
87
+ class UninterpretedOption < ::Protobuf::Message
88
+ class NamePart < ::Protobuf::Message; end
89
+
90
+ end
91
+
92
+ class SourceCodeInfo < ::Protobuf::Message
93
+ class Location < ::Protobuf::Message; end
94
+
95
+ end
96
+
97
+
98
+
99
+ ##
100
+ # File Options
101
+ #
102
+ set_option :java_package, "com.google.protobuf"
103
+ set_option :java_outer_classname, "DescriptorProtos"
104
+ set_option :optimize_for, ::Google::Protobuf::FileOptions::OptimizeMode::SPEED
105
+ set_option :go_package, "descriptor"
106
+ set_option :objc_class_prefix, "GPB"
107
+ set_option :csharp_namespace, "Google.Protobuf.Reflection"
108
+
109
+
110
+ ##
111
+ # Message Fields
112
+ #
113
+ class FileDescriptorSet
114
+ repeated ::Google::Protobuf::FileDescriptorProto, :file, 1
115
+ end
116
+
117
+ class FileDescriptorProto
118
+ optional :string, :name, 1
119
+ optional :string, :package, 2
120
+ repeated :string, :dependency, 3
121
+ repeated :int32, :public_dependency, 10
122
+ repeated :int32, :weak_dependency, 11
123
+ repeated ::Google::Protobuf::DescriptorProto, :message_type, 4
124
+ repeated ::Google::Protobuf::EnumDescriptorProto, :enum_type, 5
125
+ repeated ::Google::Protobuf::ServiceDescriptorProto, :service, 6
126
+ repeated ::Google::Protobuf::FieldDescriptorProto, :extension, 7
127
+ optional ::Google::Protobuf::FileOptions, :options, 8
128
+ optional ::Google::Protobuf::SourceCodeInfo, :source_code_info, 9
129
+ optional :string, :syntax, 12
130
+ end
131
+
132
+ class DescriptorProto
133
+ class ExtensionRange
134
+ optional :int32, :start, 1
135
+ optional :int32, :end, 2
136
+ end
137
+
138
+ class ReservedRange
139
+ optional :int32, :start, 1
140
+ optional :int32, :end, 2
141
+ end
142
+
143
+ optional :string, :name, 1
144
+ repeated ::Google::Protobuf::FieldDescriptorProto, :field, 2
145
+ repeated ::Google::Protobuf::FieldDescriptorProto, :extension, 6
146
+ repeated ::Google::Protobuf::DescriptorProto, :nested_type, 3
147
+ repeated ::Google::Protobuf::EnumDescriptorProto, :enum_type, 4
148
+ repeated ::Google::Protobuf::DescriptorProto::ExtensionRange, :extension_range, 5
149
+ repeated ::Google::Protobuf::OneofDescriptorProto, :oneof_decl, 8
150
+ optional ::Google::Protobuf::MessageOptions, :options, 7
151
+ repeated ::Google::Protobuf::DescriptorProto::ReservedRange, :reserved_range, 9
152
+ repeated :string, :reserved_name, 10
153
+ end
154
+
155
+ class FieldDescriptorProto
156
+ optional :string, :name, 1
157
+ optional :int32, :number, 3
158
+ optional ::Google::Protobuf::FieldDescriptorProto::Label, :label, 4
159
+ optional ::Google::Protobuf::FieldDescriptorProto::Type, :type, 5
160
+ optional :string, :type_name, 6
161
+ optional :string, :extendee, 2
162
+ optional :string, :default_value, 7
163
+ optional :int32, :oneof_index, 9
164
+ optional :string, :json_name, 10
165
+ optional ::Google::Protobuf::FieldOptions, :options, 8
166
+ end
167
+
168
+ class OneofDescriptorProto
169
+ optional :string, :name, 1
170
+ end
171
+
172
+ class EnumDescriptorProto
173
+ optional :string, :name, 1
174
+ repeated ::Google::Protobuf::EnumValueDescriptorProto, :value, 2
175
+ optional ::Google::Protobuf::EnumOptions, :options, 3
176
+ end
177
+
178
+ class EnumValueDescriptorProto
179
+ optional :string, :name, 1
180
+ optional :int32, :number, 2
181
+ optional ::Google::Protobuf::EnumValueOptions, :options, 3
182
+ end
183
+
184
+ class ServiceDescriptorProto
185
+ optional :string, :name, 1
186
+ repeated ::Google::Protobuf::MethodDescriptorProto, :method, 2
187
+ optional ::Google::Protobuf::ServiceOptions, :options, 3
188
+ end
189
+
190
+ class MethodDescriptorProto
191
+ optional :string, :name, 1
192
+ optional :string, :input_type, 2
193
+ optional :string, :output_type, 3
194
+ optional ::Google::Protobuf::MethodOptions, :options, 4
195
+ optional :bool, :client_streaming, 5, :default => false
196
+ optional :bool, :server_streaming, 6, :default => false
197
+ end
198
+
199
+ class FileOptions
200
+ optional :string, :java_package, 1
201
+ optional :string, :java_outer_classname, 8
202
+ optional :bool, :java_multiple_files, 10, :default => false
203
+ optional :bool, :java_generate_equals_and_hash, 20, :default => false
204
+ optional :bool, :java_string_check_utf8, 27, :default => false
205
+ optional ::Google::Protobuf::FileOptions::OptimizeMode, :optimize_for, 9, :default => ::Google::Protobuf::FileOptions::OptimizeMode::SPEED
206
+ optional :string, :go_package, 11
207
+ optional :bool, :cc_generic_services, 16, :default => false
208
+ optional :bool, :java_generic_services, 17, :default => false
209
+ optional :bool, :py_generic_services, 18, :default => false
210
+ optional :bool, :deprecated, 23, :default => false
211
+ optional :bool, :cc_enable_arenas, 31, :default => false
212
+ optional :string, :objc_class_prefix, 36
213
+ optional :string, :csharp_namespace, 37
214
+ optional :bool, :javanano_use_deprecated_package, 38
215
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
216
+ # Extension Fields
217
+ extensions 1000...536870912
218
+ end
219
+
220
+ class MessageOptions
221
+ optional :bool, :message_set_wire_format, 1, :default => false
222
+ optional :bool, :no_standard_descriptor_accessor, 2, :default => false
223
+ optional :bool, :deprecated, 3, :default => false
224
+ optional :bool, :map_entry, 7
225
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
226
+ # Extension Fields
227
+ extensions 1000...536870912
228
+ end
229
+
230
+ class FieldOptions
231
+ optional ::Google::Protobuf::FieldOptions::CType, :ctype, 1, :default => ::Google::Protobuf::FieldOptions::CType::STRING
232
+ optional :bool, :packed, 2
233
+ optional ::Google::Protobuf::FieldOptions::JSType, :jstype, 6, :default => ::Google::Protobuf::FieldOptions::JSType::JS_NORMAL
234
+ optional :bool, :lazy, 5, :default => false
235
+ optional :bool, :deprecated, 3, :default => false
236
+ optional :bool, :weak, 10, :default => false
237
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
238
+ # Extension Fields
239
+ extensions 1000...536870912
240
+ end
241
+
242
+ class EnumOptions
243
+ optional :bool, :allow_alias, 2
244
+ optional :bool, :deprecated, 3, :default => false
245
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
246
+ # Extension Fields
247
+ extensions 1000...536870912
248
+ end
249
+
250
+ class EnumValueOptions
251
+ optional :bool, :deprecated, 1, :default => false
252
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
253
+ # Extension Fields
254
+ extensions 1000...536870912
255
+ end
256
+
257
+ class ServiceOptions
258
+ optional :bool, :deprecated, 33, :default => false
259
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
260
+ # Extension Fields
261
+ extensions 1000...536870912
262
+ end
263
+
264
+ class MethodOptions
265
+ optional :bool, :deprecated, 33, :default => false
266
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
267
+ # Extension Fields
268
+ extensions 1000...536870912
269
+ end
270
+
271
+ class UninterpretedOption
272
+ class NamePart
273
+ required :string, :name_part, 1
274
+ required :bool, :is_extension, 2
275
+ end
276
+
277
+ repeated ::Google::Protobuf::UninterpretedOption::NamePart, :name, 2
278
+ optional :string, :identifier_value, 3
279
+ optional :uint64, :positive_int_value, 4
280
+ optional :int64, :negative_int_value, 5
281
+ optional :double, :double_value, 6
282
+ optional :bytes, :string_value, 7
283
+ optional :string, :aggregate_value, 8
284
+ end
285
+
286
+ class SourceCodeInfo
287
+ class Location
288
+ repeated :int32, :path, 1, :packed => true
289
+ repeated :int32, :span, 2, :packed => true
290
+ optional :string, :leading_comments, 3
291
+ optional :string, :trailing_comments, 4
292
+ repeated :string, :leading_detached_comments, 6
293
+ end
294
+
295
+ repeated ::Google::Protobuf::SourceCodeInfo::Location, :location, 1
296
+ end
297
+
298
+ end
299
+
300
+ end
301
+