| 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 |