summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>2012-10-29 19:15:34 +0200
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>2012-10-29 19:15:34 +0200
commit08391f35eeeac9583c9ae5010e5e37ca2a5bc0a4 (patch)
treeeed6a8a096327efbfcddd089989284c1c958ca99
parent3aaa4ad8c290af87d9bb9e24447f9cd6f9a79eab (diff)
Add nanopb version number to generated files.
tools/set_version.sh is used to update the values. Update issue 36 Status: FixedInGit
-rw-r--r--generator/nanopb_generator.py5
-rw-r--r--pb.h2
-rwxr-xr-xtools/set_version.sh10
3 files changed, 16 insertions, 1 deletions
diff --git a/generator/nanopb_generator.py b/generator/nanopb_generator.py
index bd164e03..dadad646 100644
--- a/generator/nanopb_generator.py
+++ b/generator/nanopb_generator.py
@@ -1,4 +1,5 @@
'''Generate header file for nanopb from a ProtoBuf FileDescriptorSet.'''
+nanopb_version = "nanopb-0.1.7-dev"
try:
import google.protobuf.descriptor_pb2 as descriptor
@@ -31,7 +32,7 @@ except:
# Generation of single fields
# ---------------------------------------------------------------------------
-
+import time
import os.path
# Values are tuple (c type, pb ltype)
@@ -429,6 +430,7 @@ def generate_header(dependencies, headername, enums, messages):
'''
yield '/* Automatically generated nanopb header */\n'
+ yield '/* Generated by %s at %s. */\n\n' % (nanopb_version, time.asctime())
symbol = headername.replace('.', '_').upper()
yield '#ifndef _PB_%s_\n' % symbol
@@ -516,6 +518,7 @@ def generate_source(headername, enums, messages):
'''Generate content for a source file.'''
yield '/* Automatically generated nanopb constant definitions */\n'
+ yield '/* Generated by %s at %s. */\n\n' % (nanopb_version, time.asctime())
yield '#include "%s"\n\n' % headername
for msg in messages:
diff --git a/pb.h b/pb.h
index 72b41963..cfcf6f75 100644
--- a/pb.h
+++ b/pb.h
@@ -6,6 +6,8 @@
* see pb_encode.h or pb_decode.h
*/
+#define NANOPB_VERSION nanopb-0.1.7-dev
+
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
diff --git a/tools/set_version.sh b/tools/set_version.sh
new file mode 100755
index 00000000..e15a859d
--- /dev/null
+++ b/tools/set_version.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# Run this from the top directory of nanopb tree.
+# e.g. user@localhost:~/nanopb$ tools/set_version.sh nanopb-0.1.9-dev
+# It sets the version number in pb.h and generator/nanopb_generator.py.
+
+sed -i -e 's/nanopb_version\s*=\s*"[^"]*"/nanopb_version = "'$1'"/' generator/nanopb_generator.py
+sed -i -e 's/#define\s*NANOPB_VERSION\s*.*/#define NANOPB_VERSION '$1'/' pb.h
+
+