Update Node plugin to handle well known type changes

pull/6912/head
murgatroid99 9 years ago
parent 245e997084
commit 20e5d9eb0a
  1. 14
      src/compiler/node_generator.cc

@ -74,8 +74,16 @@ grpc::string GetJSMessageFilename(const grpc::string& filename) {
// Given a filename like foo/bar/baz.proto, returns the root directory // Given a filename like foo/bar/baz.proto, returns the root directory
// path ../../ // path ../../
grpc::string GetRootPath(const grpc::string& filename) { grpc::string GetRootPath(const grpc::string& from_filename,
size_t slashes = std::count(filename.begin(), filename.end(), '/'); const grpc::string& to_filename) {
if (to_filename.find("google/protobuf") == 0) {
// Well-known types (.proto files in the google/protobuf directory) are
// assumed to come from the 'google-protobuf' npm package. We may want to
// generalize this exception later by letting others put generated code in
// their own npm packages.
return "google-protobuf/";
}
size_t slashes = std::count(from_filename.begin(), from_filename.end(), '/');
if (slashes == 0) { if (slashes == 0) {
return "./"; return "./";
} }
@ -90,7 +98,7 @@ grpc::string GetRootPath(const grpc::string& filename) {
// from_file, assuming that both paths are relative to the same directory // from_file, assuming that both paths are relative to the same directory
grpc::string GetRelativePath(const grpc::string& from_file, grpc::string GetRelativePath(const grpc::string& from_file,
const grpc::string& to_file) { const grpc::string& to_file) {
return GetRootPath(from_file) + to_file; return GetRootPath(from_file, to_file) + to_file;
} }
/* Finds all message types used in all services in the file, and returns them /* Finds all message types used in all services in the file, and returns them

Loading…
Cancel
Save