מפת הדרכים של Starlark

תאריך אימות אחרון: 2020-04-2020 (היסטוריית עדכונים)

איש קשר: laurentlb

גול

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

אנחנו מתמקדים בשני תחומים:

  • השפה וה-API צריכים להיות פשוטים וחזקים.
  • מספקים כלים טובים יותר לקריאה, לכתיבה, לעדכון, לניפוי ולבדיקת הקוד.

רבעון 2 2020

פיתוח של שיטות מומלצות ושיטות מומלצות בתחום הבריאות:

  • עמ' 0 לא כדאי לכלול פקודות מאקרו, בלי שם ולוודא שהשם הוא ליטרל מחרוזת ייחודי. עבודה זו מתמקדת ב-Google codebase, אך היא עשויה להשפיע על הכלים הזמינים באופן ציבורי.
  • עמ' 0 הפיכת פקודות Buildoz לאמינות בנוגע לבחירות ומשתנים.
  • ע1 בזכות האפשרות 'בונה אתרים' להסיר כפילויות ברשימות שאנחנו לא ממיינים, אנחנו מסירים אותן מהערות.
  • ע1 כדאי לעדכן את ה-Linify Finify כדי להמליץ על ביטויים פשוטים.
  • עמ' 2. קראו תרחישים לדוגמה של native.existing_rules והציעו חלופות.
  • עמ' 2. קראו תרחישים לדוגמה עבור קובץ הקדמה והציעו חלופות.

ביצועים:

  • ע1 ביצוע אופטימיזציה למתורגמן של Starlark באמצעות סביבות שטוחות ואוסף בייטים

הפחתת חוב טכני:

  • עמ' 0 הוספת יכולת להעברת סמלים מקוריים ל-Starlark שמתחת לכתובת @bazel_tools.
  • ע1 למחוק סימונים מיושנים (חלקם עדיין בשימוש ב-Google, ולכן אנחנו צריכים לנקות תחילה את בסיס הקוד): incompatible_always_check_depset_elements ,incompatible_disable_deprecated_attr_params ,incompatible_no_support_tools_in_action_inputs, incompatible_new_actions_api הנתונים.
  • ע1 חשוב לוודא שניתן להפוך את הדגלים הבאים ב-Bazel 4.0: incompatible_disable_depset_items, incompatible_no_implicit_file_export, incompatible_run_shell_command_string, incompatible_restrict_string_escapes.
  • ע1 סיום פעולת lib.syntax (ניקוי API, הפרדה מ-Bazel).
  • עמ' 2. הפחתת ב-50% את זמן האחזור של build+test של עריכה טריוויאלית לחבילות Java של Bazel.

קהילה:

  • rules_python פעיל ומתוחזק היטב על ידי הקהילה.
  • תמיכה מתמשכת ב-כללי_jvm_external (ללא בקשות משיכה יוצאות דופן, עיבוד בעיות, יצירת גרסאות).
  • ניהול תשתית התיעוד של Bazel: ריכוז וקנוניזציה של סגנונות CSS בכל האתרים של bazel, אתר bazel-blog, docs
  • מסמכי Bazel: הוספת בדיקות CI לבניית אתר למסמכי e2e כדי למנוע רגרסיות.

רבעון 1 2020

פיתוח של שיטות מומלצות ושיטות מומלצות בתחום הבריאות:

  • התרת יעדים למעקב אחר מחסנית שיחות המאקרו שלהם, לייצוא באמצעות bazel query
  • הטמעת --incompatible_no_implicit_file_export
  • יש להסיר את ממשקי ה-API של Depset שהוצאו משימוש (#5817, #10313, #9017).
  • ניתן להוסיף מנתח קבצים מקיף ב-Buildifier, ולהטמיע בדיקת פונקציות שהוצאו משימוש.

ביצועים:

  • כך בדיקות ה-Java של Bazel תתבצע פי 2 מהר יותר.
  • יישום פרופילר של יחידת עיבוד מרכזית ב-Starlark.

הפחתת חוב טכני:

  • מסירים 8 סימונים לא תואמים (לאחר הפיכתם).
  • סיים את פעולת הניקוי של lib.syntax (תלויות הפסקה).
  • אופטימיזציה של Starlark: סביבה שטוחה, הידור של בייטים
  • מחיקת כל הסיריאליות משלב הניתוח, אם אפשר
  • צור תוכנית לפשטה/אופטימיזציה של lib.packages

קהילה:

  • פרסם מילון מונחים שמכיל הגדרות עבור כל המונחים הספציפיים לבזל