यह किसी डिपेंडेंसी किनारे पर होने वाले कॉन्फ़िगरेशन के ट्रांज़िशन को दिखाता है. उदाहरण के लिए, अगर //package:foo, कॉन्फ़िगरेशन ट्रांज़िशन के साथ //package:bar पर निर्भर है, तो इन दो टारगेट का कॉन्फ़िगरेशन अलग होगा: //package:bar का ट्रांज़िशन, //package:foo के हिसाब से होगा. यह ट्रांज़िशन, ट्रांज़िशन ऑब्जेक्ट के लिए तय किए गए फ़ंक्शन के हिसाब से तय होगा.
एक ट्रांज़िशन जो इनपुट बिल्ड सेटिंग के सेट को पढ़ता है और आउटपुट बिल्ड सेटिंग का सेट लिखता है.
उदाहरण:
def _transition_impl(settings, attr):
# This transition just reads the current CPU value as a demonstration.
# A real transition could incorporate this into its followup logic.
current_cpu = settings["//command_line_option:cpu"]
return {"//command_line_option:compilation_mode": "dbg"}
build_in_debug_mode = transition(
implementation = _transition_impl,
inputs = ["//command_line_option:cpu"],
outputs = ["//command_line_option:compilation_mode"],
)
ज़रूरी है
इस ट्रांज़िशन को लागू करने वाला फ़ंक्शन. इस फ़ंक्शन में हमेशा दो पैरामीटर होते हैं: settings और attr. settings पैरामीटर एक डिक्शनरी है, जिसका 'की' सेट, इनपुट पैरामीटर से तय होता है. इसलिए, हर बिल्ड सेटिंग --//foo=bar के लिए, अगर inputs में //foo है, तो settings में एक settings['//foo']='bar' एंट्री होगी.
attr पैरामीटर, ctx.attr का रेफ़रंस है. यह एट्रिब्यूट के पैरामीटर वाले ट्रांज़िशन को संभव बनाने के लिए, लागू करने के फ़ंक्शन को नियम के एट्रिब्यूट का ऐक्सेस देता है.
इस फ़ंक्शन को बिल्ड सेटिंग आइडेंटिफ़ायर से बिल्ड सेटिंग वैल्यू तक, dict के तौर पर रिस्पॉन्स देना चाहिए; यह कॉन्फ़िगरेशन का ट्रांज़िशन दिखाता है: दिखाई गई dict में हर एंट्री के लिए, ट्रांज़िशन उस सेटिंग की नई वैल्यू पर अपडेट हो जाता है. अन्य सभी सेटिंग में कोई बदलाव नहीं होगा. स्प्लिट ट्रांज़िशन के मामले में, यह फ़ंक्शन, dict का list या dict का dict भी दिखा सकता है.
inputs
स्ट्रिंग का सीक्वेंस;
ज़रूरी है
बिल्ड सेटिंग की सूची, जिसे इस ट्रांज़िशन के ज़रिए पढ़ा जा सकता है. यह, लागू करने वाले फ़ंक्शन पैरामीटर के सेटिंग पैरामीटर का मुख्य सेट बन जाता है.
outputs
स्ट्रिंग का सीक्वेंस;
ज़रूरी है
बिल्ड सेटिंग की सूची, जिसे इस ट्रांज़िशन के हिसाब से लिखा जा सकता है. यह शब्दकोश के उस कुंजी सेट का सुपरसेट होना चाहिए जो इस ट्रांज़िशन के बाद मिलता है.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"वह जानकारी मौजूद नहीं है जो मुझे चाहिए"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"बहुत मुश्किल है / बहुत सारे चरण हैं"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"पुराना"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"अनुवाद से जुड़ी समस्या"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"सैंपल / कोड से जुड़ी समस्या"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"अन्य"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"समझने में आसान है"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"मेरी समस्या हल हो गई"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"अन्य"
}]
{"lastModified": "\u0906\u0916\u093f\u0930\u0940 \u092c\u093e\u0930 2024-08-29 (UTC) \u0915\u094b \u0905\u092a\u0921\u0947\u091f \u0915\u093f\u092f\u093e \u0917\u092f\u093e."}
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2024-08-29 (UTC) को अपडेट किया गया."],[],[]]