gapic-generator 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +13 -0
  3. data/CHANGELOG.md +34 -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/gem_builder.rb +98 -0
  30. data/lib/gapic/generator.rb +30 -0
  31. data/lib/gapic/generator/version.rb +21 -0
  32. data/lib/gapic/generators/base_generator.rb +91 -0
  33. data/lib/gapic/generators/default_generator.rb +101 -0
  34. data/lib/gapic/grpc_service_config/method_config.rb +49 -0
  35. data/lib/gapic/grpc_service_config/parser.rb +218 -0
  36. data/lib/gapic/grpc_service_config/parsing_error.rb +25 -0
  37. data/lib/gapic/grpc_service_config/retry_policy.rb +51 -0
  38. data/lib/gapic/grpc_service_config/service_config.rb +42 -0
  39. data/lib/gapic/path_template.rb +35 -0
  40. data/lib/gapic/path_template/parser.rb +83 -0
  41. data/lib/gapic/path_template/segment.rb +67 -0
  42. data/lib/gapic/resource_lookup.rb +91 -0
  43. data/lib/gapic/runner.rb +76 -0
  44. data/lib/gapic/schema.rb +17 -0
  45. data/lib/gapic/schema/api.rb +264 -0
  46. data/lib/gapic/schema/loader.rb +269 -0
  47. data/lib/gapic/schema/wrappers.rb +718 -0
  48. data/lib/google/api/annotations.pb.rb +39 -0
  49. data/lib/google/api/client.pb.rb +43 -0
  50. data/lib/google/api/field_behavior.pb.rb +51 -0
  51. data/lib/google/api/http.pb.rb +60 -0
  52. data/lib/google/api/resource.pb.rb +80 -0
  53. data/lib/google/longrunning/operations.pb.rb +115 -0
  54. data/lib/google/protobuf/any.pb.rb +40 -0
  55. data/lib/google/protobuf/compiler/plugin.pb.rb +72 -0
  56. data/lib/google/protobuf/descriptor.pb.rb +359 -0
  57. data/lib/google/protobuf/empty.pb.rb +36 -0
  58. data/lib/google/rpc/status.pb.rb +46 -0
  59. data/templates/default/gem/_version.erb +2 -0
  60. data/templates/default/gem/changelog.erb +3 -0
  61. data/templates/default/gem/gemfile.erb +4 -0
  62. data/templates/default/gem/gemspec.erb +37 -0
  63. data/templates/default/gem/gitignore.erb +18 -0
  64. data/templates/default/gem/license.erb +22 -0
  65. data/templates/default/gem/rakefile.erb +27 -0
  66. data/templates/default/gem/readme.erb +24 -0
  67. data/templates/default/gem/rubocop.erb +59 -0
  68. data/templates/default/gem/version.erb +6 -0
  69. data/templates/default/gem/yardopts.erb +12 -0
  70. data/templates/default/helpers/default_helper.rb +45 -0
  71. data/templates/default/helpers/filepath_helper.rb +38 -0
  72. data/templates/default/helpers/namespace_helper.rb +44 -0
  73. data/templates/default/helpers/presenter_helper.rb +24 -0
  74. data/templates/default/helpers/presenters/enum_presenter.rb +35 -0
  75. data/templates/default/helpers/presenters/enum_value_presenter.rb +33 -0
  76. data/templates/default/helpers/presenters/field_presenter.rb +146 -0
  77. data/templates/default/helpers/presenters/file_presenter.rb +53 -0
  78. data/templates/default/helpers/presenters/gem_presenter.rb +140 -0
  79. data/templates/default/helpers/presenters/message_presenter.rb +66 -0
  80. data/templates/default/helpers/presenters/method_presenter.rb +293 -0
  81. data/templates/default/helpers/presenters/package_presenter.rb +65 -0
  82. data/templates/default/helpers/presenters/resource_presenter.rb +92 -0
  83. data/templates/default/helpers/presenters/sample_presenter.rb +74 -0
  84. data/templates/default/helpers/presenters/service_presenter.rb +276 -0
  85. data/templates/default/layouts/_ruby.erb +20 -0
  86. data/templates/default/package.erb +6 -0
  87. data/templates/default/proto_docs/_enum.erb +13 -0
  88. data/templates/default/proto_docs/_message.erb +23 -0
  89. data/templates/default/proto_docs/_proto_file.erb +9 -0
  90. data/templates/default/proto_docs/proto_file.erb +6 -0
  91. data/templates/default/proto_docs/readme.erb +5 -0
  92. data/templates/default/service.erb +8 -0
  93. data/templates/default/service/client.erb +6 -0
  94. data/templates/default/service/client/_client.erb +137 -0
  95. data/templates/default/service/client/_config.erb +155 -0
  96. data/templates/default/service/client/_credentials.erb +21 -0
  97. data/templates/default/service/client/_helpers.erb +9 -0
  98. data/templates/default/service/client/_operations.erb +88 -0
  99. data/templates/default/service/client/_paths.erb +8 -0
  100. data/templates/default/service/client/_requires.erb +1 -0
  101. data/templates/default/service/client/_resource.erb +6 -0
  102. data/templates/default/service/client/_self_configure.erb +9 -0
  103. data/templates/default/service/client/_self_configure_defaults.erb +22 -0
  104. data/templates/default/service/client/_self_configure_retry_policy.erb +15 -0
  105. data/templates/default/service/client/method/_def.erb +21 -0
  106. data/templates/default/service/client/method/def/_options_defaults.erb +29 -0
  107. data/templates/default/service/client/method/def/_request.erb +6 -0
  108. data/templates/default/service/client/method/def/_request_normal.erb +4 -0
  109. data/templates/default/service/client/method/def/_request_streaming.erb +9 -0
  110. data/templates/default/service/client/method/def/_rescue.erb +1 -0
  111. data/templates/default/service/client/method/def/_response.erb +6 -0
  112. data/templates/default/service/client/method/def/_response_normal.erb +8 -0
  113. data/templates/default/service/client/method/def/_response_paged.erb +9 -0
  114. data/templates/default/service/client/method/docs/_error.erb +2 -0
  115. data/templates/default/service/client/method/docs/_request.erb +6 -0
  116. data/templates/default/service/client/method/docs/_request_field.erb +7 -0
  117. data/templates/default/service/client/method/docs/_request_normal.erb +20 -0
  118. data/templates/default/service/client/method/docs/_request_streaming.erb +5 -0
  119. data/templates/default/service/client/method/docs/_response.erb +6 -0
  120. data/templates/default/service/client/method/docs/_sample.erb +20 -0
  121. data/templates/default/service/client/method/docs/_sample_response.erb +24 -0
  122. data/templates/default/service/client/method/docs/_samples.erb +6 -0
  123. data/templates/default/service/client/method/docs/request_field/_arg.erb +10 -0
  124. data/templates/default/service/client/method/docs/request_field/_hash.erb +19 -0
  125. data/templates/default/service/client/method/docs/sample_response/_comment.erb +5 -0
  126. data/templates/default/service/client/method/docs/sample_response/_define.erb +2 -0
  127. data/templates/default/service/client/method/docs/sample_response/_loop.erb +12 -0
  128. data/templates/default/service/client/method/docs/sample_response/_print.erb +2 -0
  129. data/templates/default/service/client/method/docs/sample_response/_write_file.erb +2 -0
  130. data/templates/default/service/client/resource/_def.erb +6 -0
  131. data/templates/default/service/client/resource/_doc.erb +8 -0
  132. data/templates/default/service/client/resource/_multi.erb +28 -0
  133. data/templates/default/service/client/resource/_single.erb +11 -0
  134. data/templates/default/service/credentials.erb +6 -0
  135. data/templates/default/service/operations.erb +6 -0
  136. data/templates/default/service/paths.erb +6 -0
  137. data/templates/default/service/test/client.erb +24 -0
  138. data/templates/default/service/test/client_operations.erb +24 -0
  139. data/templates/default/service/test/method/_assert_response.erb +11 -0
  140. data/templates/default/service/test/method/_bidi.erb +100 -0
  141. data/templates/default/service/test/method/_client.erb +84 -0
  142. data/templates/default/service/test/method/_normal.erb +69 -0
  143. data/templates/default/service/test/method/_server.erb +85 -0
  144. data/templates/default/service/test/method/_setup.erb +21 -0
  145. data/templates/default/service/test/smoke.erb +12 -0
  146. data/templates/default/shared/_header.erb +4 -0
  147. data/templates/default/shared/_license.erb +21 -0
  148. data/templates/default/shared/_warning.erb +1 -0
  149. metadata +350 -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
+