Provider

报告问题 查看源代码

简单值对象的构造函数,称为提供程序实例。
这个值有双重用途:
  • 可通过调用此函数来构造类似“结构体”的值:
    DataInfo = provider()
    d = DataInfo(x = 2, y = 3)
    print(d.x + d.y) # prints 5
    注意:内部定义的某些提供程序不允许创建实例
  • 它是用于访问 Target 上的提供程序实例的密钥
    DataInfo = provider()
    def _rule_impl(ctx)
      ... ctx.attr.dep[DataInfo]
使用 provider 函数创建新的 Provider