ऐसा प्रोवाइडर जो टारगेट की डायरेक्ट और ट्रांज़िट फ़ाइलों के बारे में सामान्य जानकारी देता है. हर तरह के नियम में यह प्रोवाइडर होता है. भले ही, नियम को लागू करने वाले फ़ंक्शन से इसे साफ़ तौर पर न दिखाया गया हो. हर 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 यह File ऑब्जेक्ट का depset है. यह उन डिफ़ॉल्ट आउटपुट को दिखाता है जिन्हें bazel कमांड लाइन पर यह टारगेट तय करने पर बनाया जाता है. डिफ़ॉल्ट रूप से, यह सभी पहले से तय आउटपुट होता है.
|
runfiles
|
runfiles या None ;
डिफ़ॉल्ट None runfiles डिस्क्रिप्टर, उन फ़ाइलों के बारे में बताता है जिनकी ज़रूरत इस टारगेट को run कमांड या टूल डिपेंडेंसी के ज़रिए चलाने के लिए होती है.
|
data_runfiles
|
runfiles या None ;
डिफ़ॉल्ट तौर पर None हमारा सुझाव है कि आप इस पैरामीटर का इस्तेमाल न करें. इसके बारे में ज़्यादा जानने के लिए, "ऐसी रनफ़ाइल की सुविधाएं जिनका इस्तेमाल नहीं करना चाहिए" देखें runfiles डिस्क्रिप्टर, जो उन runfiles के बारे में बताता है जिन्हेंdata एट्रिब्यूट की मदद से, इस टारगेट के डिपेंडेंसी के तौर पर चलाना ज़रूरी है.
|
default_runfiles
|
runfiles या None ;
डिफ़ॉल्ट तौर पर None हमारा सुझाव है कि आप इस पैरामीटर का इस्तेमाल न करें. इसके बारे में ज़्यादा जानने के लिए, "ऐसी रनफ़ाइल की सुविधाएं जिनका इस्तेमाल नहीं करना चाहिए" देखें runfiles डिस्क्रिप्टर, जो उन runfiles के बारे में बताता है जिन्हेंdata एट्रिब्यूट के अलावा किसी अन्य एट्रिब्यूट की मदद से, इस टारगेट को चलाने की ज़रूरत होती है.
|
executable
|
फ़ाइल या None ;
डिफ़ॉल्ट रूप से None अगर इस नियम को executable या test के तौर पर मार्क किया गया है, तो यह File ऑब्जेक्ट है. यह उस फ़ाइल को दिखाता है जिसे टारगेट चलाने के लिए चलाया जाना चाहिए. डिफ़ॉल्ट रूप से, यह पहले से तय किया गया आउटपुट ctx.outputs.executable होता है.
|
data_runfiles
runfiles DefaultInfo.data_runfiles
data
डिपेंडेंसी एट्रिब्यूट के तौर पर चलाया जाता है. ज़्यादातर मामलों में, इसके बजाय default_runfiles
पैरामीटर का इस्तेमाल करें. ज़्यादा जानकारी के लिए, "runfiles की ऐसी सुविधाएं जिनसे बचना चाहिए" देखें.
None
को वापस किया जा सकता है.
default_runfiles
runfiles DefaultInfo.default_runfiles
run
कमांड या टूल की डिपेंडेंसी के तौर पर चलाने के लिए होती है.
None
को वापस किया जा सकता है.
फ़ाइलें
depset DefaultInfo.files
File
ऑब्जेक्ट का depset
, जो bazel कमांड लाइन पर इस टारगेट के तय होने पर, बिल्ड करने के लिए डिफ़ॉल्ट आउटपुट दिखाता है. डिफ़ॉल्ट रूप से, यह सभी पहले से तय आउटपुट होता है.
None
को वापस किया जा सकता है.
files_to_run
FilesToRunProvider DefaultInfo.files_to_run
FilesToRunProvider
ऑब्जेक्ट, जिसमें टारगेट के एक्सीक्यूटेबल और रनफ़ाइलों के बारे में जानकारी होती है.
None
को वापस किया जा सकता है.
to_json
string DefaultInfo.to_json()
---incompatible_struct_has_no_methods
के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड, जल्द ही हटाए जाने वाले वर्शन के साथ काम करता है. स्ट्रक्चर पैरामीटर से JSON स्ट्रिंग बनाता है. यह तरीका सिर्फ़ तब काम करता है, जब सभी स्ट्रक्चर एलिमेंट (बार-बार) स्ट्रिंग, ints, बूलियन, अन्य स्ट्रक्चर, इन टाइप की सूची या स्ट्रिंग कुंजियों और इन टाइप की वैल्यू वाली डिक्शनरी हों. स्ट्रिंग में कोटेशन और नई लाइन को एस्केप किया जाता है. उदाहरण:
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
के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड, जल्द ही हटाए जाने वाले वर्शन के साथ काम करता है. स्ट्रक्चर पैरामीटर से टेक्स्ट मैसेज बनाता है. यह तरीका सिर्फ़ तब काम करता है, जब सभी स्ट्रक्चर एलिमेंट (बार-बार) स्ट्रिंग, ints, बूलियन, दूसरे स्ट्रक्चर या dicts या इस तरह की सूचियां हों. स्ट्रिंग में कोटेशन और नई लाइन को एस्केप किया जाता है. स्ट्रक्चर की कुंजियों को क्रम से लगाया जाता है. उदाहरण:
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) का इस्तेमाल करें.