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

מאגר_מאגר

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
ההקשר של כלל המאגר שמכיל פונקציות עזר ומידע על מאפיינים. כשיוצרים כלל במאגר, מקבלים אובייקט של מאגר_ctx כארגומנט לפונקציה implementation.

חברי מועדון

מאפיין

struct repository_ctx.attr

שיטה שמאפשרת לגשת לערכים של המאפיינים. הערכים נקבעים על ידי המשתמש (אם לא, נעשה שימוש בערך ברירת מחדל).

delete

bool repository_ctx.delete(path)

מחיקת קובץ או ספרייה. מחזירה בוליאני, שמציין אם הקובץ או הספרייה נמחקו על ידי השיחה הזו.

פרמטרים

פרמטר תיאור
path string; or path; נדרש
נתיב הקובץ למחיקה, ביחס לספריית המאגר או באופן מוחלט. אפשר להשתמש בנתיב או במחרוזת.

הורדה, להוריד

struct repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')

הורדה של קובץ לנתיב הפלט של כתובת ה-URL שצוינה, והחזרה של מבנה שמכיל success. תכונה זו היא true אם ההורדה הושלמה בהצלחה, ואם היא הושלמה, גיבוב (hash) של הקובץ עם השדות sha256 ו-integrity.

פרמטרים

פרמטר תיאור
url string; or Iterable of strings; נדרשת
רשימה של כתובות URL עם שיקוף שמתייחסות לאותו קובץ.
output string; or Label; or path; ברירת המחדל = ''
נתיב לקובץ הפלט, ביחס לספריית המאגר.
sha256 ברירת מחדל = ''
גיבוב SHA-256 צפוי של הקובץ שהורד. הערך הזה חייב להיות תואם לגיבוב SHA-256 של הקובץ שהורדתם. כדאי להשמיט את SHA-256 כי יכול להיות שהקבצים המרוחקים ישתנו. אם משמיטים את השדה הזה, הוא עלול להיות לא-הירמטי. לא חייבים לשלב פיתוח, אבל צריך להגדיר אותו לפני המשלוח.
executable ברירת מחדל = False
מגדירים את סימון קובץ ההפעלה בקובץ שנוצר, False כברירת מחדל.
allow_fail ברירת מחדל = False
אם מוגדר, מציינים את השגיאה בערך ההחזרה במקום להעלות שגיאה להורדות שנכשלו
canonical_id ברירת מחדל = ''
אם המדיניות מוגדרת, יש להגביל את ההיטים למטמון למקרים שבהם הקובץ נוסף למטמון עם אותו מזהה קנוני.
auth ברירת מחדל = {}
הצהרה אופציונלית המציינת פרטי אימות של חלק מכתובות ה-URL.
integrity ברירת מחדל = ''
סכום הבדיקה הצפוי של הקובץ שהורד, בפורמט תקינות של משאבי משנה. הוא צריך להיות זהה לסיכום הביקורת של הקובץ שהורד. כדי לצמצם את סכומי ההמחאה, אנחנו עלולים להשמיט את האבטחה מרחוק. אם משמיטים את השדה הזה, הוא עלול להיות לא-הירמטי. לא חייבים לשלב פיתוח, אבל צריך להגדיר אותו לפני המשלוח.

download_and_extract

struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})

המערכת מורידה קובץ לנתיב הפלט של כתובת ה-URL שצוינה, מחלצת אותו ומחזירה מבנה שמכיל success. סימון הוא true אם ההורדה הושלמה בהצלחה, ואם היא הושלמה, גיבוב (hash) של הקובץ עם השדות sha256 ו-integrity.

פרמטרים

