Improve build and integrate firmware versioning
This commit is contained in:
29
extra_pre.py
29
extra_pre.py
@@ -5,11 +5,12 @@ import sys
|
||||
import inspect
|
||||
import gzip
|
||||
import shutil
|
||||
from datetime import datetime
|
||||
|
||||
Import("env")
|
||||
|
||||
GEN_DIR = 'lib/generated'
|
||||
OWN_FILE = "extra_script.py"
|
||||
OWN_FILE = "extra_pre.py"
|
||||
|
||||
INDEXJS = "index.js"
|
||||
INDEXCSS = "index.css"
|
||||
@@ -118,6 +119,7 @@ def join_files(target, filename, dirlist):
|
||||
|
||||
def prebuild(env):
|
||||
print("#prebuild running")
|
||||
#versfmt = env.GetProjectOption('versionformat')
|
||||
|
||||
# directory for dynamically generated files
|
||||
gendir = os.path.join(basePath(), GEN_DIR)
|
||||
@@ -159,6 +161,29 @@ def prebuild(env):
|
||||
content += 'EMBED_GZ_FILE("{}", {}, "{}");\n'.format(*entry)
|
||||
write_file_if_changed(os.path.join(gendir, EMBEDDED_INCLUDE), content)
|
||||
|
||||
print("#prescript...")
|
||||
# prepare version information
|
||||
versfmt = env.GetProjectOption('custom_versionformat')
|
||||
if versfmt == 'DEVELOP':
|
||||
print("Develop version style")
|
||||
version = "dev"+datetime.now().strftime("%Y%m%d")
|
||||
else:
|
||||
print("Production version style")
|
||||
version = env.GetProjectOption('custom_version')
|
||||
|
||||
now = datetime.utcnow()
|
||||
env.Append(
|
||||
CPPDEFINES=[
|
||||
('FWVERSION', version),
|
||||
("FWBUILDDATE", f"{now:%Y-%m-%d}"),
|
||||
("FWBUILDTIME", f"{now:%H:%M:%S}"),
|
||||
]
|
||||
)
|
||||
|
||||
print("##prescript...")
|
||||
prebuild(env)
|
||||
|
||||
# We are using our custom ESP-IDF firmware descriptor
|
||||
env.Append(
|
||||
LINKFLAGS = [ "-u", "custom_app_desc" ]
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user