gapic-generator 0.1.4

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.
Files changed (150) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +13 -0
  3. data/CHANGELOG.md +43 -0
  4. data/CODE_OF_CONDUCT.md +43 -0
  5. data/CONTRIBUTING.md +28 -0
  6. data/LICENSE +202 -0
  7. data/README.md +72 -0
  8. data/bin/gapic-generator +103 -0
  9. data/bin/protoc-gen-ruby_gapic +33 -0
  10. data/default-rubocop.yml +10 -0
  11. data/gem_templates/binary.erb +20 -0
  12. data/gem_templates/dockerfile.erb +39 -0
  13. data/gem_templates/entrypoint.erb +24 -0
  14. data/gem_templates/gapic_sh.erb +97 -0
  15. data/gem_templates/gemfile.erb +8 -0
  16. data/gem_templates/gemspec.erb +36 -0
  17. data/gem_templates/generator.erb +37 -0
  18. data/gem_templates/gitignore.erb +10 -0
  19. data/gem_templates/rakefile.erb +29 -0
  20. data/gem_templates/readme.erb +69 -0
  21. data/gem_templates/rubocop.erb +16 -0
  22. data/gem_templates/shared/_header.erb +4 -0
  23. data/gem_templates/shared/_license.erb +13 -0
  24. data/gem_templates/shared/_warning.erb +1 -0
  25. data/gem_templates/test_generator.erb +13 -0
  26. data/gem_templates/test_helper.erb +25 -0
  27. data/gem_templates/version.erb +10 -0
  28. data/lib/gapic/file_formatter.rb +62 -0
  29. data/lib/gapic/formatting_utils.rb +109 -0
  30. data/lib/gapic/gem_builder.rb +98 -0
  31. data/lib/gapic/generator.rb +30 -0
  32. data/lib/gapic/generator/version.rb +21 -0
  33. data/lib/gapic/generators/base_generator.rb +91 -0
  34. data/lib/gapic/generators/default_generator.rb +101 -0
  35. data/lib/gapic/grpc_service_config/method_config.rb +49 -0
  36. data/lib/gapic/grpc_service_config/parser.rb +218 -0
  37. data/lib/gapic/grpc_service_config/parsing_error.rb +25 -0
  38. data/lib/gapic/grpc_service_config/retry_policy.rb +51 -0
  39. data/lib/gapic/grpc_service_config/service_config.rb +42 -0
  40. data/lib/gapic/path_template.rb +35 -0
  41. data/lib/gapic/path_template/parser.rb +83 -0
  42. data/lib/gapic/path_template/segment.rb +67 -0
  43. data/lib/gapic/resource_lookup.rb +91 -0
  44. data/lib/gapic/runner.rb +76 -0
  45. data/lib/gapic/schema.rb +17 -0
  46. data/lib/gapic/schema/api.rb +264 -0
  47. data/lib/gapic/schema/loader.rb +269 -0
  48. data/lib/gapic/schema/wrappers.rb +717 -0
  49. data/lib/google/api/annotations.pb.rb +39 -0
  50. data/lib/google/api/client.pb.rb +43 -0
  51. data/lib/google/api/field_behavior.pb.rb +51 -0
  52. data/lib/google/api/http.pb.rb +60 -0
  53. data/lib/google/api/resource.pb.rb +80 -0
  54. data/lib/google/longrunning/operations.pb.rb +115 -0
  55. data/lib/google/protobuf/any.pb.rb +40 -0
  56. data/lib/google/protobuf/compiler/plugin.pb.rb +72 -0
  57. data/lib/google/protobuf/descriptor.pb.rb +359 -0
  58. data/lib/google/protobuf/empty.pb.rb +36 -0
  59. data/lib/google/rpc/status.pb.rb +46 -0
  60. data/templates/default/gem/_version.erb +2 -0
  61. data/templates/default/gem/changelog.erb +3 -0
  62. data/templates/default/gem/gemfile.erb +4 -0
  63. data/templates/default/gem/gemspec.erb +37 -0
  64. data/templates/default/gem/gitignore.erb +20 -0
  65. data/templates/default/gem/license.erb +22 -0
  66. data/templates/default/gem/rakefile.erb +27 -0
  67. data/templates/default/gem/readme.erb +24 -0
  68. data/templates/default/gem/rubocop.erb +59 -0
  69. data/templates/default/gem/version.erb +6 -0
  70. data/templates/default/gem/yardopts.erb +12 -0
  71. data/templates/default/helpers/default_helper.rb +50 -0
  72. data/templates/default/helpers/filepath_helper.rb +38 -0
  73. data/templates/default/helpers/namespace_helper.rb +44 -0
  74. data/templates/default/helpers/presenter_helper.rb +24 -0
  75. data/templates/default/helpers/presenters/enum_presenter.rb +35 -0
  76. data/templates/default/helpers/presenters/enum_value_presenter.rb +33 -0
  77. data/templates/default/helpers/presenters/field_presenter.rb +146 -0
  78. data/templates/default/helpers/presenters/file_presenter.rb +53 -0
  79. data/templates/default/helpers/presenters/gem_presenter.rb +140 -0
  80. data/templates/default/helpers/presenters/message_presenter.rb +66 -0
  81. data/templates/default/helpers/presenters/method_presenter.rb +293 -0
  82. data/templates/default/helpers/presenters/package_presenter.rb +65 -0
  83. data/templates/default/helpers/presenters/resource_presenter.rb +92 -0
  84. data/templates/default/helpers/presenters/sample_presenter.rb +74 -0
  85. data/templates/default/helpers/presenters/service_presenter.rb +276 -0
  86. data/templates/default/layouts/_ruby.erb +20 -0
  87. data/templates/default/package.erb +6 -0
  88. data/templates/default/proto_docs/_enum.erb +13 -0
  89. data/templates/default/proto_docs/_message.erb +23 -0
  90. data/templates/default/proto_docs/_proto_file.erb +9 -0
  91. data/templates/default/proto_docs/proto_file.erb +6 -0
  92. data/templates/default/proto_docs/readme.erb +5 -0
  93. data/templates/default/service.erb +8 -0
  94. data/templates/default/service/client.erb +6 -0
  95. data/templates/default/service/client/_client.erb +137 -0
  96. data/templates/default/service/client/_config.erb +155 -0
  97. data/templates/default/service/client/_credentials.erb +21 -0
  98. data/templates/default/service/client/_helpers.erb +9 -0
  99. data/templates/default/service/client/_operations.erb +88 -0
  100. data/templates/default/service/client/_paths.erb +8 -0
  101. data/templates/default/service/client/_requires.erb +1 -0
  102. data/templates/default/service/client/_resource.erb +6 -0
  103. data/templates/default/service/client/_self_configure.erb +9 -0
  104. data/templates/default/service/client/_self_configure_defaults.erb +22 -0
  105. data/templates/default/service/client/_self_configure_retry_policy.erb +15 -0
  106. data/templates/default/service/client/method/_def.erb +21 -0
  107. data/templates/default/service/client/method/def/_options_defaults.erb +29 -0
  108. data/templates/default/service/client/method/def/_request.erb +6 -0
  109. data/templates/default/service/client/method/def/_request_normal.erb +4 -0
  110. data/templates/default/service/client/method/def/_request_streaming.erb +9 -0
  111. data/templates/default/service/client/method/def/_rescue.erb +1 -0
  112. data/templates/default/service/client/method/def/_response.erb +6 -0
  113. data/templates/default/service/client/method/def/_response_normal.erb +8 -0
  114. data/templates/default/service/client/method/def/_response_paged.erb +9 -0
  115. data/templates/default/service/client/method/docs/_error.erb +2 -0
  116. data/templates/default/service/client/method/docs/_request.erb +6 -0
  117. data/templates/default/service/client/method/docs/_request_field.erb +7 -0
  118. data/templates/default/service/client/method/docs/_request_normal.erb +20 -0
  119. data/templates/default/service/client/method/docs/_request_streaming.erb +5 -0
  120. data/templates/default/service/client/method/docs/_response.erb +6 -0
  121. data/templates/default/service/client/method/docs/_sample.erb +20 -0
  122. data/templates/default/service/client/method/docs/_sample_response.erb +24 -0
  123. data/templates/default/service/client/method/docs/_samples.erb +6 -0
  124. data/templates/default/service/client/method/docs/request_field/_arg.erb +10 -0
  125. data/templates/default/service/client/method/docs/request_field/_hash.erb +19 -0
  126. data/templates/default/service/client/method/docs/sample_response/_comment.erb +5 -0
  127. data/templates/default/service/client/method/docs/sample_response/_define.erb +2 -0
  128. data/templates/default/service/client/method/docs/sample_response/_loop.erb +12 -0
  129. data/templates/default/service/client/method/docs/sample_response/_print.erb +2 -0
  130. data/templates/default/service/client/method/docs/sample_response/_write_file.erb +2 -0
  131. data/templates/default/service/client/resource/_def.erb +6 -0
  132. data/templates/default/service/client/resource/_doc.erb +8 -0
  133. data/templates/default/service/client/resource/_multi.erb +28 -0
  134. data/templates/default/service/client/resource/_single.erb +11 -0
  135. data/templates/default/service/credentials.erb +6 -0
  136. data/templates/default/service/operations.erb +6 -0
  137. data/templates/default/service/paths.erb +6 -0
  138. data/templates/default/service/test/client.erb +24 -0
  139. data/templates/default/service/test/client_operations.erb +24 -0
  140. data/templates/default/service/test/method/_assert_response.erb +11 -0
  141. data/templates/default/service/test/method/_bidi.erb +100 -0
  142. data/templates/default/service/test/method/_client.erb +84 -0
  143. data/templates/default/service/test/method/_normal.erb +69 -0
  144. data/templates/default/service/test/method/_server.erb +85 -0
  145. data/templates/default/service/test/method/_setup.erb +21 -0
  146. data/templates/default/service/test/smoke.erb +12 -0
  147. data/templates/default/shared/_header.erb +4 -0
  148. data/templates/default/shared/_license.erb +21 -0
  149. data/templates/default/shared/_warning.erb +1 -0
  150. metadata +351 -0
