Remotes API

警告

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

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 – 可选布尔值,如果设置为 True,则仅允许从该远程下载配方,绝不允许下载二进制包。

rename(remote_name: str, new_name: str)

更改现有远程的名称。

参数:
  • remote_name – 先前存在的名称。

  • new_name – 新名称。

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

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

参数:
  • remoteRemote 对象。

  • username – 用户登录名,类型为 str

  • password – 密码,类型为 str

user_logout(remote: Remote)

从给定的 Remote 登出。

参数:

remote – 要登出的 Remote 对象。