BazelCon 2022 מגיע בין 16 ל-17 בנובמבר לניו יורק באינטרנט. הירשמו עוד היום!
חדש: אנחנו מזמינים אותך להצטרף אלינו ליום הקהילה ב-15 בנובמבר! פרטים ורישום.

מאפיין

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
זהו מודול ברמה העליונה להגדרת סכימות המאפיינים של כלל או היבט. כל פונקציה מחזירה אובייקט שמייצג את הסכימה של מאפיין יחיד. האובייקטים האלה משמשים כערכים של הארגומנט attrs במילון של rule() ושל aspect().

מידע נוסף על המאפיינים הגדרה ושימוש זמין בדף הכללים.

חברי מועדון

בוליאני

Attribute attr.bool(default=False, doc='', mandatory=False)

יוצר סכימה למאפיין בוליאני.

פרמטרים

פרמטר תיאור
default ברירת מחדל = False
ערך ברירת מחדל לשימוש אם לא מקבל ערך עבור המאפיין הזה בעת יצירת הכלל.
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).

int

Attribute attr.int(default=0, doc='', mandatory=False, values=[])

יוצרת סכימה למאפיין מספר שלם. הערך צריך להיות בטווח החתום של 32 ביט.

פרמטרים

פרמטר תיאור
default ברירת מחדל = 0
ערך ברירת מחדל לשימוש אם לא צוין ערך למאפיין זה בעת יצירת הכלל.
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).
values sequence of ints; ברירת מחדל = []
רשימת הערכים המותרים למאפיין. אם נלקח ערך אחר, תגדל שגיאה.

int_list

Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc='')

יוצרת סכימה למאפיין של רשימה של מספרים שלמים. כל רכיב חייב להיות בטווח החתום של 32 ביט.

פרמטרים

פרמטר תיאור
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).
allow_empty ברירת מחדל = True
True אם המאפיין יכול להיות ריק.
default sequence of ints; ברירת מחדל = []
ערך ברירת מחדל לשימוש אם לא מקבל ערך עבור המאפיין הזה בעת יצירת הכלל.
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.

תווית

Attribute attr.label(default=None, doc='', executable=False, allow_files=None, allow_single_file=None, mandatory=False, providers=[], allow_rules=None, cfg=None, aspects=[])

יצירת סכימה למאפיין תווית. זהו מאפיין תלות.

מאפיין זה מכיל ערכי Label ייחודיים. אם תספקו מחרוזת במקום Label, תתבצע המרה שלה באמצעות בונה התוויות. החלקים היחסיים בנתיב של התווית, כולל המאגר (שאולי השתנה)

בזמן הניתוח (בתוך פונקציית ההטמעה של הכלל), כשאחזור ערך המאפיין מ-ctx.attr, התוויות מוחלפות ב-Target המתאימים. כך תהיה לך גישה לספקים של תלויות היעד הנוכחיות.

בנוסף לקובצי מקור רגילים, המאפיין הזה משמש לעיתים קרובות לציון כלי – למשל, 'מהדר'. כלים כאלה נחשבים לתלויים, בדיוק כמו קובצי מקור. כדי שהמשתמשים לא יצטרכו לציין את התווית של הכלי בכל פעם שהם משתמשים בכלל בקובצי ה-BUILD שלהם, אפשר לקודד את התווית הקשה של הכלי הקנוני כערך של default במאפיין הזה. אם רוצים גם למנוע מהמשתמשים לעקוף את ברירת המחדל הזו, אפשר לתת למאפיין פרטי שם שמתחיל בקו תחתון. מידע נוסף זמין בדף כללים.

פרמטרים