פרמטר תיאור
url string; or Iterable of strings; נדרשת
רשימה של כתובות URL עם שיקוף שמתייחסות לאותו קובץ.
output string; or Label; or path; ברירת המחדל = ''
נתיב למאגר שבו הארכיון יופרז, ביחס לספריית המאגר.
sha256 ברירת מחדל = ''
גיבוב SHA-256 צפוי של הקובץ שהורד. הערך הזה חייב להיות תואם לגיבוב SHA-256 של הקובץ שהורדתם. כדאי להשמיט את SHA-256 כי יכול להיות שהקבצים המרוחקים ישתנו. אם משמיטים את השדה הזה, הוא עלול להיות לא-הירמטי. לא חייבים לשלב פיתוח, אבל צריך להגדיר אותו לפני המשלוח. אם צוין, המטמון תחילה ייבדק כדי לראות קובץ עם הגיבוב הנתון. יתבצע ניסיון להוריד רק אם הקובץ לא נמצא במטמון. אחרי שההורדה תסתיים בהצלחה, הקובץ יתווסף למטמון.
type default = ''
סוג הארכיון של הקובץ שהורדתם. כברירת מחדל, סוג הארכיון נקבע לפי סיומת הקובץ של כתובת האתר. אם אין סיומת לקובץ, אפשר לציין באופן מפורש את המירכאות; "zip", "gar", "war", "aar", "tar", "tar.gz", "tgz", "tar;quotquot;quot"z"z"z"z"z" "z"z" "
stripPrefix ברירת מחדל = ''
תחילית ספרייה להסרת הקבצים שחולצו. ארכיונים רבים מכילים ספרייה ברמה העליונה שמכילה את כל הקבצים בארכיון. במקום לציין את הקידומת הזו שוב ושוב בbuild_file, אפשר להשתמש בשדה הזה כדי להסיר אותה מהקבצים שחולצו.
allow_fail ברירת מחדל = False
אם מוגדר, מציינים את השגיאה בערך ההחזרה במקום להעלות שגיאה להורדות שנכשלו
canonical_id ברירת מחדל = ''
אם המדיניות מוגדרת, יש להגביל את ההיטים למטמון למקרים שבהם הקובץ נוסף למטמון עם אותו מזהה קנוני.
auth ברירת מחדל = {}
הצהרה אופציונלית המציינת פרטי אימות של חלק מכתובות ה-URL.
integrity ברירת מחדל = ''
סכום הבדיקה הצפוי של הקובץ שהורד, בפורמט תקינות של משאבי משנה. הוא צריך להיות זהה לסיכום הביקורת של הקובץ שהורד. כדי לצמצם את סכומי ההמחאה, אנחנו עלולים להשמיט את האבטחה מרחוק. אם משמיטים את השדה הזה, הוא עלול להיות לא-הירמטי. לא חייבים לשלב פיתוח, אבל צריך להגדיר אותו לפני המשלוח.
rename_files ברירת מחדל = {}
הכתבה אופציונלית שמציינת קבצים לשינוי שם במהלך החילוץ. ערכים של ארכיון עם שמות שתואמים במדויק למפתח ישתנו לשם, לפני התאמת קידומת של ספרייה. אפשר להשתמש באפשרות הזאת כדי לחלץ ארכיונים שמכילים שמות קבצים שאינם מסוג Unicode, או שמכילים קבצים שחולצו לאותו נתיב במערכות קבצים שאינן תלויות אותיות רישיות.

הפעלה

exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")

ביצוע הפקודה שניתנה על ידי רשימת הארגומנטים. זמן הביצוע של הפקודה מוגבל על ידי timeout (בשניות, ברירת המחדל היא 600 שניות). השיטה הזו מחזירה מבנה exec_result המכיל את הפלט של הפקודה. ניתן להשתמש במפה של environment כדי לשנות חלק ממשתני הסביבה שיועברו לתהליך.

פרמטרים

פרמטר תיאור
arguments חובה
רשימת ארגומנטים, הרכיב הראשון צריך להיות הנתיב של התוכנית להרצה.
timeout ברירת מחדל = 600
משך הזמן המרבי של הפקודה (בשניות) (ברירת המחדל היא 600 שניות).
environment ברירת מחדל = {}
מאלצים הגדרה של משתני סביבה מסוימים בתהליך.
quiet ברירת מחדל = True
אם stdout ו-stderr מודפסים למסוף.
working_directory ברירת מחדל = ""
ספריית עבודה לביצוע פקודה. יכול להיות יחסי לשורש המאגר או למוחלט.

חילוץ

None repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})

חילוץ ארכיון לספריית המאגר.

פרמטרים

פרמטר תיאור
archive string; or Label; or path; נדרש
להעברה לארכיון שהאריזה שלה תוסר, ביחס לספריית המאגר.
output string; or Label; or path; ברירת המחדל = ''
נתיב למאגר שבו הארכיון יופרז, ביחס לספריית המאגר.
stripPrefix ברירת מחדל = ''
תחילית ספרייה להסרת הקבצים שחולצו. ארכיונים רבים מכילים ספרייה ברמה העליונה שמכילה את כל הקבצים בארכיון. במקום לציין את הקידומת הזו שוב ושוב בbuild_file, אפשר להשתמש בשדה הזה כדי להסיר אותה מהקבצים שחולצו.
rename_files ברירת מחדל = {}
הכתבה אופציונלית שמציינת קבצים לשינוי שם במהלך החילוץ. ערכים של ארכיון עם שמות שתואמים במדויק למפתח ישתנו לשם, לפני התאמת קידומת של ספרייה. אפשר להשתמש באפשרות הזאת כדי לחלץ ארכיונים שמכילים שמות קבצים שאינם מסוג Unicode, או שמכילים קבצים שחולצו לאותו נתיב במערכות קבצים שאינן תלויות אותיות רישיות.

