diff --git a/upb_generator/BUILD b/upb_generator/BUILD index c31a0ccbd2..ceb2b37f49 100644 --- a/upb_generator/BUILD +++ b/upb_generator/BUILD @@ -110,6 +110,9 @@ bootstrap_cc_library( copts = UPB_DEFAULT_CPPOPTS, visibility = ["//upb:friend_generators"], deps = [ + "//src/google/protobuf/compiler:code_generator_lite", + "//upb:base", + "//upb:mem", "//upb:port", "@com_google_absl//absl/container:flat_hash_set", "@com_google_absl//absl/log:absl_check", diff --git a/upb_generator/c/BUILD b/upb_generator/c/BUILD index 70d22c3cf1..2af3ba6da9 100644 --- a/upb_generator/c/BUILD +++ b/upb_generator/c/BUILD @@ -40,7 +40,6 @@ bootstrap_cc_library( copts = UPB_DEFAULT_CPPOPTS, visibility = ["//pkg:__pkg__"], deps = [ - "//src/google/protobuf/compiler:code_generator", "//upb:base", "//upb:mem", "//upb:mini_table", diff --git a/upb_generator/c/generator.cc b/upb_generator/c/generator.cc index 302d6a9074..3c9056d041 100644 --- a/upb_generator/c/generator.cc +++ b/upb_generator/c/generator.cc @@ -28,7 +28,6 @@ #include "absl/strings/str_replace.h" #include "absl/strings/string_view.h" #include "absl/strings/substitute.h" -#include "google/protobuf/compiler/code_generator.h" #include "upb/base/descriptor_constants.h" #include "upb/base/status.hpp" #include "upb/base/string_view.h" diff --git a/upb_generator/minitable/BUILD b/upb_generator/minitable/BUILD index 42ed36172c..1c1b0f82bd 100644 --- a/upb_generator/minitable/BUILD +++ b/upb_generator/minitable/BUILD @@ -35,7 +35,7 @@ bootstrap_cc_library( ], copts = UPB_DEFAULT_CPPOPTS, deps = [ - "//src/google/protobuf/compiler:code_generator", + "//src/google/protobuf/compiler:code_generator_lite", "//upb:base", "//upb:mem", "//upb:mini_table", @@ -78,6 +78,7 @@ bootstrap_cc_library( copts = UPB_DEFAULT_CPPOPTS, visibility = ["//pkg:__pkg__"], deps = [ + "//src/google/protobuf/compiler:code_generator_lite", "//upb:base", "//upb:port", "@com_google_absl//absl/log:absl_check", diff --git a/upb_generator/minitable/generator.cc b/upb_generator/minitable/generator.cc index ef03c3de65..c2f955bcb6 100644 --- a/upb_generator/minitable/generator.cc +++ b/upb_generator/minitable/generator.cc @@ -18,7 +18,7 @@ #include "absl/strings/str_cat.h" #include "absl/strings/string_view.h" #include "absl/strings/substitute.h" -#include "google/protobuf/compiler/code_generator.h" +#include "google/protobuf/compiler/code_generator_lite.h" #include "upb/mini_table/enum.h" #include "upb/mini_table/field.h" #include "upb/mini_table/internal/field.h" diff --git a/upb_generator/minitable/main.cc b/upb_generator/minitable/main.cc index 00a943b2a8..9f3695bcef 100644 --- a/upb_generator/minitable/main.cc +++ b/upb_generator/minitable/main.cc @@ -6,10 +6,13 @@ // https://developers.google.com/open-source/licenses/bsd #include +#include +#include #include "absl/log/absl_log.h" #include "absl/strings/string_view.h" #include "absl/strings/substitute.h" +#include "google/protobuf/compiler/code_generator_lite.h" #include "upb/base/status.hpp" #include "upb/base/string_view.h" #include "upb/reflection/def.hpp" diff --git a/upb_generator/plugin.h b/upb_generator/plugin.h index b5edda151f..c75bd033e2 100644 --- a/upb_generator/plugin.h +++ b/upb_generator/plugin.h @@ -10,8 +10,11 @@ #include +#include #include +#include #include + #ifdef _WIN32 #include #include @@ -19,8 +22,12 @@ #include "absl/container/flat_hash_set.h" #include "absl/log/absl_log.h" -#include "absl/strings/str_split.h" #include "absl/strings/string_view.h" +#include "google/protobuf/compiler/code_generator_lite.h" +#include "upb/base/status.hpp" +#include "upb/base/string_view.h" +#include "upb/mem/arena.h" +#include "upb/mem/arena.hpp" #include "upb/reflection/def.hpp" #include "upb/reflection/descriptor_bootstrap.h" #include "upb_generator/plugin_bootstrap.h" @@ -34,17 +41,7 @@ namespace generator { inline std::vector> ParseGeneratorParameter( const absl::string_view text) { std::vector> ret; - for (absl::string_view sp : absl::StrSplit(text, ',', absl::SkipEmpty())) { - std::string::size_type equals_pos = sp.find_first_of('='); - std::pair value; - if (equals_pos == std::string::npos) { - value.first = std::string(sp); - } else { - value.first = std::string(sp.substr(0, equals_pos)); - value.second = std::string(sp.substr(equals_pos + 1)); - } - ret.push_back(std::move(value)); - } + google::protobuf::compiler::ParseGeneratorParameter(text, &ret); return ret; }