This commit is contained in:
Andreas Schiffler 2022-08-10 09:28:37 +02:00
commit 4be61785d0
8 changed files with 44 additions and 8 deletions

View file

@ -0,0 +1,26 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2022 Thomas Basler and others
#
import pkg_resources
Import("env")
required_pkgs = {'dulwich'}
installed_pkgs = {pkg.key for pkg in pkg_resources.working_set}
missing_pkgs = required_pkgs - installed_pkgs
if missing_pkgs:
env.Execute('"$PYTHONEXE" -m pip install dulwich --global-option="--pure"')
from dulwich import porcelain
def get_firmware_specifier_build_flag():
build_version = porcelain.describe('../../') # refers to the repository root dir
build_flag = "-D AUTO_GIT_HASH=\\\"" + build_version + "\\\""
print ("Firmware Revision: " + build_version)
return (build_flag)
env.Append(
BUILD_FLAGS=[get_firmware_specifier_build_flag()]
)

View file

@ -0,0 +1,31 @@
import os
from datetime import date
def readVersion(path, infile):
f = open(path + infile, "r")
lines = f.readlines()
f.close()
today = date.today()
search = ["_MAJOR", "_MINOR", "_PATCH"]
version = today.strftime("%y%m%d") + "_ahoy_"
for line in lines:
if(line.find("VERSION_") != -1):
for s in search:
p = line.find(s)
if(p != -1):
version += line[p+13:].rstrip() + "."
os.mkdir(path + ".pio/build/out/")
versionout = version[:-1] + "_esp8266_node_mcu_v2.bin"
src = path + ".pio/build/node_mcu_v2/firmware.bin"
dst = path + ".pio/build/out/" + versionout
os.rename(src, dst)
versionout = version[:-1] + "_esp8266_d1_mini.bin"
src = path + ".pio/build/d1_mini/firmware.bin"
dst = path + ".pio/build/out/" + versionout
os.rename(src, dst)
readVersion("../", "defines.h")