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

כללי מעטפת

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

כללים

sh_binary

sh_binary(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, exec_compatible_with, exec_properties, features, licenses, output_licenses, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)

הכלל sh_binary משמש להצהרה על סקריפטים של קובצי הפעלה. (sh_binary הוא מונח מטעה: הפלט שלו אינו בהכרח בינארי). הכלל הזה יוצר את כל יחסי התלות ו מופיע באזור runfiles בזמן הביצוע. מומלץ לתת לכללי sh_binary() את השם של הסקריפט לפני שם התוסף (למשל, .sh). שם הכלל ושם הקובץ חייבים להיות ייחודיים. sh_binary מכבד שדונים, ולכן אפשר להשתמש בכל מתורגמן זמין (למשל #!/bin/zsh)

דוגמה

עבור סקריפט מעטפת פשוט ללא יחסי תלות וקובצי נתונים מסוימים:

sh_binary(
    name = "foo",
    srcs = ["foo.sh"],
    data = glob(["datafiles/*.txt"]),
)

ארגומנטים

מאפיינים
name

Name; required

שם ייחודי ליעד הזה.

deps

List of labels; optional

רשימת היעדים "library" שיש לצבור ליעד הזה. יש לך אפשרות לעיין בתגובות כלליות על deps במאפיינים אופייניים שהוגדרו על ידי רוב כללי ה-build.

יש להשתמש במאפיין הזה כדי לציין כללים אחרים של sh_library שמספקים קוד מקור של תוכנית שתלויה בקוד ב-srcs. הקבצים שצוינו בכללים האלה יופיעו בין runfiles של היעדים.

srcs

List of labels; required

הקובץ שמכיל את סקריפט המעטפת.

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

sh_library

sh_library(name, deps, srcs, data, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)

השימוש העיקרי בכלל הזה הוא לצבור {0} "library" לוגיקה, שכוללת סקריפטים קשורים – תוכניות בשפה שמתורגמת שאינן מחייבות הידור או קישור, כמו לאחר מכן ניתן להשתמש &בספרייה כאלה; במאפיין data של כלל אחד (sh_binary) או יותר.

אפשר להשתמש בכלל filegroup כדי לצבור קובצי נתונים.

בשפות תכנות מתורגם, לא תמיד יש הבחנה ברורה בין "code " &"data": בסופו של דבר, התוכנית היא רק &"data" מנקודת המבט של המתרגם. לכן, לכלל הזה יש שלושה מאפיינים שבכולם זהים: srcs, deps ו-data. ההטמעה הנוכחית לא מבחינה בין הרכיבים של הרשימות האלה. כל שלושת המאפיינים מקבלים כללים, קובצי מקור וקבצים שנוצרו. עם זאת, מומלץ להשתמש במאפיינים למטרה הרגילה שלהם (כמו בכללים אחרים).

דוגמאות

sh_library(
    name = "foo",
    data = [
        ":foo_service_script",  # an sh_binary with srcs
        ":deploy_foo",  # another sh_binary with srcs
    ],
)

ארגומנטים

מאפיינים
name

Name; required

שם ייחודי ליעד הזה.

deps

List of labels; optional

רשימת היעדים "library" שיש לצבור ליעד הזה. יש לך אפשרות לעיין בתגובות כלליות על deps במאפיינים אופייניים שהוגדרו על ידי רוב כללי ה-build.

יש להשתמש במאפיין הזה כדי לציין כללים אחרים של sh_library שמספקים קוד מקור של תוכנית שתלויה בקוד ב-srcs. הקבצים שצוינו בכללים האלה יופיעו בין runfiles של היעדים.

srcs

List of labels; optional

רשימת קובצי הקלט.

יש להשתמש במאפיין הזה כדי לרשום קובצי מקור של סקריפט מעטפת ששייכים לספרייה הזו. סקריפטים יכולים לטעון סקריפטים אחרים באמצעות הפקודה source או . של המעטפת.

Sh_test

sh_test(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, env_inherit, exec_compatible_with, exec_properties, features, flaky, licenses, local, restricted_to, shard_count, size, tags, target_compatible_with, testonly, timeout, toolchains, visibility)

כלל sh_test() יוצר בדיקה נכתבת כסקריפט מעטפת בורן.

כדאי לעיין ב מאפיינים הנפוצים בכל כללי הבדיקה (*_test).

דוגמאות

sh_test(
    name = "foo_integration_test",
    size = "small",
    srcs = ["foo_integration_test.sh"],
    deps = [":foo_sh_lib"],
    data = glob(["testdata/*.txt"]),
)

ארגומנטים

מאפיינים
name

Name; required

שם ייחודי ליעד הזה.

deps

List of labels; optional

רשימת היעדים "library" שיש לצבור ליעד הזה. יש לך אפשרות לעיין בתגובות כלליות על deps במאפיינים אופייניים שהוגדרו על ידי רוב כללי ה-build.

יש להשתמש במאפיין הזה כדי לציין כללים אחרים של sh_library שמספקים קוד מקור של תוכנית שתלויה בקוד ב-srcs. הקבצים שצוינו בכללים האלה יופיעו בין runfiles של היעדים.

srcs

List of labels; required

הקובץ שמכיל את סקריפט המעטפת.

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