use template
This commit is contained in:
41
scripts/get_additionnal_envs.py
Normal file
41
scripts/get_additionnal_envs.py
Normal file
@ -0,0 +1,41 @@
|
||||
"""
|
||||
Add additionnal ENVs to the program
|
||||
|
||||
GIT_COMMIT: the git commit ID
|
||||
GIT_BRANCH: the current git branch
|
||||
GIT_TAG: the current git tag or "dev"
|
||||
|
||||
_note: to get the full list of env at build time run: `pio run -t envdump > pouet.log` and look at "BUILD_FLAGS_
|
||||
"""
|
||||
|
||||
import subprocess
|
||||
|
||||
Import("env")
|
||||
|
||||
def run_command(command):
|
||||
"""
|
||||
run a command on the system
|
||||
"""
|
||||
return subprocess.run(command, stdout=subprocess.PIPE, text=True).stdout
|
||||
|
||||
def get_additionnal_envs():
|
||||
"""
|
||||
get the git commit/branch/tag of the project and return them
|
||||
"""
|
||||
commit = run_command(["git", "rev-parse", "HEAD"])[:7]
|
||||
branch = run_command(["git", "rev-parse", "--abbrev-ref", "HEAD"])
|
||||
tag = run_command(["git", "tag", "-l", "--points-at", "HEAD"])
|
||||
|
||||
items = [
|
||||
f"-D GIT_COMMIT=\\\"{commit}\\\"",
|
||||
f"-D GIT_BRANCH=\\\"{branch.strip()}\\\""
|
||||
]
|
||||
if tag != "":
|
||||
items.append(f"-D GIT_TAG=\\\"{tag.strip()}\\\"")
|
||||
else:
|
||||
items.append("-D GIT_TAG=\\\"dev\\\"")
|
||||
return items
|
||||
|
||||
env.Append(
|
||||
BUILD_FLAGS=get_additionnal_envs()
|
||||
)
|
Reference in New Issue
Block a user