Remotes API

警告

此功能是实验性的,可能会发生重大更改。有关更多信息,请参阅 Conan 稳定性 部分。

警告

子 API 不应自行初始化。它们旨在仅通过主 ConanAPI 属性访问。

class RemotesAPI(conan_api, api_helpers)

RemotesAPI 管理远程仓库的定义,这些定义存储在 Conan 主目录下的 “remotes.json” 文件中,支持添加、删除、更新、重命名、启用和禁用远程仓库。这些操作不会联系服务器或检查它们的存在。如果它们不可用,稍后使用时会失败。

user_xxx 方法执行与身份验证相关的任务,其中一些方法会联系服务器以执行此类身份验证

list(pattern=None, only_enabled=True)

获取匹配模式的 Remote 对象列表。

参数:
  • patternNone、单个 strstr 列表。如果为 None,则返回所有远程仓库(等效于 pattern="*")。

  • only_enabled – 布尔值,默认情况下仅返回启用的远程仓库

返回:

Remote 对象列表

disable(pattern)

禁用与 pattern 匹配的所有远程仓库

参数:

pattern – 单个 strstr 列表。如果模式是精确名称,不带通配符,例如 “*”,并且没有找到匹配该精确名称的远程仓库,则会引发错误。

返回:

被禁用的 Remote 对象列表(即使它们已经禁用)

enable(pattern)

启用与 pattern 匹配的所有远程仓库。

参数:

pattern – 单个 strstr 列表。如果模式是精确名称,不带通配符,例如 “*”,并且没有找到匹配该精确名称的远程仓库,则会引发错误。

返回:

被启用的 Remote 对象列表(即使它们已经启用)

get(remote_name)

获取一个 Remote 对象

参数:

remote_name – 要返回的远程仓库的精确名称

返回:

Remote 对象,或者如果远程仓库不存在则引发异常。

add(remote: Remote, force=False, index=None)

将一个新的 Remote 对象添加到现有对象中

参数:
  • remote – 要添加的 Remote 对象

  • force – 如果远程仓库已存在,则不失败(但默认情况下会失败)

  • index – 如果未定义,则新远程仓库将是最后一个。传递一个整数以在指定位置插入远程仓库,而不是放在最后一个位置

remove(pattern)

删除与 pattern 匹配的远程仓库

参数:

pattern – 单个 strstr 列表。如果模式是精确名称,不带通配符,例如 “*”,并且没有找到匹配该精确名称的远程仓库,则会引发错误。

返回:

被删除的 Remote 对象列表

update(remote_name: str, url=None, secure=None, disabled=None, index=None, allowed_packages=None, recipes_only=None)

更新现有的远程仓库

参数:
  • remote_name – 要更新的远程仓库的名称,必须存在

  • url – 可选的 URL 进行更新,如果未定义则不会更新

  • secure – 可选的 SSL 安全连接进行更新

  • disabled – 可选的禁用状态

  • index – 可选的整数以更改远程仓库的顺序

  • allowed_packages – 可选的允许从此远程仓库获取的软件包列表

  • recipes_only – 可选的布尔值,仅允许从此远程仓库下载配方,绝不下载软件包二进制文件

rename(remote_name: str, new_name: str)

更改现有远程仓库的名称

参数:
  • remote_name – 之前的现有名称

  • new_name – 新名称

user_login(remote: Remote, username: str, password: str)

使用提供的用户名和密码对给定的远程仓库执行用户身份验证

参数:
  • remote – 一个 Remote 对象

  • username – 用户登录名,格式为 str

  • password – 密码 str

user_logout(remote: Remote)

从给定的 Remote 注销

参数:

remote – 要注销的 Remote 对象