ייצוג של מעבר תצורה מקצה לקצה. לדוגמה, אם הערך //package:foo
תלוי ב-//package:bar
עם העברת תצורה, ההגדרה של שני היעדים האלה תהיה שונה: //package:bar
של המעבר ייקבע על פי ההגדרות של //package:foo
, בהתאם לפונקציה המוגדרת על ידי אובייקט המעבר.
חברי מועדון
מעבר
transition transition(implementation, inputs, outputs)מעבר לקריאת קבוצה של הגדרות build לקלט וכותבים קבוצה של הגדרות build.
דוגמה:
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"], )
מידע נוסף זמין כאן.
פרמטרים
פרמטר | תיאור |
---|---|
implementation
|
חובה הפונקציה שמטמיעה את המעבר. בפונקציה הזו יש תמיד שני פרמטרים: settings ו-attr . הפרמטר settings הוא מילון שקבוצת המפתחות שלו מוגדרת על ידי פרמטר הקלט. לכן, עבור כל הגדרת build --//foo=bar , אם הערך inputs מכיל //foo , הערך settings יהיה רשומה settings['//foo']='bar' .הפרמטר פונקציה זו חייבת להחזיר |
inputs
|
sequence of strings ;
חובהרשימה של הגדרות build שאפשר לקרוא במעבר הזה. היא הופכת לקבוצת המפתח של פרמטר ההגדרות של הפרמטר פונקציית הטמעה. |
outputs
|
sequence of strings ;
חובהרשימה של הגדרות build שאפשר לכתוב במעבר הזה. הוא חייב להיות קבוצת-על של קבוצת המפתחות של המילון שמוחזרת על ידי המעבר הזה. |