קובץ

None repository_ctx.file(path, content='', executable=True, legacy_utf8=True)

יצירת קובץ בספריית המאגר עם התוכן שסופק.

פרמטרים

פרמטר תיאור
path string; or Label; or path. נדרש
נתיב של הקובץ ליצירה, ביחס לספריית המאגר.
content default = ''
התוכן של הקובץ שיש ליצור, ריק כברירת מחדל.
executable ברירת מחדל = True
הגדרה של סימון קובץ ההפעלה בקובץ שנוצר, true כברירת מחדל.
legacy_utf8 ברירת מחדל = True
קידוד התוכן של הקובץ ל-UTF-8, True כברירת מחדל. גרסאות עתידיות ישנו את ברירת המחדל ויסירו את הפרמטר הזה.

name

string repository_ctx.name

השם של המאגר החיצוני שנוצר על ידי הכלל הזה.

OS

repository_os repository_ctx.os

מבנה גישה למידע מהמערכת.

patch

None repository_ctx.patch(patch_file, strip=0)

החלה של קובץ תיקון על ספריית הבסיס של מאגר חיצוני. קובץ התיקון צריך להיות קובץ פורמט אחיד. הטמעת התיקון המקורי של Bazel אינה תומכת בהתאמה ב-Foze ובתיקון בינארי כמו כלי שורת הפקודה של התיקון.

פרמטרים

פרמטר תיאור
patch_file string; or Label; or path; נדרש
קובץ התיקון שעליו להשתמש, הוא יכול להיות תווית, נתיב יחסי או נתיב מוחלט. אם זהו נתיב יחסי, הוא יועבר לספריית המאגר.
strip ברירת מחדל = 0
הסרת המספר שצוין של רכיבים מובילים משמות הקבצים.

נתיב

path repository_ctx.path(path)

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

פרמטרים

פרמטר תיאור
path string; or Label; or path; נדרש
מחרוזת, תווית או נתיב שמהם יוצרים נתיב

קריאה

string repository_ctx.read(path)

קורא את התוכן של קובץ במערכת הקבצים.

פרמטרים

פרמטר תיאור
path string; or Label; or path; נדרש
נתיב של הקובץ לקריאה.

report_progress

None repository_ctx.report_progress(status='')

מתבצע עדכון של סטטוס ההתקדמות באחזור המאגר או תוסף המודול

פרמטרים

פרמטר תיאור
status string; ברירת מחדל = ''
מחרוזת המתארת את הסטטוס הנוכחי של התקדמות האחזור

None repository_ctx.symlink(target, link_name)

יוצר קישור סימטרי במערכת הקבצים.

פרמטרים

פרמטר תיאור
target string; or Label; or path; חובה
הנתיב שאליו הקישור הסימולטי צריך להפנות.
string; or Label; or path; נדרש
הנתיב של הקישור הסמל ליצירת, ביחס לספריית המאגר.

תבנית

None repository_ctx.template(path, template, substitutions={}, executable=True)

הסקריפט הזה יוצר קובץ חדש באמצעות template. כל חזרה ב-template מהמפתח substitutions תוחלף בערך המתאים. התוצאה כתובה בpath. ניתן להגדיר ארגומנט אופציונליexecutable (ברירת מחדל כ-True) כדי להפעיל או להשבית את סיכת ההפעלה.

פרמטרים

פרמטר תיאור
path string; or Label; or path. נדרש
נתיב של הקובץ ליצירה, ביחס לספריית המאגר.
template string; or Label; or path; צריך
להזין את קובץ התבנית.
substitutions ברירת מחדל = {}
תחליפים בעת הרחבת התבנית.
executable ברירת מחדל = True
הגדרה של סימון קובץ ההפעלה בקובץ שנוצר, true כברירת מחדל.

איזה

path repository_ctx.which(program)

מחזירה את הנתיב של התוכנית המתאימה או את הערך None אם אין תוכנית כזו בנתיב.

פרמטרים

פרמטר תיאור
program נדרשת
כדי למצוא את הנתיב.
עשוי להחזיר None.

workspace_root

path repository_ctx.workspace_root

הנתיב לסביבת העבודה הבסיסית של ההפעלה של הבסיס.