kmpkg_from_git
从 Git 仓库下载并提取项目源码。
该辅助函数会复用 git 命令行工具的凭据。如需为私有 Git 主机配置凭据,请参见身份验证文档。
若 Git 仓库托管在 BitBucket、GitHub 或 GitLab 平台,应优先使用各平台专属的函数,而非此通用函数:
用法
kmpkg_from_git(
OUT_SOURCE_PATH <SOURCE_PATH>
URL <https://android.googlesource.com/platform/external/fdlibm>
REF <59f7335e4d...>
[HEAD_REF <ref>]
[PATCHES <patch1.patch> <patch2.patch>...]
[LFS [<url>]]
)
参数
OUT_SOURCE_PATH
指定用于存储提取后源码路径的输出变量。
按照惯例,应将该变量名设为 SOURCE_PATH。
URL
Git 仓库的远程访问地址(URL)。
REF
要下载的提交对应的 Git SHA 哈希值(完整哈希或短哈希均可)。
FETCH_REF
非 --head 模式下需要先拉取的 Git 分支。拉取该分支后,会检出(checkout)REF 指定的提交。
此参数适用于 Git 服务器禁止检出“非公开对象(non-advertised objects)”的场景。
HEAD_REF
当包需要从最新源码构建(--head 模式)时使用的 Git 分支。
示例值:main、develop、HEAD。
PATCHES
要应用到提取后源码上的补丁文件列表。 补丁文件的相对路径以当前端口目录为基准。
LFS
在 kmpkg 版本 2022.11.14 中新增
启用对 Git LFS(大文件存储)托管文件的拉取功能。
仅会拉取 REF 提交指向的 LFS 文件。
此参数会将 Git LFS 设为该端口的强制依赖项:若未安装 Git LFS 扩展,会触发致命错误。
在 kmpkg 版本 2023.01.23 中新增
若指定了 <url>,则会使用该地址替代原始 Git URL 进行 LFS 文件拉取。
说明
OUT_SOURCE_PATH、REF 和 URL 为必填参数。