diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-03-21 01:07:31 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-03-21 01:07:31 +0000 |
commit | 6bc71219927462570af684d58ac8156ad5606746 (patch) | |
tree | 7a78f45a08850d4051d9bd41b8ed9a50b862eacb | |
parent | 5204db5d96e4e644792bca9b8573b9ace85b80cf (diff) | |
parent | d8e91115f58e811169236475b19fc53e64c326d1 (diff) | |
download | generic-sdk-release.tar.gz |
Snap for 11605179 from d8e91115f58e811169236475b19fc53e64c326d1 to sdk-releasesdk-release
Change-Id: I614b1f2f72372a009c0e2fc47c0e9477d1c26c27
-rw-r--r-- | Android.bp | 1 | ||||
-rw-r--r-- | libnos/generator/Android.bp | 5 | ||||
-rw-r--r-- | libnos/generator/BUILD | 4 | ||||
-rw-r--r-- | libnos/generator/main.cpp | 34 |
4 files changed, 21 insertions, 23 deletions
@@ -188,6 +188,7 @@ cc_defaults { "-Wall", "-Wextra", "-Werror", + "-Wno-gcc-compat", "-Wno-gnu-zero-variadic-macro-arguments", "-Wno-zero-length-array", ], diff --git a/libnos/generator/Android.bp b/libnos/generator/Android.bp index a7cc964..9e5a688 100644 --- a/libnos/generator/Android.bp +++ b/libnos/generator/Android.bp @@ -30,6 +30,9 @@ cc_binary_host { "nos_proto_defaults", "nos_cc_defaults", ], - static_libs: ["libnosprotos"], + static_libs: [ + "libabsl_host", + "libnosprotos", + ], shared_libs: ["libprotoc"], } diff --git a/libnos/generator/BUILD b/libnos/generator/BUILD index fc8bc33..1f9ed42 100644 --- a/libnos/generator/BUILD +++ b/libnos/generator/BUILD @@ -3,12 +3,10 @@ cc_binary( srcs = [ "main.cpp", ], - copts = [ - "-std=c++11", - ], visibility = ["//visibility:public"], deps = [ "//host/generic/nugget/proto:nugget_protobuf_options_cc_proto", "@com_google_protobuf//:protoc_lib", + "@com_google_absl//absl/strings", ], ) diff --git a/libnos/generator/main.cpp b/libnos/generator/main.cpp index 25178c3..51acfa2 100644 --- a/libnos/generator/main.cpp +++ b/libnos/generator/main.cpp @@ -24,17 +24,16 @@ #include <google/protobuf/compiler/code_generator.h> #include <google/protobuf/io/printer.h> #include <google/protobuf/io/zero_copy_stream.h> -#include <google/protobuf/stubs/strutil.h> +#include "absl/strings/strip.h" +#include "absl/strings/str_cat.h" +#include "absl/strings/str_join.h" +#include "absl/strings/str_split.h" #include "nugget/protobuf/options.pb.h" using ::google::protobuf::FileDescriptor; -using ::google::protobuf::JoinStrings; using ::google::protobuf::MethodDescriptor; using ::google::protobuf::ServiceDescriptor; -using ::google::protobuf::Split; -using ::google::protobuf::SplitStringUsing; -using ::google::protobuf::StripSuffixString; using ::google::protobuf::compiler::CodeGenerator; using ::google::protobuf::compiler::OutputDirectory; using ::google::protobuf::io::Printer; @@ -61,8 +60,8 @@ std::string validateServiceOptions(const ServiceDescriptor& service) { template <typename Descriptor> std::vector<std::string> Packages(const Descriptor& descriptor) { - std::vector<std::string> namespaces; - SplitStringUsing(descriptor.full_name(), ".", &namespaces); + std::vector<std::string> namespaces = + absl::StrSplit(descriptor.full_name(), '.'); namespaces.pop_back(); // just take the package return namespaces; } @@ -73,23 +72,21 @@ std::string FullyQualifiedIdentifier(const Descriptor& descriptor) { if (namespaces.empty()) { return "::" + descriptor.name(); } else { - std::string namespace_path; - JoinStrings(namespaces, "::", &namespace_path); - return "::" + namespace_path + "::" + descriptor.name(); + return absl::StrCat("::", absl::StrJoin(namespaces, "::"), "::", descriptor.name()); } } template <typename Descriptor> std::string FullyQualifiedHeader(const Descriptor& descriptor) { - const auto packages = Packages(descriptor); - const auto file = Split(descriptor.file()->name(), "/").back(); - const auto header = StripSuffixString(file, ".proto") + ".pb.h"; + const std::vector<std::string> packages = Packages(descriptor); + const std::vector<std::string_view> path_components = + absl::StrSplit(descriptor.file()->name(), '/'); + const std::string file(path_components.back()); + const std::string header = absl::StrCat(absl::StripSuffix(file, ".proto"), ".pb.h"); if (packages.empty()) { return header; } else { - std::string package_path; - JoinStrings(packages, "/", &package_path); - return package_path + "/" + header; + return absl::StrCat(absl::StrJoin(packages, "/"), "/", header); } } @@ -270,6 +267,8 @@ uint32_t $class$::$method_name$(const $method_input_type$& request, $method_outp class CppNuggetServiceClientGenerator : public CodeGenerator { public: CppNuggetServiceClientGenerator() = default; + CppNuggetServiceClientGenerator(const CppNuggetServiceClientGenerator&) = delete; + CppNuggetServiceClientGenerator& operator=(const CppNuggetServiceClientGenerator&) = delete; ~CppNuggetServiceClientGenerator() override = default; bool Generate(const FileDescriptor* file, @@ -307,9 +306,6 @@ public: return true; } - -private: - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CppNuggetServiceClientGenerator); }; } // namespace |