BazelCon 2022 מגיע בין 16 ל-17 בנובמבר לניו יורק באינטרנט.
הירשמו עוד היום!

מאגר_מאגר

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

חברי מועדון

מאפיין

struct repository_ctx.attr

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

מחק

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 שסופקה והחזרת מבנה המכיל גיבוב (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 ברירת מחדל = ISRC
סקריפט אופציונלי המציין פרטי אימות של חלק מכתובות ה-URL.
integrity ברירת מחדל = ''
סכום הביקורת הצפוי על הקובץ שהורדת, בפורמט 'תקינות משנה'. הקובץ הזה צריך להתאים לסיכום הביקורת של הקובץ שהורדת. סיכון האבטחה הוא להשמיט את סכום ההמחאה כי קבצים מרוחקים יכולים להשתנות. אם תשמיט את השדה הזה, השדה לא חובה להקל על הפיתוח, אבל צריך להגדיר אותו לפני המשלוח.

Download_and_extract

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

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

פרמטרים

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

ביצוע

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

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

פרמטרים

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

חילוץ

None repository_ctx.extract(archive, output='', stripPrefix='')

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

פרמטרים

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

קובץ

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

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

פרמטרים

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

שם

string repository_ctx.name

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

OS

repository_os repository_ctx.os

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

תיקון

None repository_ctx.patch(patch_file, strip=0)

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

פרמטרים

הפרמטר תיאור
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(from, to)

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

פרמטרים

הפרמטר תיאור
from string; or Label; or path; נתיב
שאליו יש להפנות באמצעות הקישור הסימבולי.
to 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
יש להגדיר את סימן ההפעלה בקובץ שנוצר, כברירת מחדל.

איזה

path repository_ctx.which(program)

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

פרמטרים

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

workspace_root

path repository_ctx.workspace_root

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