aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJisi Liu <jisi.liu@gmail.com>2016-07-15 12:30:10 -0700
committerJisi Liu <jisi.liu@gmail.com>2016-07-15 12:30:10 -0700
commitb702a16f277947a2ae6465192dd2f344bcb5f69f (patch)
tree74973762b749f6bb38c0f28817d2bd78b8567ca9
parent10a8fb4e73b3dada58123aeabc393288ac791dc8 (diff)
downloadprotobuf-b702a16f277947a2ae6465192dd2f344bcb5f69f.tar.gz
protobuf-b702a16f277947a2ae6465192dd2f344bcb5f69f.tar.bz2
protobuf-b702a16f277947a2ae6465192dd2f344bcb5f69f.zip
Add a javalite plugin.
-rw-r--r--src/Makefile.am5
-rw-r--r--src/google/protobuf/compiler/java/java_lite_main.cc34
2 files changed, 38 insertions, 1 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index b75b6f74..eac19b10 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -472,9 +472,11 @@ libprotoc_la_SOURCES = \
google/protobuf/compiler/csharp/csharp_wrapper_field.cc \
google/protobuf/compiler/csharp/csharp_wrapper_field.h
-bin_PROGRAMS = protoc
+bin_PROGRAMS = protoc protoc-gen-javalite
protoc_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la
protoc_SOURCES = google/protobuf/compiler/main.cc
+protoc_gen_javalite_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la
+protoc_gen_javalite_SOURCES = google/protobuf/compiler/java/java_lite_main.cc
# Tests ==============================================================
@@ -677,6 +679,7 @@ COMMON_TEST_SOURCES = \
check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \
protobuf-lite-test test_plugin protobuf-lite-arena-test \
+ protoc-gen-javalite \
$(GZCHECKPROGRAMS)
protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
../gmock/gtest/lib/libgtest.la \
diff --git a/src/google/protobuf/compiler/java/java_lite_main.cc b/src/google/protobuf/compiler/java/java_lite_main.cc
new file mode 100644
index 00000000..ffb4c2d5
--- /dev/null
+++ b/src/google/protobuf/compiler/java/java_lite_main.cc
@@ -0,0 +1,34 @@
+#include <google/protobuf/compiler/code_generator.h>
+#include <google/protobuf/compiler/java/java_generator.h>
+#include <google/protobuf/compiler/plugin.h>
+
+namespace google {
+namespace protobuf {
+namespace compiler {
+namespace java {
+
+class JavaLiteGenerator : public CodeGenerator {
+ public:
+ JavaLiteGenerator() {}
+ ~JavaLiteGenerator() {}
+ bool Generate(const FileDescriptor* file,
+ const string& parameter,
+ GeneratorContext* context,
+ string* error) const {
+ // Only pass 'lite' as the generator parameter.
+ return generator_.Generate(file, "lite", context, error);
+ }
+ private:
+ JavaGenerator generator_;
+ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(JavaLiteGenerator);
+};
+
+} // namespace java
+} // namespace compiler
+} // namespace protobuf
+} // namespace google
+
+int main(int argc, char* argv[]) {
+ google::protobuf::compiler::java::JavaLiteGenerator generator;
+ return google::protobuf::compiler::PluginMain(argc, argv, &generator);
+}