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