Graph API¶
警告
此功能是实验性的,可能会发生重大更改。有关更多信息,请参阅 Conan 稳定性 部分。
警告
子 API 不应自行初始化。它们旨在仅通过主 ConanAPI 属性访问。
- class GraphAPI(conan_api, helpers)¶
- 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 消费者创建并初始化根节点
- 参数:
tested_python_requires – 要测试的
python_require的引用lockfile – 锁定 python-requires、build-requires 可能会有好处
path – 正在使用的 test_package/conanfile.py 的完整路径
tested_reference – 被测包的完整 RecipeReference
profile_host –
profile_build –
update –
remotes –
- 返回:
一个图节点,recipe=RECIPE_CONSUMER
- load_graph(root_node, profile_host, profile_build, lockfile=None, remotes=None, update=None, check_update=False)¶
从根包开始计算依赖关系图,使用 profile_build 和 profile_host 中提供的配置评估该图。结果图是 recipe 的图,但包尚未计算(package_ids 将为空)。结果可能包含错误,例如版本或配置冲突,但仍然可以检查它。只有尝试安装这样的图才会失败
- 参数:
root_node – 起始点,由“load_root_node”api 返回的已初始化 Node 结构
profile_host – 主机配置文件
profile_build – 构建配置文件
lockfile – 有效的 lockfile(默认值为 None,表示未锁定)
remotes – 我们想要检查的远程列表
update – (默认值为 False),如果 Conan 应该查找 Conan 缓存中已存在 recipe 的新版本或修订版
check_update – 对于“graph info”命令,检查是否有 recipe 更新
- analyze_binaries(graph, build_mode=None, remotes=None, update=None, lockfile=None, build_modes_test=None, tested_graph=None)¶
给定依赖关系图,将计算图中所有 recipe 的 package_ids,并评估它们是应该从源代码构建、从远程服务器下载,还是包已经存在于本地 Conan 缓存中
- 参数:
lockfile –
graph – 由“load_graph()”返回的 Conan 依赖关系图
build_mode – TODO:讨论这是否应该是一个 BuildMode 对象或参数列表
remotes – 远程列表
update – (
False默认情况下),如果 Conan 应该查找 Conan 缓存中已存在 recipe 的新版本或修订版。如果任何项目匹配,它还接受一个引用模式数组来限制更新到这些引用。例如,False、None或[]表示不更新,True或["*"]表示更新所有,而["pkgA/*", "pkgB/1.0@user/channel"]表示仅更新特定包。build_modes_test – –build-test 参数
tested_graph – 在“test_package”的情况下,正在测试的图
- static find_first_missing_binary(graph, missing=None)¶
(实验性) 给定依赖关系图,将返回缺少二进制包的第一个节点