Improve generator error handling
diff --git a/generator/nanopb_generator.py b/generator/nanopb_generator.py
index 6afea96..a6e0d31 100755
--- a/generator/nanopb_generator.py
+++ b/generator/nanopb_generator.py
@@ -1747,7 +1747,7 @@
sys.stderr.write("%s:%d: " % (infile.name, i + 1) +
"Option lines should have space between field name and options. " +
"Skipping line: '%s'\n" % line)
- continue
+ sys.exit(1)
opts = nanopb_pb2.NanoPBOptions()
@@ -1757,7 +1757,7 @@
sys.stderr.write("%s:%d: " % (infile.name, i + 1) +
"Unparseable option line: '%s'. " % line +
"Error: %s\n" % str(e))
- continue
+ sys.exit(1)
results.append((parts[0], opts))
return results
@@ -1984,7 +1984,8 @@
if filename.endswith(".proto"):
with TemporaryDirectory() as tmpdir:
tmpname = os.path.join(tmpdir, os.path.basename(filename) + ".pb")
- invoke_protoc(["protoc"] + include_path + ['--include_imports', '-o' + tmpname, filename])
+ status = invoke_protoc(["protoc"] + include_path + ['--include_imports', '-o' + tmpname, filename])
+ if status != 0: sys.exit(status)
data = open(tmpname, 'rb').read()
else:
data = open(filename, 'rb').read()