参考模型

class RecipeReference(name=None, version=None, user=None, channel=None, revision=None, timestamp=None)

配方的精确(无版本范围、无别名)引用,它代表形式为 name/version[@user/channel][#revision][%timestamp] 的引用。这足以在缓存或服务器中定位配方,验证将在该类外部、特定点(导出、API 等)进行。

属性应被视为不可变的,不应由用户修改。

name: str

引用的名称

version: Version

引用的版本

user

引用的用户,如果存在

channel

引用的通道,如果存在

revision

引用的修订版本,如果存在

timestamp

引用的时间戳,如果存在

static loads(rref)

从字符串实例化一个对象,形式为:name/version[@user/channel][#revision][%timestamp]

validate_ref(allow_uppercase=False)

检查引用是否有效,如果无效则引发 ConanException

matches(pattern, is_consumer)

使用 fnmatch 将引用与提供的模式进行匹配。

参数:
  • pattern (str) – 要匹配的模式,可以包含通配符,并且可以以 !~ 开头以否定匹配。特殊值 & 仅在 is_consumerTrue 时才匹配

  • is_consumer (bool) – 如果为 True,则模式 & 将匹配此引用。