From d2f48b5d8931a01ff5664aab7910f48028c5593b Mon Sep 17 00:00:00 2001 From: "Roman C. Podolski" Date: Thu, 17 Aug 2017 10:06:44 +0800 Subject: [PATCH] Fix protoc #2009 Fix bug described in #2009 and extend example in playground to include described scenario. --- playground/protoc/inc/message.proto | 2 ++ playground/protoc/inc/message_inc.proto | 4 ++++ playground/protoc/wscript | 2 +- waflib/extras/protoc.py | 4 ++-- 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 playground/protoc/inc/message_inc.proto diff --git a/playground/protoc/inc/message.proto b/playground/protoc/inc/message.proto index e526472a..544de892 100644 --- a/playground/protoc/inc/message.proto +++ b/playground/protoc/inc/message.proto @@ -1,5 +1,7 @@ package udp.tc.tests; +import "message_inc.proto"; + option java_package = "com.udp.tc.tests"; option java_outer_classname = "MessageProtos"; option cc_generic_services = false; diff --git a/playground/protoc/inc/message_inc.proto b/playground/protoc/inc/message_inc.proto new file mode 100644 index 00000000..5a7b4b39 --- /dev/null +++ b/playground/protoc/inc/message_inc.proto @@ -0,0 +1,4 @@ +message IncludeMe { + required int32 test = 1; + optional uint32 blah = 2; +} diff --git a/playground/protoc/wscript b/playground/protoc/wscript index c9622dcd..836ae759 100644 --- a/playground/protoc/wscript +++ b/playground/protoc/wscript @@ -12,7 +12,7 @@ def configure(conf): def build(bld): bld( features = 'cxx cxxshlib', - source = ['inc/message.proto'], + source = ['inc/message_inc.proto','inc/message.proto'], target = 'somelib', includes = ['inc']) diff --git a/waflib/extras/protoc.py b/waflib/extras/protoc.py index d285d88e..91ec0ce9 100644 --- a/waflib/extras/protoc.py +++ b/waflib/extras/protoc.py @@ -60,8 +60,8 @@ class protoc(Task): m = re.search(r'^import\s+"(.*)";.*(//)?.*', line) if m: dep = m.groups()[0] - for incpath in self.env.INCPATHS: - found = self.generator.includes_nodes.find_resource(dep) + for incnode in self.generator.includes_nodes: + found = incnode.find_resource(dep) if found: nodes.append(found) parse_node(found)