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

यह एक ऐसा प्रोवाइडर है जो टारगेट की डायरेक्ट और ट्रांज़िटिव फ़ाइलों के बारे में सामान्य जानकारी देता है. हर नियम के टाइप में यह प्रोवाइडर होता है. भले ही, नियम को लागू करने वाले फ़ंक्शन से इसे साफ़ तौर पर रिटर्न न किया गया हो. हर 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; or None; default = None
यह File ऑब्जेक्ट का depset है. यह उन डिफ़ॉल्ट आउटपुट को दिखाता है जिन्हें तब बनाया जाता है, जब इस टारगेट को Bazel कमांड लाइन पर तय किया जाता है. डिफ़ॉल्ट रूप से, यह पहले से तय किए गए सभी आउटपुट होते हैं.
runfiles runfiles; or None; default = None
runfiles descriptor describing the files that this target needs when run (via the run command or as a tool dependency).
data_runfiles runfiles; or None; default = None

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

रनफ़ाइल डिस्क्रिप्टर, उन रनफ़ाइलों के बारे में बताता है जिनकी ज़रूरत इस टारगेट को तब होती है, जब यह data एट्रिब्यूट के ज़रिए डिपेंडेंसी होती है.
default_runfiles runfiles; or None; default = 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; or None; default = 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

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