Provider

Konstruktor untuk objek nilai sederhana, yang disebut instance penyedia.
Nilai ini memiliki tujuan ganda:
  • Ini adalah fungsi yang dapat dipanggil untuk membuat nilai yang menyerupai 'struct':
    DataInfo = provider()
    d = DataInfo(x = 2, y = 3)
    print(d.x + d.y) # prints 5
    Catatan: Beberapa penyedia, yang didefinisikan secara internal, tidak mengizinkan pembuatan instance
  • Ini adalah kunci untuk mengakses instance penyedia di Target
    DataInfo = provider()
    def _rule_impl(ctx)
      ... ctx.attr.dep[DataInfo]
Buat Provider baru menggunakan fungsi penyedia.