Richard Wackerbarth
9 years ago
2 changed files with 65 additions and 2 deletions
@ -0,0 +1,57 @@ |
|||
#/usr/bin/env python - |
|||
from SCons.Script import DefaultEnvironment |
|||
|
|||
env = DefaultEnvironment() |
|||
|
|||
import os |
|||
import errno |
|||
|
|||
def make_sure_path_exists(path): |
|||
try: |
|||
os.makedirs(path) |
|||
except OSError as exception: |
|||
if exception.errno != errno.EEXIST: |
|||
raise |
|||
|
|||
import subprocess |
|||
|
|||
make_sure_path_exists(env.subst('$BUILDSRC_DIR')) |
|||
|
|||
from datetime import datetime |
|||
import time |
|||
import string |
|||
import re |
|||
|
|||
p = subprocess.Popen(['git', 'symbolic-ref', '-q', '--short', 'HEAD'], stdout=subprocess.PIPE) |
|||
BRANCH = p.stdout.readline().rstrip() |
|||
p = subprocess.Popen(['git', 'describe', '--tags', '--first-parent'], stdout=subprocess.PIPE) |
|||
RAW_VERSION = p.stdout.readline().rstrip() |
|||
s = re.search('(.*)(-.*)(-.*)',RAW_VERSION) |
|||
SHORT_VERSION = s.group(1)+' '+BRANCH |
|||
DETAILED_VERSION = string.replace(RAW_VERSION,'-',' '+BRANCH+'-',1) |
|||
p = subprocess.Popen(['git', 'config', '--local', '--get', 'remote.origin.url'], stdout=subprocess.PIPE) |
|||
|
|||
|
|||
try: |
|||
s = re.search('(.*github.com:)(.*)', p.stdout.readline().rstrip()) |
|||
URL = string.replace("https://github.com/"+s.group(2), ".git", "/") |
|||
|
|||
url_text = """#define SOURCE_CODE_URL "%s" |
|||
// Deprecated URL definition |
|||
#define FIRMWARE_URL "%s" |
|||
""" % (URL, URL) |
|||
except Exception, e: |
|||
url_text = "" |
|||
|
|||
version_header_text = """/* This file is automatically generated by a compile time hook |
|||
* Do not manually edit it |
|||
* It does not get committed to the repository |
|||
*/ |
|||
|
|||
#define BUILD_UNIX_DATETIME %s |
|||
#define STRING_DISTRIBUTION_DATE "%s" |
|||
#define SHORT_BUILD_VERSION "%s" |
|||
#define DETAILED_BUILD_VERSION "%s" |
|||
%s""" % (int(time.time()), datetime.now().strftime('%Y-%m-%d %H:%M'),SHORT_VERSION, DETAILED_VERSION, url_text) |
|||
|
|||
open(env.subst('$BUILDSRC_DIR/_Version.h'), 'w').write(version_header_text) |
Loading…
Reference in new issue