kmpkg_execute_required_process
执行一个带日志记录的进程,若该命令执行失败,则直接终止整个构建流程。
用法
kmpkg_execute_required_process(
COMMAND <${PERL}> [<arguments>...]
WORKING_DIRECTORY <${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg>
LOGNAME <build-${TARGET_TRIPLET}-dbg>
[TIMEOUT <seconds>]
[OUTPUT_VARIABLE <var>]
[ERROR_VARIABLE <var>]
[SAVE_LOG_FILES [<relative-path> [ALIAS <unique-alias>]]...]
)
参数
ALLOW_IN_DOWNLOAD_MODE
允许该命令在“下载模式(Download Mode)”下执行。
COMMAND
待执行的命令及其参数。
WORKING_DIRECTORY
执行该命令的工作目录。
LOGNAME
日志文件使用的前缀名称。该名称应对不同的三元组(triplet)保持唯一,避免同时构建多个三元组时日志文件发生冲突。
TIMEOUT(可选)
命令执行的超时时间(单位:秒),超时后会终止该命令。
OUTPUT_VARIABLE(可选)
用于接收命令标准输出(stdout)内容的变量。
OUTPUT_STRIP_TRAILING_WHITESPACE
设置 OUTPUT_VARIABLE 前,移除输出内容末尾的空白字符。
ERROR_VARIABLE(可选)
用于接收命令标准错误(stderr)内容的变量。
ERROR_STRIP_TRAILING_WHITESPACE
设置 ERROR_VARIABLE 前,移除错误输出内容末尾的空白字符。
SAVE_LOG_FILES(可选)
需要从工作目录移动到 ${CURRENT_BUILDTREES_DIR} 目录的文件列表。
该参数有助于在CI环境中收集相关日志文件,即使进程执行失败,这些文件也会被复制。
目标文件名由 LOGNAME 参数和源文件名拼接生成;若目标文件名未以 .log 结尾,会自动追加该后缀。
该参数在 kmpkg 版本 2023.01.10 中新增
在相对路径后指定 ALIAS <unique-alias> 参数时,会用 <unique-alias> 的值替代自动生成的目标文件名。