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

समस्या की शिकायत करें सोर्स देखें Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

runfiles डिस्क्रिप्टर, उन फ़ाइलों के बारे में बताता है जिनकी ज़रूरत इस टारगेट को तब होती है, जब इसे data डिपेंडेंसी एट्रिब्यूट के तौर पर चलाया जाता है. ज़्यादातर मामलों में, इसके बजाय default_runfiles पैरामीटर का इस्तेमाल करें. ज़्यादा जानकारी के लिए, "runfiles की ऐसी सुविधाएं जिनसे बचना चाहिए" देखें. None को वापस किया जा सकता है.

default_runfiles

runfiles DefaultInfo.default_runfiles

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) का इस्तेमाल करें.