פרמטר תיאור
default Label; or string; or LateBoundDefault; or NativeComputedDefault; or function; or None; ברירת מחדל = ללא
ערך ברירת המחדל שצריך להשתמש בו אם לא צוין ערך למאפיין הזה כשמעבירים את הכלל. משתמשים במחרוזת או בפונקציה Label כדי לציין ערך ברירת מחדל. לדוגמה: attr.label(default = "//a:b").
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.
executable ברירת מחדל = False
ערך True אם הערך התלוי צריך להיות קובץ הפעלה. כלומר, התווית צריכה להפנות לקובץ הפעלה או לכלל שמפיק קובץ הפעלה. גישה לתווית באמצעות ctx.executable.<attribute_name>.
allow_files bool; or sequence of strings; or None; ברירת מחדל = ללא
אם מותר להשתמש ב-File יעדים. המזהה יכול להיות True, False (ברירת המחדל) או רשימה של סיומות קבצים מותרות (לדוגמה, [".cc", ".cpp"]).
allow_single_file ברירת מחדל = ללא
פעולה זו דומה לallow_files, עם הגבלה שהתווית חייבת להתאים לקובץ יחיד. ניתן לגשת אליו דרך ctx.file.<attribute_name>.
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).
providers ברירת מחדל = []
הספקים שחייבים להיות תלויים בכל תלות שמופיעה במאפיין הזה.

הפורמט של ארגומנט זה הוא רשימת רשימות של ספקים -- *Info אובייקטים שהוחזרו על ידי provider() (או במקרה של ספק מדור קודם, שם המחרוזת שלו). התלות חייבת להחזיר את כל הספקים שמוזכרים לפחות באחת מהרשימות הפנימיות. מטעמי נוחות, ארגומנט זה עשוי להיות גם רשימה של ספקים ברמה אחת, שבמקרה זה הוא מוקף ברשימה חיצונית עם רכיב אחד.

allow_rules sequence of strings; or None; ברירת מחדל = ללא
אילו יעדי טירגוט (שם הכיתות) מותרים. האפשרות הזו הוצאה משימוש (כרגע רק עבור תאימות). במקום זאת, צריך להשתמש בספקים.
cfg ברירת מחדל = ללא
הגדרה של המאפיין. הוא יכול להיות "exec", כלומר התלות שבנויה ל-execution platform, או "target", המציינת שהתלות מוגדרת עבור target platform. דוגמה נפוצה להבדל היא בעת בניית אפליקציות לנייד, כאשר target platform הוא Android או iOS בעוד ה-execution platform הוא Linux, macOS או Windows. הפרמטר הזה נדרש אם הערך של True הוא executable כדי להגן עליו מפני יצירה בטעות של כלים למארחים בהגדרת היעד. ל-"target" אין השפעה סמנטית, לכן אין להגדיר אותו כש-executable הוא False, אלא אם הוא באמת עוזר להבהיר את הכוונות שלך.
aspects sequence of Aspects; ברירת מחדל = []
היבטים שצריך להחיל על התלות או על התלות שצוינו במאפיין הזה.

label_keyed_string_diction

Attribute attr.label_keyed_string_dict(allow_empty=True, *, default={}, doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])

יוצר סכימה למאפיין שמכיל מילון, כאשר המפתחות הם תוויות והערכים הם מחרוזות. זהו מאפיין תלות.

מאפיין זה מכיל ערכי Label ייחודיים. אם תספקו מחרוזת במקום Label, תתבצע המרה שלה באמצעות בונה התוויות. החלקים היחסיים בנתיב של התווית, כולל המאגר (שאולי השתנה)

בזמן הניתוח (בתוך פונקציית ההטמעה של הכלל), כשאחזור ערך המאפיין מ-ctx.attr, התוויות מוחלפות ב-Target המתאימים. כך תהיה לך גישה לספקים של תלויות היעד הנוכחיות.

פרמטרים

פרמטר תיאור
allow_empty ברירת מחדל = True
True אם המאפיין יכול להיות ריק.
default dict; or function; ברירת מחדל = {}
ערך ברירת מחדל שצריך להשתמש בו אם לא צוין ערך למאפיין הזה במהלך יצירת הכלל. אפשר להשתמש במחרוזות או בפונקציה Label כדי לציין ערכי ברירת מחדל. לדוגמה: attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}).
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.
allow_files bool; or sequence of strings; or None; ברירת מחדל = ללא
אם מותר להשתמש ב-File יעדים. המזהה יכול להיות True, False (ברירת המחדל) או רשימה של סיומות קבצים מותרות (לדוגמה, [".cc", ".cpp"]).
allow_rules sequence of strings; or None; ברירת מחדל = ללא
אילו יעדי טירגוט (שם הכיתות) מותרים. האפשרות הזו הוצאה משימוש (כרגע רק עבור תאימות). במקום זאת, צריך להשתמש בספקים.
providers ברירת מחדל = []
הספקים שחייבים להיות תלויים בכל תלות שמופיעה במאפיין הזה.

