OLD | NEW |
1 // Protocol Buffers - Google's data interchange format | 1 // Protocol Buffers - Google's data interchange format |
2 // Copyright 2008 Google Inc. All rights reserved. | 2 // Copyright 2008 Google Inc. All rights reserved. |
3 // https://developers.google.com/protocol-buffers/ | 3 // https://developers.google.com/protocol-buffers/ |
4 // | 4 // |
5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
7 // met: | 7 // met: |
8 // | 8 // |
9 // * Redistributions of source code must retain the above copyright | 9 // * Redistributions of source code must retain the above copyright |
10 // notice, this list of conditions and the following disclaimer. | 10 // notice, this list of conditions and the following disclaimer. |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 | 46 |
47 syntax = "proto2"; | 47 syntax = "proto2"; |
48 package google.protobuf.compiler; | 48 package google.protobuf.compiler; |
49 option java_package = "com.google.protobuf.compiler"; | 49 option java_package = "com.google.protobuf.compiler"; |
50 option java_outer_classname = "PluginProtos"; | 50 option java_outer_classname = "PluginProtos"; |
51 | 51 |
52 option go_package = "plugin_go"; | 52 option go_package = "plugin_go"; |
53 | 53 |
54 import "google/protobuf/descriptor.proto"; | 54 import "google/protobuf/descriptor.proto"; |
55 | 55 |
56 // The version number of protocol compiler. | |
57 message Version { | |
58 optional int32 major = 1; | |
59 optional int32 minor = 2; | |
60 optional int32 patch = 3; | |
61 // A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should | |
62 // be empty for mainline stable releases. | |
63 optional string suffix = 4; | |
64 } | |
65 | |
66 // An encoded CodeGeneratorRequest is written to the plugin's stdin. | 56 // An encoded CodeGeneratorRequest is written to the plugin's stdin. |
67 message CodeGeneratorRequest { | 57 message CodeGeneratorRequest { |
68 // The .proto files that were explicitly listed on the command-line. The | 58 // The .proto files that were explicitly listed on the command-line. The |
69 // code generator should generate code only for these files. Each file's | 59 // code generator should generate code only for these files. Each file's |
70 // descriptor will be included in proto_file, below. | 60 // descriptor will be included in proto_file, below. |
71 repeated string file_to_generate = 1; | 61 repeated string file_to_generate = 1; |
72 | 62 |
73 // The generator parameter passed on the command-line. | 63 // The generator parameter passed on the command-line. |
74 optional string parameter = 2; | 64 optional string parameter = 2; |
75 | 65 |
76 // FileDescriptorProtos for all files in files_to_generate and everything | 66 // FileDescriptorProtos for all files in files_to_generate and everything |
77 // they import. The files will appear in topological order, so each file | 67 // they import. The files will appear in topological order, so each file |
78 // appears before any file that imports it. | 68 // appears before any file that imports it. |
79 // | 69 // |
80 // protoc guarantees that all proto_files will be written after | 70 // protoc guarantees that all proto_files will be written after |
81 // the fields above, even though this is not technically guaranteed by the | 71 // the fields above, even though this is not technically guaranteed by the |
82 // protobuf wire format. This theoretically could allow a plugin to stream | 72 // protobuf wire format. This theoretically could allow a plugin to stream |
83 // in the FileDescriptorProtos and handle them one by one rather than read | 73 // in the FileDescriptorProtos and handle them one by one rather than read |
84 // the entire set into memory at once. However, as of this writing, this | 74 // the entire set into memory at once. However, as of this writing, this |
85 // is not similarly optimized on protoc's end -- it will store all fields in | 75 // is not similarly optimized on protoc's end -- it will store all fields in |
86 // memory at once before sending them to the plugin. | 76 // memory at once before sending them to the plugin. |
87 repeated FileDescriptorProto proto_file = 15; | 77 repeated FileDescriptorProto proto_file = 15; |
88 | |
89 // The version number of protocol compiler. | |
90 optional Version compiler_version = 3; | |
91 } | 78 } |
92 | 79 |
93 // The plugin writes an encoded CodeGeneratorResponse to stdout. | 80 // The plugin writes an encoded CodeGeneratorResponse to stdout. |
94 message CodeGeneratorResponse { | 81 message CodeGeneratorResponse { |
95 // Error message. If non-empty, code generation failed. The plugin process | 82 // Error message. If non-empty, code generation failed. The plugin process |
96 // should exit with status code zero even if it reports an error in this way. | 83 // should exit with status code zero even if it reports an error in this way. |
97 // | 84 // |
98 // This should be used to indicate errors in .proto files which prevent the | 85 // This should be used to indicate errors in .proto files which prevent the |
99 // code generator from generating correct code. Errors which indicate a | 86 // code generator from generating correct code. Errors which indicate a |
100 // problem in protoc itself -- such as the input CodeGeneratorRequest being | 87 // problem in protoc itself -- such as the input CodeGeneratorRequest being |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 // command line. | 141 // command line. |
155 // | 142 // |
156 // If |insertion_point| is present, |name| must also be present. | 143 // If |insertion_point| is present, |name| must also be present. |
157 optional string insertion_point = 2; | 144 optional string insertion_point = 2; |
158 | 145 |
159 // The file contents. | 146 // The file contents. |
160 optional string content = 15; | 147 optional string content = 15; |
161 } | 148 } |
162 repeated File file = 15; | 149 repeated File file = 15; |
163 } | 150 } |
OLD | NEW |