डिफ़ॉल्ट जानकारी

यह एक ऐसा प्रोवाइडर है जो टारगेट की डायरेक्ट और ट्रांज़िटिव फ़ाइलों के बारे में सामान्य जानकारी देता है. हर तरह के नियम के लिए यह प्रोवाइडर उपलब्ध होता है. भले ही, नियम को लागू करने वाले फ़ंक्शन से इसे साफ़ तौर पर रिटर्न न किया गया हो. DefaultInfo के हर इंस्टेंस में ये फ़ील्ड होते हैं:
  • files
  • files_to_run
  • data_runfiles
  • default_runfiles
इस प्रोवाइडर का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, नियमों का पेज देखें.

सदस्य

DefaultInfo

DefaultInfo DefaultInfo(files=None, runfiles=None, data_runfiles=None, default_runfiles=None, executable=None)

DefaultInfo कंस्ट्रक्टर.

पैरामीटर

पैरामीटर ब्यौरा
files depset; या None; डिफ़ॉल्ट वैल्यू None
depset ऑब्जेक्ट का File, जो bazel कमांड लाइन पर इस टारगेट के बारे में बताने पर, डिफ़ॉल्ट आउटपुट को दिखाता है. डिफ़ॉल्ट रूप से, यह पहले से तय किए गए सभी आउटपुट होते हैं.
runfiles runfiles; या None; डिफ़ॉल्ट वैल्यू None
runfiles डिस्क्रिप्टर, जो उन फ़ाइलों के बारे में बताता है जिनकी ज़रूरत इस टारगेट को run कमांड या टूल की डिपेंडेंसी के तौर पर चलाने के लिए होती है.
data_runfiles runfiles; या None; डिफ़ॉल्ट वैल्यू None

हमारा सुझाव है कि आप इस पैरामीटर का इस्तेमाल न करें (ज़्यादा जानकारी के लिए, "runfiles की उन सुविधाओं के बारे में जानें जिनका इस्तेमाल नहीं करना चाहिए" लेख पढ़ें)

runfiles डिस्क्रिप्टर, जो उन runfiles के बारे में बताता है जिनकी ज़रूरत इस टारगेट को data एट्रिब्यूट के ज़रिए डिपेंडेंसी के तौर पर चलाने के लिए होती है.
default_runfiles runfiles; या None; डिफ़ॉल्ट वैल्यू None

हमारा सुझाव है कि आप इस पैरामीटर का इस्तेमाल न करें (ज़्यादा जानकारी के लिए, "runfiles की उन सुविधाओं के बारे में जानें जिनका इस्तेमाल नहीं करना चाहिए" लेख पढ़ें)

runfiles डिस्क्रिप्टर, जो उन runfiles के बारे में बताता है जिनकी ज़रूरत इस टारगेट को data एट्रिब्यूट के अलावा किसी अन्य एट्रिब्यूट के ज़रिए डिपेंडेंसी के तौर पर चलाने के लिए होती है.
executable फ़ाइल; या None; डिफ़ॉल्ट वैल्यू None
अगर इस नियम को executable या test के तौर पर मार्क किया गया है, तो यह एक File ऑब्जेक्ट है, जो उस फ़ाइल को दिखाता है जिसे टारगेट को चलाने के लिए, एक्ज़ीक्यूट किया जाना चाहिए. डिफ़ॉल्ट रूप से, यह पहले से तय किया गया आउटपुट ctx.outputs.executable होता है.

data_runfiles

runfiles DefaultInfo.data_runfiles

runfiles डिस्क्रिप्टर, जो उन फ़ाइलों के बारे में बताता है जिनकी ज़रूरत इस टारगेट को तब होती है, जब इसे data डिपेंडेंसी एट्रिब्यूट के तौर पर चलाया जाता है. ज़्यादातर मामलों में, इसके बजाय default_runfiles पैरामीटर का इस्तेमाल करें. ज़्यादा जानकारी के लिए, "runfiles की उन सुविधाओं के बारे में जानें जिनका इस्तेमाल नहीं करना चाहिए" लेख पढ़ें. None रिटर्न कर सकता है.

default_runfiles

runfiles DefaultInfo.default_runfiles

runfiles डिस्क्रिप्टर, जो उन फ़ाइलों के बारे में बताता है जिनकी ज़रूरत इस टारगेट को run कमांड या टूल की डिपेंडेंसी के तौर पर चलाने के लिए होती है. None रिटर्न कर सकता है.

files

depset DefaultInfo.files

depset ऑब्जेक्ट का File, जो bazel कमांड लाइन पर इस टारगेट के बारे में बताने पर, डिफ़ॉल्ट आउटपुट को दिखाता है. डिफ़ॉल्ट रूप से, यह पहले से तय किए गए सभी आउटपुट होते हैं. None रिटर्न कर सकता है.

files_to_run

FilesToRunProvider DefaultInfo.files_to_run

एक FilesToRunProvider ऑब्जेक्ट, जिसमें टारगेट के एक्ज़ीक्यूटेबल और runfiles के बारे में जानकारी होती है. None रिटर्न कर सकता है.

to_json

string DefaultInfo.to_json()

अब सेवा में नहीं है. यह एपीआई अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इसके भरोसे न रहें. इसे ---incompatible_struct_has_no_methods के साथ, यह बंद कर दिया गया है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड, इस एपीआई के हटने के बाद भी सही तरीके से काम करेगा.
यह स्ट्रक्ट पैरामीटर से JSON स्ट्रिंग बनाता है. यह तरीका तभी काम करता है, जब स्ट्रक्चर के सभी एलिमेंट गहराई तक हर स्तर पर इस टाइप के हों: स्ट्रिंग, पूर्णांक, बूलियन, अन्य स्ट्रक्चर, इन टाइप की कोई सूची या स्ट्रिंग कुंजियों और इन टाइप की वैल्यू वाली कोई डिक्शनरी. स्ट्रिंग में मौजूद कोट और नई लाइनों को एस्केप किया जाता है. उदाहरण:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
.

अब यह तरीका काम नहीं करता: इसके बजाय, json.encode(x) या json.encode_indent(x) का इस्तेमाल करें. ये फ़ंक्शन, स्ट्रक्चर के अलावा अन्य वैल्यू के लिए काम करते हैं और स्ट्रक्चर फ़ील्ड नेमस्पेस को खराब नहीं करते हैं.

to_proto

string DefaultInfo.to_proto()

अब सेवा में नहीं है. यह एपीआई अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इसके भरोसे न रहें. इसे ---incompatible_struct_has_no_methods के साथ, यह बंद कर दिया गया है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड, इस एपीआई के हटने के बाद भी सही तरीके से काम करेगा.
यह struct पैरामीटर से एक टेक्स्ट मैसेज बनाता है. यह तरीका तभी काम करता है, जब स्ट्रक्चर के सभी एलिमेंट गहराई तक हर स्तर पर इस टाइप के हों: स्ट्रिंग, पूर्णांक, बूलियन, अन्य स्ट्रक्चर या डिक्शनरी या इन टाइप की सूचियां. स्ट्रिंग में मौजूद कोट और नई लाइनों को एस्केप किया जाता है. स्ट्रक्ट कुंजियों को क्रम से लगाकर एक-एक करके प्रोसेस किया जाता है. उदाहरण:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

अब यह तरीका काम नहीं करता: इसके बजाय, proto.encode_text(x) का इस्तेमाल करें.