打包交付物
此接口用于打包交付物。
接口说明
evopack filename: 'zipfile-without-zip-extension', blobs: [pick-list], sources: [pick-list]
[, pre: { source_dir -> closure} ]
[, post: { archive_file -> closure} ]
参数说明
参数 | 类型 | 是否必填 | 说明 | 示例值 |
---|---|---|---|---|
filename | string | 是 | 交付物压缩包的文件名,不带 .zip 扩展名。实际名称会追加当前日期与时间,如“交付文件_20240110_160200.zip” | app_template |
blobs | string | 是 | 摘选列表,字符串数组,每个字符串为一个摘选项,语法请参见 摘选项语法。指定的文件会被直接拷贝到指定目录中 | ./base |
sources | string | 是 | 源代码摘选列表,字符串数组。每个字符串为一个摘选项,语法请参见 摘选项语法。指定的源代码目录会被压缩为 ZIP 文件,并递归删除源代码目录中的 .git 、Release 和 Debug 目录,最后存放于指定的目录中 | ./base |
pre | string | 否 | 源代码被压缩前调用的回调函数。sources 列表中的每一个项目都会调用一次该回调。回调调用时,当前目录会被切换到源代码目录中,切换到的目录可以从参数 source_dir 中获取 | { echo "begin build app_template" } |
post | string | 否 | 源代码被压缩前调用的回调函数。sources 列表中每一项目都会调用一次该回调。回调调用时,当前目录会被切换到源代码压缩后 ZIP 文件所在的目录中,切换到的目录可以从参数 archive_file 中获取 | { echo "end build app_template" } |
摘选项语法
"source:target_directory"
参数说明如下:
source
:文件名匹配列表,或者源代码目录。支持 ANT 样式的匹配通配符。target_directory
:目标目录,相对于交付压缩包根目录的路径。若要放到压缩包顶层路径,请使用英文句点.
,例如:doc/README.md:.
。
调用示例
evopack filename: "app_template",
blobs: ["app_template/Release/strip/app_template:bin/"],
sources: ["app_template:src/"]