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

समस्या की शिकायत करें सोर्स देखें Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

यह एक ऐसा प्रोवाइडर है जो टारगेट की डायरेक्ट और ट्रांज़िटिव फ़ाइलों के बारे में सामान्य जानकारी देता है. हर नियम के टाइप में यह प्रोवाइडर होता है. भले ही, नियम को लागू करने वाले फ़ंक्शन से इसे साफ़ तौर पर रिटर्न न किया गया हो. हर 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 की ऐसी सुविधाएं जिनका इस्तेमाल नहीं करना चाहिए" लेख पढ़ें

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

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

runfiles descriptor describing the runfiles this target needs to run when it is a dependency via any attribute other than the data attribute.
executable File; या 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

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

फ़ाइलें

depset DefaultInfo.files

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

files_to_run

FilesToRunProvider DefaultInfo.files_to_run

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

to_json

string DefaultInfo.to_json()

अब सेवा में नहीं है. यह एपीआई अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इसके भरोसे न रहें. ---incompatible_struct_has_no_methods के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपके कोड, इस जल्द ही हटाए जाने वाले फ़ैसले से कोई दिक्कत नहीं होगी.
struct पैरामीटर से 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) का इस्तेमाल करें.