grpc
third_party
protobuf
src
google
protobuf
compiler
third_party/protobuf/src/google/protobuf/compiler/main.cc
Go to the documentation of this file.
1
// Protocol Buffers - Google's data interchange format
2
// Copyright 2008 Google Inc. All rights reserved.
3
// https://developers.google.com/protocol-buffers/
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// * Redistributions of source code must retain the above copyright
10
// notice, this list of conditions and the following disclaimer.
11
// * Redistributions in binary form must reproduce the above
12
// copyright notice, this list of conditions and the following disclaimer
13
// in the documentation and/or other materials provided with the
14
// distribution.
15
// * Neither the name of Google Inc. nor the names of its
16
// contributors may be used to endorse or promote products derived from
17
// this software without specific prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31
#include <google/protobuf/compiler/cpp/cpp_generator.h>
32
#include <google/protobuf/compiler/java/java_generator.h>
33
#include <
google/protobuf/compiler/java/java_kotlin_generator.h
>
34
#include <google/protobuf/compiler/js/js_generator.h>
35
#include <google/protobuf/compiler/command_line_interface.h>
36
#include <google/protobuf/compiler/python/python_generator.h>
37
#include <google/protobuf/compiler/csharp/csharp_generator.h>
38
#include <google/protobuf/compiler/objectivec/objectivec_generator.h>
39
#include <google/protobuf/compiler/php/php_generator.h>
40
#include <google/protobuf/compiler/ruby/ruby_generator.h>
41
42
#include <google/protobuf/port_def.inc>
43
44
namespace
google
{
45
namespace
protobuf
{
46
namespace
compiler
{
47
48
int
ProtobufMain
(
int
argc,
char
* argv[]) {
49
50
CommandLineInterface cli;
51
cli.AllowPlugins(
"protoc-"
);
52
53
// Proto2 C++
54
cpp::CppGenerator cpp_generator;
55
cli.RegisterGenerator(
"--cpp_out"
,
"--cpp_opt"
, &cpp_generator,
56
"Generate C++ header and source."
);
57
58
#ifdef GOOGLE_PROTOBUF_RUNTIME_INCLUDE_BASE
59
cpp_generator.set_opensource_runtime(
true
);
60
cpp_generator.set_runtime_include_base(GOOGLE_PROTOBUF_RUNTIME_INCLUDE_BASE);
61
#endif
62
63
// Proto2 Java
64
java::JavaGenerator java_generator;
65
cli.RegisterGenerator(
"--java_out"
,
"--java_opt"
, &java_generator,
66
"Generate Java source file."
);
67
68
// Proto2 Kotlin
69
java::KotlinGenerator kt_generator;
70
cli.RegisterGenerator(
"--kotlin_out"
,
"--kotlin_opt"
, &kt_generator,
71
"Generate Kotlin file."
);
72
73
74
// Proto2 Python
75
python::Generator
py_generator;
76
cli.RegisterGenerator(
"--python_out"
,
"--python_opt"
, &py_generator,
77
"Generate Python source file."
);
78
79
// PHP
80
php::Generator
php_generator;
81
cli.RegisterGenerator(
"--php_out"
,
"--php_opt"
, &php_generator,
82
"Generate PHP source file."
);
83
84
// Ruby
85
ruby::Generator
rb_generator;
86
cli.RegisterGenerator(
"--ruby_out"
,
"--ruby_opt"
, &rb_generator,
87
"Generate Ruby source file."
);
88
89
// CSharp
90
csharp::Generator
csharp_generator;
91
cli.RegisterGenerator(
"--csharp_out"
,
"--csharp_opt"
, &csharp_generator,
92
"Generate C# source file."
);
93
94
// Objective-C
95
objectivec::ObjectiveCGenerator objc_generator;
96
cli.RegisterGenerator(
"--objc_out"
,
"--objc_opt"
, &objc_generator,
97
"Generate Objective-C header and source."
);
98
99
// JavaScript
100
js::Generator
js_generator;
101
cli.RegisterGenerator(
"--js_out"
,
"--js_opt"
, &js_generator,
102
"Generate JavaScript source."
);
103
104
return
cli.Run(argc, argv);
105
}
106
107
}
// namespace compiler
108
}
// namespace protobuf
109
}
// namespace google
110
111
int
main
(
int
argc,
char
* argv[]) {
112
return
PROTOBUF_NAMESPACE_ID::compiler::ProtobufMain
(argc, argv);
113
}
google::protobuf::compiler::ProtobufMain
int ProtobufMain(int argc, char *argv[])
Definition:
third_party/bloaty/third_party/protobuf/src/google/protobuf/compiler/main.cc:50
java_kotlin_generator.h
google::protobuf
Definition:
bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:12
absl::types_internal::Generator
GeneratorType< Fun > Generator(Fun fun, const char *description)
Definition:
abseil-cpp/absl/types/internal/conformance_testing.h:96
main
int main(int argc, char *argv[])
Definition:
third_party/protobuf/src/google/protobuf/compiler/main.cc:111
compiler
Definition:
bloaty/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.cc:21
google
Definition:
bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:11
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:17