@@ -0,0 +1,39 @@
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/api/http.pb'
13
+ require 'google/protobuf/descriptor.pb'
14
+
15
+ module Google
16
+ module Api
17
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
18
+
19
+ ##
20
+ # File Options
21
+ #
22
+ set_option :java_package, "com.google.api"
23
+ set_option :java_outer_classname, "AnnotationsProto"
24
+ set_option :java_multiple_files, true
25
+ set_option :go_package, "google.golang.org/genproto/googleapis/api/annotations;annotations"
26
+ set_option :objc_class_prefix, "GAPI"
27
+
28
+
29
+ ##
30
+ # Extended Message Fields
31
+ #
32
+ class ::Google::Protobuf::MethodOptions < ::Protobuf::Message
33
+ optional ::Google::Api::HttpRule, :".google.api.http", 72295728, :extension => true
34
+ end
35
+
36
+ end
37
+
38
+ end
39
+
@@ -0,0 +1,43 @@
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 Api
16
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
17
+
18
+ ##
19
+ # File Options
20
+ #
21
+ set_option :java_package, "com.google.api"
22
+ set_option :java_outer_classname, "ClientProto"
23
+ set_option :java_multiple_files, true
24
+ set_option :go_package, "google.golang.org/genproto/googleapis/api/annotations;annotations"
25
+ set_option :objc_class_prefix, "GAPI"
26
+
27
+
28
+ ##
29
+ # Extended Message Fields
30
+ #
31
+ class ::Google::Protobuf::ServiceOptions < ::Protobuf::Message
32
+ optional :string, :".google.api.default_host", 1049, :extension => true
33
+ optional :string, :".google.api.oauth_scopes", 1050, :extension => true
34
+ end
35
+
36
+ class ::Google::Protobuf::MethodOptions < ::Protobuf::Message
37
+ repeated :string, :".google.api.method_signature", 1051, :extension => true
38
+ end
39
+
40
+ end
41
+
42
+ end
43
+
@@ -0,0 +1,51 @@
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 Api
16
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
17
+
18
+ ##
19
+ # Enum Classes
20
+ #
21
+ class FieldBehavior < ::Protobuf::Enum
22
+ define :FIELD_BEHAVIOR_UNSPECIFIED, 0
23
+ define :OPTIONAL, 1
24
+ define :REQUIRED, 2
25
+ define :OUTPUT_ONLY, 3
26
+ define :INPUT_ONLY, 4
27
+ define :IMMUTABLE, 5
28
+ end
29
+
30
+
31
+ ##
32
+ # File Options
33
+ #
34
+ set_option :java_package, "com.google.api"
35
+ set_option :java_outer_classname, "FieldBehaviorProto"
36
+ set_option :java_multiple_files, true
37
+ set_option :go_package, "google.golang.org/genproto/googleapis/api/annotations;annotations"
38
+ set_option :objc_class_prefix, "GAPI"
39
+
40
+
41
+ ##
42
+ # Extended Message Fields
43
+ #
44
+ class ::Google::Protobuf::FieldOptions < ::Protobuf::Message
45
+ repeated ::Google::Api::FieldBehavior, :".google.api.field_behavior", 1052, :extension => true
46
+ end
47
+
48
+ end
49
+
50
+ end
51
+
@@ -0,0 +1,60 @@
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 Api
10
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
11
+
12
+ ##
13
+ # Message Classes
14
+ #
15
+ class Http < ::Protobuf::Message; end
16
+ class HttpRule < ::Protobuf::Message; end
17
+ class CustomHttpPattern < ::Protobuf::Message; end
18
+
19
+
20
+ ##
21
+ # File Options
22
+ #
23
+ set_option :java_package, "com.google.api"
24
+ set_option :java_outer_classname, "HttpProto"
25
+ set_option :java_multiple_files, true
26
+ set_option :go_package, "google.golang.org/genproto/googleapis/api/annotations;annotations"
27
+ set_option :cc_enable_arenas, true
28
+ set_option :objc_class_prefix, "GAPI"
29
+
30
+
31
+ ##
32
+ # Message Fields
33
+ #
34
+ class Http
35
+ repeated ::Google::Api::HttpRule, :rules, 1
36
+ optional :bool, :fully_decode_reserved_expansion, 2
37
+ end
38
+
39
+ class HttpRule
40
+ optional :string, :selector, 1
41
+ optional :string, :get, 2
42
+ optional :string, :put, 3
43
+ optional :string, :post, 4
44
+ optional :string, :delete, 5
45
+ optional :string, :patch, 6
46
+ optional ::Google::Api::CustomHttpPattern, :custom, 8
47
+ optional :string, :body, 7
48
+ optional :string, :response_body, 12
49
+ repeated ::Google::Api::HttpRule, :additional_bindings, 11
50
+ end
51
+
52
+ class CustomHttpPattern
53
+ optional :string, :kind, 1
54
+ optional :string, :path, 2
55
+ end
56
+
57
+ end
58
+
59
+ end
60
+
@@ -0,0 +1,80 @@
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 Api
16
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
17
+
18
+ ##
19
+ # Message Classes
20
+ #
21
+ class ResourceDescriptor < ::Protobuf::Message
22
+ class History < ::Protobuf::Enum
23
+ define :HISTORY_UNSPECIFIED, 0
24
+ define :ORIGINALLY_SINGLE_PATTERN, 1
25
+ define :FUTURE_MULTI_PATTERN, 2
26
+ end
27
+
28
+ end
29
+
30
+ class ResourceReference < ::Protobuf::Message; end
31
+
32
+
33
+ ##
34
+ # File Options
35
+ #
36
+ set_option :java_package, "com.google.api"
37
+ set_option :java_outer_classname, "ResourceProto"
38
+ set_option :java_multiple_files, true
39
+ set_option :go_package, "google.golang.org/genproto/googleapis/api/annotations;annotations"
40
+ set_option :cc_enable_arenas, true
41
+ set_option :objc_class_prefix, "GAPI"
42
+
43
+
44
+ ##
45
+ # Message Fields
46
+ #
47
+ class ResourceDescriptor
48
+ optional :string, :type, 1
49
+ repeated :string, :pattern, 2
50
+ optional :string, :name_field, 3
51
+ optional ::Google::Api::ResourceDescriptor::History, :history, 4
52
+ optional :string, :plural, 5
53
+ optional :string, :singular, 6
54
+ end
55
+
56
+ class ResourceReference
57
+ optional :string, :type, 1
58
+ optional :string, :child_type, 2
59
+ end
60
+
61
+
62
+ ##
63
+ # Extended Message Fields
64
+ #
65
+ class ::Google::Protobuf::FieldOptions < ::Protobuf::Message
66
+ optional ::Google::Api::ResourceReference, :".google.api.resource_reference", 1055, :extension => true
67
+ end
68
+
69
+ class ::Google::Protobuf::FileOptions < ::Protobuf::Message
70
+ repeated ::Google::Api::ResourceDescriptor, :".google.api.resource_definition", 1053, :extension => true
71
+ end
72
+
73
+ class ::Google::Protobuf::MessageOptions < ::Protobuf::Message
74
+ optional ::Google::Api::ResourceDescriptor, :".google.api.resource", 1053, :extension => true
75
+ end
76
+
77
+ end
78
+
79
+ end
80
+
@@ -0,0 +1,115 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf'
7
+ require 'protobuf/rpc/service'
8
+
9
+
10
+ ##
11
+ # Imports
12
+ #
13
+ require 'google/api/annotations.pb'
14
+ require 'google/protobuf/any.pb'
15
+ require 'google/protobuf/descriptor.pb'
16
+ require 'google/protobuf/empty.pb'
17
+ require 'google/rpc/status.pb'
18
+
19
+ module Google
20
+ module Longrunning
21
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
22
+
23
+ ##
24
+ # Message Classes
25
+ #
26
+ class Operation < ::Protobuf::Message; end
27
+ class GetOperationRequest < ::Protobuf::Message; end
28
+ class ListOperationsRequest < ::Protobuf::Message; end
29
+ class ListOperationsResponse < ::Protobuf::Message; end
30
+ class CancelOperationRequest < ::Protobuf::Message; end
31
+ class DeleteOperationRequest < ::Protobuf::Message; end
32
+ class OperationInfo < ::Protobuf::Message; end
33
+
34
+
35
+ ##
36
+ # File Options
37
+ #
38
+ set_option :java_package, "com.google.longrunning"
39
+ set_option :java_outer_classname, "OperationsProto"
40
+ set_option :java_multiple_files, true
41
+ set_option :go_package, "google.golang.org/genproto/googleapis/longrunning;longrunning"
42
+ set_option :csharp_namespace, "Google.LongRunning"
43
+
44
+
45
+ ##
46
+ # Message Fields
47
+ #
48
+ class Operation
49
+ optional :string, :name, 1
50
+ optional ::Google::Protobuf::Any, :metadata, 2
51
+ optional :bool, :done, 3
52
+ optional ::Google::Rpc::Status, :error, 4
53
+ optional ::Google::Protobuf::Any, :response, 5
54
+ end
55
+
56
+ class GetOperationRequest
57
+ optional :string, :name, 1
58
+ end
59
+
60
+ class ListOperationsRequest
61
+ optional :string, :name, 4
62
+ optional :string, :filter, 1
63
+ optional :int32, :page_size, 2
64
+ optional :string, :page_token, 3
65
+ end
66
+
67
+ class ListOperationsResponse
68
+ repeated ::Google::Longrunning::Operation, :operations, 1
69
+ optional :string, :next_page_token, 2
70
+ end
71
+
72
+ class CancelOperationRequest
73
+ optional :string, :name, 1
74
+ end
75
+
76
+ class DeleteOperationRequest
77
+ optional :string, :name, 1
78
+ end
79
+
80
+ class OperationInfo
81
+ optional :string, :response_type, 1
82
+ optional :string, :metadata_type, 2
83
+ end
84
+
85
+
86
+ ##
87
+ # Extended Message Fields
88
+ #
89
+ class ::Google::Protobuf::MethodOptions < ::Protobuf::Message
90
+ optional ::Google::Longrunning::OperationInfo, :".google.longrunning.operation_info", 1049, :extension => true
91
+ end
92
+
93
+
94
+ ##
95
+ # Service Classes
96
+ #
97
+ class Operations < ::Protobuf::Rpc::Service
98
+ rpc :list_operations, ::Google::Longrunning::ListOperationsRequest, ::Google::Longrunning::ListOperationsResponse do
99
+ set_option :".google.api.http", { :get => "/v1/{name=operations}" }
100
+ end
101
+ rpc :get_operation, ::Google::Longrunning::GetOperationRequest, ::Google::Longrunning::Operation do
102
+ set_option :".google.api.http", { :get => "/v1/{name=operations/**}" }
103
+ end
104
+ rpc :delete_operation, ::Google::Longrunning::DeleteOperationRequest, ::Google::Protobuf::Empty do
105
+ set_option :".google.api.http", { :delete => "/v1/{name=operations/**}" }
106
+ end
107
+ rpc :cancel_operation, ::Google::Longrunning::CancelOperationRequest, ::Google::Protobuf::Empty do
108
+ set_option :".google.api.http", { :post => "/v1/{name=operations/**}:cancel", :body => "*" }
109
+ end
110
+ end
111
+
112
+ end
113
+
114
+ end
115
+
@@ -0,0 +1,40 @@
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 Any < ::Protobuf::Message; end
16
+
17
+
18
+ ##
19
+ # File Options
20
+ #
21
+ set_option :java_package, "com.google.protobuf"
22
+ set_option :java_outer_classname, "AnyProto"
23
+ set_option :java_multiple_files, true
24
+ set_option :go_package, "github.com/golang/protobuf/ptypes/any"
25
+ set_option :objc_class_prefix, "GPB"
26
+ set_option :csharp_namespace, "Google.Protobuf.WellKnownTypes"
27
+
28
+
29
+ ##
30
+ # Message Fields
31
+ #
32
+ class Any
33
+ optional :string, :type_url, 1
34
+ optional :bytes, :value, 2
35
+ end
36
+
37
+ end
38
+
39
+ end
40
+
@@ -0,0 +1,72 @@
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 Version < ::Protobuf::Message; end
23
+ class CodeGeneratorRequest < ::Protobuf::Message; end
24
+ class CodeGeneratorResponse < ::Protobuf::Message
25
+ class File < ::Protobuf::Message; end
26
+
27
+ end
28
+
29
+
30
+
31
+ ##
32
+ # File Options
33
+ #
34
+ set_option :java_package, "com.google.protobuf.compiler"
35
+ set_option :java_outer_classname, "PluginProtos"
36
+ set_option :go_package, "github.com/golang/protobuf/protoc-gen-go/plugin;plugin_go"
37
+
38
+
39
+ ##
40
+ # Message Fields
41
+ #
42
+ class Version
43
+ optional :int32, :major, 1
44
+ optional :int32, :minor, 2
45
+ optional :int32, :patch, 3
46
+ optional :string, :suffix, 4
47
+ end
48
+
49
+ class CodeGeneratorRequest
50
+ repeated :string, :file_to_generate, 1
51
+ optional :string, :parameter, 2
52
+ repeated ::Google::Protobuf::FileDescriptorProto, :proto_file, 15
53
+ optional ::Google::Protobuf::Compiler::Version, :compiler_version, 3
54
+ end
55
+
56
+ class CodeGeneratorResponse
57
+ class File
58
+ optional :string, :name, 1
59
+ optional :string, :insertion_point, 2
60
+ optional :string, :content, 15
61
+ end
62
+
63
+ optional :string, :error, 1
64
+ repeated ::Google::Protobuf::Compiler::CodeGeneratorResponse::File, :file, 15
65
+ end
66
+
67
+ end
68
+
69
+ end
70
+
71
+ end
72
+