Graph API¶
警告
此功能为实验性功能,可能会有重大更改。请参阅 Conan 稳定性 部分以获取更多信息。
- class GraphAPI(conan_api)¶
- load_root_test_conanfile(path, tested_reference, profile_host, profile_build, update=None, remotes=None, lockfile=None, tested_python_requires=None)¶
从 test_package/conanfile.py consumer 创建并初始化根节点
- 参数:
tested_python_requires – 要测试的
python_require
的引用lockfile – 锁定 python-requires、build-requires 可能会很好
path – 正在使用的 test_package/conanfile.py 的完整路径
tested_reference – 被测试包的完整 RecipeReference
profile_host –
profile_build –
update –
remotes –
- 返回值:
一个 graph Node,recipe=RECIPE_CONSUMER
- load_graph(root_node, profile_host, profile_build, lockfile=None, remotes=None, update=None, check_update=False)¶
计算依赖关系图,从根包开始,使用 profile_build 和 profile_host 中提供的配置评估图。结果图是配方的图,但包尚未计算(package_ids)在结果中将为空。结果可能存在错误,例如版本或配置冲突,但仍然可以检查它。只有尝试安装这样的图才会失败
- 参数:
root_node – 起始点,一个已初始化的 Node 结构,由 “load_root_node” api 返回
profile_host – 主机 profile
profile_build – 构建 profile
lockfile – 有效的 lockfile(默认为 None,表示未锁定)
remotes – 我们想要检查的远程仓库列表
update – (默认为 False),如果 Conan 应该在 Conan 缓存中查找已存在配方的新版本或修订
check_update – 对于 “graph info” 命令,检查是否有配方更新
- analyze_binaries(graph, build_mode=None, remotes=None, update=None, lockfile=None, build_modes_test=None, tested_graph=None)¶
给定一个依赖关系图,将计算图中所有配方的 package_ids,并评估它们是否应该从源代码构建、从远程服务器下载,或者包是否已在本地 Conan 缓存中
- 参数:
lockfile –
graph – Conan 依赖关系图,由 “load_graph()” 返回
build_mode – TODO: 讨论这应该是 BuildMode 对象还是参数列表
remotes – 远程仓库列表
update – (默认为 False),如果 Conan 应该在 Conan 缓存中查找已存在配方的新版本或修订
build_modes_test – –build-test 参数
tested_graph – 在 “test_package” 的情况下,被测试的图
- static find_first_missing_binary(graph, missing=None)¶
(实验性) 给定一个依赖关系图,将返回第一个缺少二进制包的节点