diff --git a/scripts/rename_fw.py b/scripts/rename_fw.py index c8a9a5a02..d8cc79ba9 100644 --- a/scripts/rename_fw.py +++ b/scripts/rename_fw.py @@ -1,7 +1,27 @@ #!/usr/bin/env python +import re Import("env") -# see http://docs.platformio.org/en/latest/projectconf/advanced_scripting.html#before-pre-and-after-post-actions -# env.Replace(PROGNAME="firmware_%s" % defines.get("VERSION")) -# print env.Dump() -env.Replace(PROGNAME="firmware_%s" % env['BOARD'] + "_" + env['PIOENV']) +bag = {} +exprs = [ + (re.compile(r'^#define APP_VERSION\s+"(\S+)"'), 'app_version'), + (re.compile(r'^#define APP_NAME\s+"(\S+)"'), 'app_name'), + (re.compile(r'^#define APP_HOSTNAME\s+"(\S+)"'), 'app_hostname'), + +] +with open('./src/version.h', 'r') as f: + for l in f.readlines(): + for expr, var in exprs: + m = expr.match(l) + if m and len(m.groups()) > 0: + bag[var] = m.group(1) + +app_version = bag.get('app_version') +app_name = bag.get('app_name') +app_hostname = bag.get('app_hostname') + +board = env['BOARD'] +branch = env['PIOENV'] + +# build filename, replacing . with _ for the version +env.Replace(PROGNAME="firmware_%s" % branch + "_" + app_version.replace(".", "_"))