diff options
author | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2018-11-10 14:45:20 +0200 |
---|---|---|
committer | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2019-12-14 09:48:05 +0200 |
commit | 29440cd9b9000a38ad6f6d91d1b9c7be1f7cd50c (patch) | |
tree | 977a8da591adb1fed97e45e9881d97baa2d389a7 | |
parent | e32e7c7ee2a472a50bc17e25bb13472fb1ddf53c (diff) | |
download | nanopb-c-29440cd9b9000a38ad6f6d91d1b9c7be1f7cd50c.tar.gz |
Automatically rebuild nanopb_pb2.py
-rw-r--r-- | generator/proto/__init__.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/generator/proto/__init__.py b/generator/proto/__init__.py index e69de29..96b2ee0 100644 --- a/generator/proto/__init__.py +++ b/generator/proto/__init__.py @@ -0,0 +1,19 @@ +'''This file automatically rebuilds the proto definitions for Python.''' + +import os +import os.path +import sys +import subprocess + +dirname = os.path.dirname(__file__) +protosrc = os.path.join(dirname, "nanopb.proto") +protodst = os.path.join(dirname, "nanopb_pb2.py") + +if os.path.isfile(protosrc): + src_date = os.path.getmtime(protosrc) + if not os.path.isfile(protodst) or os.path.getmtime(protodst) < src_date: + cmd = ["protoc", "--python_out=.", "nanopb.proto", "plugin.proto"] + status = subprocess.call(cmd, cwd = dirname) + if status != 0: + sys.stderr.write("Failed to build nanopb_pb2.py: " + ' '.join(cmd) + "\n") + |