DefaultInfo के हर इंस्टेंस में ये फ़ील्ड होते हैं: filesfiles_to_rundata_runfilesdefault_runfiles
सदस्य
DefaultInfo
DefaultInfo DefaultInfo(files=None, runfiles=None, data_runfiles=None, default_runfiles=None, executable=None)
DefaultInfo कंस्ट्रक्टर.
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
files
|
depset; या None;
डिफ़ॉल्ट वैल्यू Nonedepset ऑब्जेक्ट का File, जो bazel कमांड लाइन पर इस टारगेट के बारे में बताने पर, डिफ़ॉल्ट आउटपुट को दिखाता है. डिफ़ॉल्ट रूप से, यह पहले से तय किए गए सभी आउटपुट होते हैं.
|
runfiles
|
runfiles; या None;
डिफ़ॉल्ट वैल्यू Nonerunfiles डिस्क्रिप्टर, जो उन फ़ाइलों के बारे में बताता है जिनकी ज़रूरत इस टारगेट को 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
data डिपेंडेंसी एट्रिब्यूट के तौर पर चलाया जाता है. ज़्यादातर मामलों में, इसके बजाय default_runfiles पैरामीटर का इस्तेमाल करें. ज़्यादा जानकारी के लिए, "runfiles की उन सुविधाओं के बारे में जानें जिनका इस्तेमाल नहीं करना चाहिए" लेख पढ़ें.
None रिटर्न कर सकता है.
default_runfiles
runfiles DefaultInfo.default_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) का इस्तेमाल करें.