Add nanopb version number to generated files.
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>
Mon, 29 Oct 2012 17:15:34 +0000 (19:15 +0200)
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>
Mon, 29 Oct 2012 17:15:34 +0000 (19:15 +0200)
tools/set_version.sh is used to update the values.

Update issue 36
Status: FixedInGit

generator/nanopb_generator.py
pb.h
tools/set_version.sh [new file with mode: 0755]

index bd164e0..dadad64 100644 (file)
@@ -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 72b4196..cfcf6f7 100644 (file)
--- 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 (executable)
index 0000000..e15a859
--- /dev/null
@@ -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
+
+