Support empty package names in filewrapper tool

PiperOrigin-RevId: 259943587
Change-Id: I14d95dcd7d839903ebd12f4032e05e29bca17204
This commit is contained in:
Christian Blichmann 2019-07-25 07:36:34 -07:00 committed by Copybara-Service
parent 1b93745d00
commit db0ebe3650

View File

@ -150,9 +150,9 @@ constexpr const char kHFileFooterFmt[] =
// Format literals for generating the .cc file out of the input files. // Format literals for generating the .cc file out of the input files.
constexpr const char kCcFileHeaderFmt[] = constexpr const char kCcFileHeaderFmt[] =
R"(// Automatically generated by sapi_cc_embed_data() Bazel rule R"(// Automatically generated by sapi_cc_embed_data() build rule
#include "%s/%s.h" #include "%s.h"
#include "absl/base/macros.h" #include "absl/base/macros.h"
#include "absl/strings/string_view.h" #include "absl/strings/string_view.h"
@ -198,7 +198,7 @@ int main(int argc, char* argv[]) {
// We're not aiming for human usability here, as this tool is always run as // We're not aiming for human usability here, as this tool is always run as
// part of the build. // part of the build.
absl::FPrintF(stderr, absl::FPrintF(stderr,
"%s PACKAGE NAME NAMESPACE OUTPUT_H OUTPUT_CC INPUT...", "%s PACKAGE NAME NAMESPACE OUTPUT_H OUTPUT_CC INPUT...\n",
argv[0]); argv[0]);
return EXIT_FAILURE; return EXIT_FAILURE;
} }
@ -238,7 +238,12 @@ int main(int argc, char* argv[]) {
File out_cc(*arg++, "wb"); File out_cc(*arg++, "wb");
--argc; --argc;
absl::FPrintF(out_cc.get(), kCcFileHeaderFmt, package, name); std::string package_name = package;
if (!package_name.empty()) {
absl::StrAppend(&package_name, "/");
}
absl::StrAppend(&package_name, name);
absl::FPrintF(out_cc.get(), kCcFileHeaderFmt, package_name);
if (have_ns) { if (have_ns) {
absl::FPrintF(out_cc.get(), kCcNamespaceBeginFmt, ns); absl::FPrintF(out_cc.get(), kCcNamespaceBeginFmt, ns);
} }