函数: kmpkg_from_gitlab
从 Gitlab 实例下载并提取项目。 启用对 install --head 的支持。
使用情况
kmpkg_from_gitlab(
GITLAB_URL <https://gitlab.com>
OUT_SOURCE_PATH <SOURCE_PATH>
REPO <gitlab-org/gitlab-ce>
[REF <v10.7.3>]
[SHA512 <45d0d7f8cc350...>]
[HEAD_REF <master>]
[PATCHES <patch1.patch> <patch2.patch>...]
[AUTHORIZATION_TOKEN <${SECRET_FROM_FILE}>]
[FILE_DISAMBIGUATOR <N>]
)
参数
GITLAB_URL
要使用的 GitLab 实例的 URL。
OUT_SOURCE_PATH
指定将包含提取位置的输出变量。
此项应按约定设置为 SOURCE_PATH。
REPO
组织或用户加上 Gitlab 实例上的存储库名。
REF
不会更改内容的稳定 git commit-ish(理想情况下为标记)。 此项不应为分支。
对于没有官方版本的存储库,此项可以设置为当前最新主版本的完整提交 ID。
如果指定了 REF,则也必须指定 SHA512。
SHA512
SHA512 哈希应匹配存档 (${GITLAB_URL}/${REPO}/-/archive/${REF}/${REPO_NAME}-${REF}.tar.gz)。 REPO_NAME 变量从 REPO 值解析得出。
HEAD_REF
用于拉取 --head 构建的不稳定 git commit-ish(理想情况下为分支)。
对于大多数项目,此项应为 master。 所选分支应为预期在所有支持的平台上始终可构建的分支。
PATCHES
要应用于提取的源代码的修补程序列表。
相对路径基于端口目录。
AUTHORIZATION_TOKEN
通过授权 HTTP 标头PRIVATE-TOKEN传递的令牌。
FILE_DISAMBIGUATOR
一个令牌,在 SHA512 更改(即使 git ref 未更改)时用来唯一标识结果文件名,以避免单步执行相同的文件名。
说明
必须至少指定 REF 和 HEAD_REF 之一,但最好两者同时存在。
这会在头部构建期间导出 KMPKG_HEAD_VERSION 变量。