הפורמט של ארגומנט זה הוא רשימת רשימות של ספקים -- *Info אובייקטים שהוחזרו על ידי provider() (או במקרה של ספק מדור קודם, שם המחרוזת שלו). התלות חייבת להחזיר את כל הספקים שמוזכרים לפחות באחת מהרשימות הפנימיות. מטעמי נוחות, ארגומנט זה עשוי להיות גם רשימה של ספקים ברמה אחת, שבמקרה זה הוא מוקף ברשימה חיצונית עם רכיב אחד.

flags sequence of strings; ברירת מחדל = []
הוצאה משימוש, תוסר.
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).
cfg ברירת מחדל = ללא
הגדרה של המאפיין. הוא יכול להיות "exec", כלומר התלות שבנויה ל-execution platform, או "target", המציינת שהתלות מוגדרת עבור target platform. דוגמה נפוצה להבדל היא בעת בניית אפליקציות לנייד, כאשר target platform הוא Android או iOS בעוד ה-execution platform הוא Linux, macOS או Windows.
aspects sequence of Aspects; ברירת מחדל = []
היבטים שצריך להחיל על התלות או על התלות שצוינו במאפיין הזה.

תווית_תווית

Attribute attr.label_list(allow_empty=True, *, default=[], doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])

יצירת סכימה למאפיין של רשימת תוויות. זהו מאפיין תלות.

מאפיין זה מכיל ערכי Label ייחודיים. אם תספקו מחרוזת במקום Label, תתבצע המרה שלה באמצעות בונה התוויות. החלקים היחסיים בנתיב של התווית, כולל המאגר (שאולי השתנה)

בזמן הניתוח (בתוך פונקציית ההטמעה של הכלל), כשאחזור ערך המאפיין מ-ctx.attr, התוויות מוחלפות ב-Target המתאימים. כך תהיה לך גישה לספקים של תלויות היעד הנוכחיות.

פרמטרים

פרמטר תיאור
allow_empty ברירת מחדל = True
True אם המאפיין יכול להיות ריק.
default sequence of Labels; or function; ברירת מחדל = []
ערך ברירת מחדל לשימוש אם לא מקבל ערך עבור המאפיין הזה בעת יצירת הכלל.יש להשתמש במחרוזות או בפונקציה Label כדי לציין ערכי ברירת מחדל, לדוגמה: attr.label_list(default = ["//a:b", "//a:c"]).
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.
allow_files bool; or sequence of strings; or None; ברירת מחדל = ללא
אם מותר להשתמש ב-File יעדים. המזהה יכול להיות True, False (ברירת המחדל) או רשימה של סיומות קבצים מותרות (לדוגמה, [".cc", ".cpp"]).
allow_rules sequence of strings; or None; ברירת מחדל = ללא
אילו יעדי טירגוט (שם הכיתות) מותרים. האפשרות הזו הוצאה משימוש (כרגע רק עבור תאימות). במקום זאת, צריך להשתמש בספקים.
providers ברירת מחדל = []
הספקים שחייבים להיות תלויים בכל תלות שמופיעה במאפיין הזה.

הפורמט של ארגומנט זה הוא רשימת רשימות של ספקים -- *Info אובייקטים שהוחזרו על ידי provider() (או במקרה של ספק מדור קודם, שם המחרוזת שלו). התלות חייבת להחזיר את כל הספקים שמוזכרים לפחות באחת מהרשימות הפנימיות. מטעמי נוחות, ארגומנט זה עשוי להיות גם רשימה של ספקים ברמה אחת, שבמקרה זה הוא מוקף ברשימה חיצונית עם רכיב אחד.

