aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-03-21 01:07:31 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-03-21 01:07:31 +0000
commit6bc71219927462570af684d58ac8156ad5606746 (patch)
tree7a78f45a08850d4051d9bd41b8ed9a50b862eacb
parent5204db5d96e4e644792bca9b8573b9ace85b80cf (diff)
parentd8e91115f58e811169236475b19fc53e64c326d1 (diff)
downloadgeneric-sdk-release.tar.gz
Snap for 11605179 from d8e91115f58e811169236475b19fc53e64c326d1 to sdk-releasesdk-release
Change-Id: I614b1f2f72372a009c0e2fc47c0e9477d1c26c27
-rw-r--r--Android.bp1
-rw-r--r--libnos/generator/Android.bp5
-rw-r--r--libnos/generator/BUILD4
-rw-r--r--libnos/generator/main.cpp34
4 files changed, 21 insertions, 23 deletions
diff --git a/Android.bp b/Android.bp
index 82c6d50..f924e41 100644
--- a/Android.bp
+++ b/Android.bp
@@ -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