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