flags sequence of strings; ברירת מחדל = []
הוצאה משימוש, תוסר.
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).
cfg ברירת מחדל = ללא
הגדרה של המאפיין. הוא יכול להיות "exec", כלומר התלות שבנויה ל-execution platform, או "target", המציינת שהתלות מוגדרת עבור target platform. דוגמה נפוצה להבדל היא בעת בניית אפליקציות לנייד, כאשר target platform הוא Android או iOS בעוד ה-execution platform הוא Linux, macOS או Windows.
aspects sequence of Aspects; ברירת מחדל = []
היבטים שצריך להחיל על התלות או על התלות שצוינו במאפיין הזה.

פלט

Attribute attr.output(doc='', mandatory=False)

יוצר סכימה למאפיין פלט (תווית).

מאפיין זה מכיל ערכי Label ייחודיים. אם תספקו מחרוזת במקום Label, תתבצע המרה שלה באמצעות בונה התוויות. החלקים היחסיים בנתיב של התווית, כולל המאגר (שאולי השתנה)

בזמן הניתוח, אפשר לאחזר את File התואמים באמצעות ctx.outputs.

פרמטרים

פרמטר תיאור
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).

פלט_רשימות

Attribute attr.output_list(allow_empty=True, *, doc='', mandatory=False)

יצירת סכימה למאפיין של רשימת פלטים.

מאפיין זה מכיל ערכי Label ייחודיים. אם תספקו מחרוזת במקום Label, תתבצע המרה שלה באמצעות בונה התוויות. החלקים היחסיים בנתיב של התווית, כולל המאגר (שאולי השתנה)

בזמן הניתוח, אפשר לאחזר את File התואמים באמצעות ctx.outputs.

פרמטרים

פרמטר תיאור
allow_empty ברירת מחדל = True
True אם המאפיין יכול להיות ריק.
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).

string

Attribute attr.string(default='', doc='', mandatory=False, values=[])

יוצר סכימה למאפיין מחרוזת.

פרמטרים

פרמטר תיאור
default string; or NativeComputedDefault; ברירת מחדל = ''
ערך ברירת מחדל לשימוש אם לא מקבל ערך עבור המאפיין הזה בעת יצירת הכלל.
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).
values sequence of strings; ברירת מחדל = []
רשימת הערכים המותרים למאפיין. אם נלקח ערך אחר, תגדל שגיאה.

string_dict

Attribute attr.string_dict(allow_empty=True, *, default={}, doc='', mandatory=False)

יוצר סכימה למאפיין שמכיל מילון, כאשר המפתחות והערכים הם מחרוזות.

פרמטרים

פרמטר תיאור
allow_empty ברירת מחדל = True
True אם המאפיין יכול להיות ריק.
default ברירת מחדל = {}
ערך ברירת מחדל לשימוש אם לא מקבל ערך עבור המאפיין הזה בעת יצירת הכלל.
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).

string_list

Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc='')

יוצרת סכימה למאפיין של רשימת מחרוזות.

פרמטרים

פרמטר תיאור
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).
allow_empty ברירת מחדל = True
True אם המאפיין יכול להיות ריק.
default sequence of strings; or NativeComputedDefault; ברירת מחדל = []
ערך ברירת מחדל לשימוש אם לא מקבל ערך עבור המאפיין הזה בעת יצירת הכלל.
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.

string_list_dict

Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc='', mandatory=False)

יוצרת סכימה למאפיין שמכיל מילון, כאשר המפתחות הם מחרוזות והערכים הם רשימות של מחרוזות.

פרמטרים

פרמטר תיאור
allow_empty ברירת מחדל = True
True אם המאפיין יכול להיות ריק.
default ברירת מחדל = {}
ערך ברירת מחדל לשימוש אם לא מקבל ערך עבור המאפיין הזה בעת יצירת הכלל.
doc ברירת מחדל = ''
תיאור של המאפיין שניתן לחילוץ באמצעות כלים ליצירת מסמכים.
mandatory ברירת מחדל = False
אם הערך הוא TRUE, יש לציין את הערך באופן מפורש (גם אם הוא כולל default).