Generator: pass --include_imports when calling protoc (#494)
This fixes some cases where dependent files were not automatically found.
diff --git a/generator/nanopb_generator.py b/generator/nanopb_generator.py
index 977d91e..be77bc0 100755
--- a/generator/nanopb_generator.py
+++ b/generator/nanopb_generator.py
@@ -1974,13 +1974,13 @@
if filename.endswith(".proto"):
with TemporaryDirectory() as tmpdir:
tmpname = os.path.join(tmpdir, os.path.basename(filename) + ".pb")
- invoke_protoc(["protoc"] + include_path + ['-o' + tmpname, filename])
+ invoke_protoc(["protoc"] + include_path + ['--include_imports', '-o' + tmpname, filename])
data = open(tmpname, 'rb').read()
else:
data = open(filename, 'rb').read()
- fdesc = descriptor.FileDescriptorSet.FromString(data).file[0]
- fdescs[fdesc.name] = fdesc
+ for fdesc in descriptor.FileDescriptorSet.FromString(data).file:
+ fdescs[fdesc.name] = fdesc
# Process any include files first, in order to have them
# available as dependencies