fbt: reproducible manifest builds & improvements (#1801)

* fbt: reproducible manifest builds, less rebuild on small updates; scripts: assets: using timestamp from commandline af available
* fbt: added app import validation for launch_app & single app build targets
* fbt: COMSTR for app imports validation
* docs: minor fixes
* docs: markdown fix
* vscode: comments for RTOS startup

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
hedger
2022-09-29 15:00:22 +04:00
committed by GitHub
parent aba20b6af8
commit 76d38e832e
10 changed files with 45 additions and 13 deletions

View File

@@ -1,8 +1,11 @@
Import("env")
from fbt.version import get_git_commit_unix_timestamp
assetsenv = env.Clone(
tools=["fbt_assets"],
FW_LIB_NAME="assets",
GIT_UNIX_TIMESTAMP=get_git_commit_unix_timestamp(),
)
assetsenv.ApplyLibFlags()
@@ -90,10 +93,11 @@ if assetsenv["IS_BASE_FIRMWARE"]:
"#/assets/resources/Manifest",
assetsenv.GlobRecursive("*", "resources", exclude="Manifest"),
action=Action(
'${PYTHON3} "${ASSETS_COMPILER}" manifest "${TARGET.dir.posix}"',
'${PYTHON3} "${ASSETS_COMPILER}" manifest "${TARGET.dir.posix}" --timestamp=${GIT_UNIX_TIMESTAMP}',
"${RESMANIFESTCOMSTR}",
),
)
assetsenv.Precious(resources)
assetsenv.AlwaysBuild(resources)
assetsenv.Clean(
resources,