MODULE.bazel ไฟล์

7.3 · 7.2 · 7.1 · 7.0 · 6.5

มีเมธอดในไฟล์ MODULE.bazel

สมาชิก

archive_override

None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)

ระบุว่าทรัพยากร Dependency นี้ควรมาจากไฟล์ที่เก็บถาวร (zip, gzip ฯลฯ) ในตำแหน่งที่เจาะจง ไม่ใช่จากรีจิสทรี คำสั่งนี้จะมีผลเฉพาะในโมดูลรูท กล่าวคือ หากมีการใช้โมดูลเป็นข้อกำหนดโดยผู้อื่น ระบบจะไม่สนใจการลบล้างของโมดูลนั้น

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
module_name ต้องระบุ
ชื่อของโมดูล Bazel ที่ต้องพึ่งพาเพื่อใช้การลบล้างนี้
urls สตริง หรือ Iterable ของ สตริง ต้องระบุ
URL ของไฟล์เก็บถาวร ซึ่งอาจเป็น URL รูปแบบ http(s):// หรือ file://
integrity ค่าเริ่มต้นคือ ''
checksum ของไฟล์ที่เก็บถาวรในรูปแบบ Subresource Integrity
strip_prefix ค่าเริ่มต้นคือ ''
คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก
patches เรียงสตริงได้ ค่าเริ่มต้นคือ []
รายการป้ายกำกับที่ชี้ไปยังไฟล์แพตช์ที่จะใช้สำหรับโมดูลนี้ ไฟล์แพตช์ต้องอยู่ในโครงสร้างซอร์สโค้ดของโปรเจ็กต์ระดับบนสุด ระบบจะบังคับใช้ตามลําดับรายการ
patch_cmds Iterable ของ string ค่าเริ่มต้นคือ []
ลําดับคําสั่ง Bash ที่จะใช้ใน Linux/Macos หลังจากติดตั้งแพตช์
patch_strip ค่าเริ่มต้นคือ 0
เหมือนกับอาร์กิวเมนต์ --strip ของแพตช์ Unix

bazel_dep

None bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)

ประกาศการพึ่งพาโดยตรงกับโมดูล Bazel อื่น

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
name ต้องระบุ
ชื่อของโมดูลที่จะเพิ่มเป็นทรัพยากร Dependency โดยตรง
version ค่าเริ่มต้นคือ ''
ซึ่งเป็นเวอร์ชันของโมดูลที่จะเพิ่มเป็นข้อกำหนดโดยตรง
max_compatibility_level ค่าเริ่มต้นคือ -1
compatibility_level สูงสุดที่สนับสนุนสำหรับโมดูลที่จะเพิ่มเป็นทรัพยากร Dependency โดยตรง เวอร์ชันของโมดูลจะระบุ compatibility_level ขั้นต่ำที่รองรับ รวมถึงสูงสุดหากไม่ได้ระบุแอตทริบิวต์นี้
repo_name ค่าเริ่มต้นคือ ''
ชื่อของรีโปภายนอกที่แสดงถึงข้อกําหนดนี้ โดยค่าเริ่มต้นจะเป็นชื่อของโมดูล
dev_dependency ค่าเริ่มต้นคือ False
หากเป็น "จริง" ระบบจะไม่สนใจข้อกำหนดนี้หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ `--ignore_dev_dependency`

git_override

None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0, init_submodules=False, strip_prefix='')

ระบุว่าข้อกำหนดควรมาจากคอมมิตที่เจาะจงของที่เก็บ Git คำสั่งนี้จะมีผลเฉพาะในโมดูลรูท กล่าวคือ หากมีการใช้โมดูลเป็นข้อกำหนดโดยผู้อื่น ระบบจะไม่สนใจการลบล้างของโมดูลนั้น

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
module_name ต้องระบุ
ชื่อของโมดูล Bazel ที่ต้องพึ่งพาเพื่อใช้การลบล้างนี้
remote ต้องระบุ
URL ของที่เก็บ Git ระยะไกล
commit ค่าเริ่มต้นคือ ''
การคอมมิตที่ควรตรวจสอบ
patches เรียงสตริงได้ ค่าเริ่มต้นคือ []
รายการป้ายกำกับที่ชี้ไปยังไฟล์แพตช์ที่จะใช้สำหรับโมดูลนี้ ไฟล์แพตช์ต้องอยู่ในโครงสร้างซอร์สโค้ดของโปรเจ็กต์ระดับบนสุด ระบบจะบังคับใช้ตามลําดับรายการ
patch_cmds Iterable ของ string ค่าเริ่มต้นคือ []
ลําดับคําสั่ง Bash ที่จะใช้ใน Linux/Macos หลังจากติดตั้งแพตช์
patch_strip ค่าเริ่มต้นคือ 0
เหมือนกับอาร์กิวเมนต์ --strip ของแพตช์ Unix
init_submodules ค่าเริ่มต้นคือ False
ควรเริ่มต้นย่อย Git ในที่เก็บที่ดึงข้อมูลแบบซ้ำหรือไม่
strip_prefix ค่าเริ่มต้นคือ ''
คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ซึ่งสามารถใช้เพื่อกําหนดเป้าหมายไดเรกทอรีย่อยของที่เก็บ Git โปรดทราบว่าไดเรกทอรีย่อยต้องมีไฟล์ `MODULE.bazel` ของตัวเองที่มีชื่อโมดูลเหมือนกับอาร์กิวเมนต์ `module_name` ที่ส่งไปยัง `git_override` นี้

รวม

None include(label)

มีเนื้อหาของไฟล์ MODULE.bazel อื่น include() จะทํางานเสมือนว่าไฟล์ที่รวมอยู่เป็นข้อความ ณ ตําแหน่งของการเรียกใช้ include() ยกเว้นว่าการเชื่อมโยงตัวแปร (เช่น การเชื่อมโยงตัวแปรที่ใช้สําหรับ use_extension) จะปรากฏให้เห็นเฉพาะในไฟล์ที่เกิดขึ้นเท่านั้น โดยจะไม่แสดงในไฟล์ที่รวมอยู่หรือไฟล์ที่รวมด้วย

มีเพียงโมดูลรูทเท่านั้นที่ใช้ include() ได้ ซึ่งจะเกิดข้อผิดพลาดหากไฟล์ MODULE ของ bazel_dep ใช้ include()

โดยจะมีเฉพาะไฟล์ในรีโปหลักเท่านั้น

include() ช่วยให้คุณแบ่งไฟล์โมดูลรูทออกเป็นหลายส่วนได้ เพื่อหลีกเลี่ยงการมีไฟล์ MODULE.bazel ขนาดใหญ่หรือเพื่อจัดการการควบคุมการเข้าถึงสำหรับแต่ละกลุ่มความหมายได้ดียิ่งขึ้น

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
label required
ป้ายกำกับที่ชี้ไปยังไฟล์ที่จะรวม ป้ายกำกับต้องชี้ไปยังไฟล์ในรีโปหลัก กล่าวคือ ต้องขึ้นต้นด้วยเครื่องหมายทับคู่ (//)

local_path_override

None local_path_override(module_name, path)

ระบุว่าทรัพยากร Dependency ควรมาจากไดเรกทอรีบางรายการในดิสก์ภายใน คำสั่งนี้จะมีผลเฉพาะในโมดูลรูท กล่าวคือ หากมีการใช้โมดูลเป็นข้อกำหนดโดยผู้อื่น ระบบจะไม่สนใจการลบล้างของโมดูลนั้น

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
module_name ต้องระบุ
ชื่อของทรัพยากร Dependency ของโมดูล Bazel ที่จะใช้การลบล้างนี้
path ต้องระบุ
เส้นทางไปยังไดเรกทอรีที่มีโมดูลนี้

โมดูล

None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])

ประกาศคุณสมบัติบางอย่างของโมดูล Bazel ที่แสดงโดยที่เก็บ Bazel ปัจจุบัน พร็อพเพอร์ตี้เหล่านี้เป็นข้อมูลเมตาที่จำเป็นของโมดูล (เช่น ชื่อและเวอร์ชัน) หรือส่งผลต่อลักษณะการทํางานของโมดูลปัจจุบันและรายการที่เกี่ยวข้อง

ควรเรียกใช้ไม่เกิน 1 ครั้ง และหากเรียกใช้ ต้องเป็นคำสั่งแรกสุดในไฟล์ MODULE.bazel โดยสามารถละได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลรูท (เช่น ในกรณีของโมดูลอื่นจะไม่ขึ้นกับโมดูลอื่น)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
name ค่าเริ่มต้นคือ ''
ชื่อของโมดูล ละเว้นได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลรูท (ในกรณีที่โมดูลอื่นจะไม่ใช้) ชื่อโมดูลที่ถูกต้องจะต้องมีลักษณะดังนี้ 1) มีแต่ตัวอักษรพิมพ์เล็ก (a-z) ตัวเลข (0-9) จุด (.) ขีดกลาง (-) และขีดล่าง (_) 2) ขึ้นต้นด้วยตัวอักษรพิมพ์เล็ก 3) ลงท้ายด้วยตัวอักษรพิมพ์เล็กหรือตัวเลข
version ค่าเริ่มต้นคือ ''
รุ่นของโมดูล ละเว้นได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลรูท (ในกรณีที่โมดูลอื่นจะไม่ใช้) เวอร์ชันต้องอยู่ในรูปแบบ SemVer แบบผ่อนปรน ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบ
compatibility_level ค่าเริ่มต้นคือ 0
ระดับความเข้ากันได้ของโมดูล ซึ่งควรเปลี่ยนแปลงทุกครั้งที่มีการเปลี่ยนแปลงที่สำคัญซึ่งเข้ากันไม่ได้ โดยพื้นฐานแล้วนี่คือ "เวอร์ชันหลัก" ของโมดูลในแง่ของ SemVer เว้นแต่ว่าโมดูลดังกล่าวไม่ได้ฝังตัวอยู่ในสตริงเวอร์ชัน แต่มีอยู่ในช่องแยกต่างหาก โมดูลที่มีระดับความเข้ากันได้ต่างกันจะเข้าร่วมการแก้ไขเวอร์ชันเหมือนกับเป็นโมดูลที่มีชื่อต่างกัน แต่กราฟความเกี่ยวข้องสุดท้ายต้องไม่มีโมดูลหลายรายการที่มีชื่อเดียวกันแต่มีระดับความเข้ากันได้ต่างกัน (เว้นแต่จะมีการใช้ multiple_version_override อยู่) ดูรายละเอียดเพิ่มเติมในเอกสารประกอบ
repo_name ค่าเริ่มต้นคือ ''
ชื่อที่เก็บข้อมูลที่แสดงถึงโมดูลนี้ตามที่โมดูลเห็น โดยค่าเริ่มต้น ชื่อของที่เก็บจะเป็นชื่อของโมดูล คุณระบุชื่อนี้เพื่อให้การย้ายข้อมูลโปรเจ็กต์ที่ใช้ชื่อรีโปสำหรับโปรเจ็กต์นั้นแตกต่างจากชื่อโมดูลได้ง่ายขึ้น
bazel_compatibility สตริงซ้ำกันได้ ค่าเริ่มต้นคือ []
รายการเวอร์ชันของ Bazel ที่อนุญาตให้ผู้ใช้ประกาศว่าเวอร์ชัน Bazel ใดที่เข้ากันได้กับโมดูลนี้ การดำเนินการนี้จะไม่ส่งผลต่อความละเอียดของทรัพยากร Dependency แต่ bzlmod จะใช้ข้อมูลนี้เพื่อตรวจสอบว่าเวอร์ชัน Bazel ปัจจุบันของคุณรองรับหรือไม่ รูปแบบของค่านี้คือสตริงของค่าข้อจำกัดบางค่าที่คั่นด้วยคอมมา ระบบรองรับข้อจำกัด 3 ข้อ ได้แก่ <=X.X.X: เวอร์ชัน Bazel ต้องเท่ากับหรือเก่ากว่า X.X.X ใช้เมื่อทราบว่ามีการเปลี่ยนแปลงที่เข้ากันไม่ได้ในเวอร์ชันใหม่ >=X.X.X: เวอร์ชัน Bazel ต้องเท่ากับหรือใหม่กว่า X.X.X ใช้เมื่อคุณต้องใช้ฟีเจอร์บางอย่างซึ่งมีให้ตั้งแต่ X.X.X -X.X.X เท่านั้น: Bazel เวอร์ชัน X.X.X ใช้งานไม่ได้ ใช้เมื่อมีข้อบกพร่องใน X.X.X ที่ทำให้คุณใช้งานไม่ได้ แต่ได้รับการแก้ไขในเวอร์ชันที่ใหม่กว่า

multiple_version_override

None multiple_version_override(module_name, versions, registry='')

ระบุว่าข้อกำหนดควรยังคงมาจากรีจิสทรี แต่ควรอนุญาตให้มีเวอร์ชันหลายเวอร์ชันอยู่ร่วมกันได้ ดูรายละเอียดเพิ่มเติมในเอกสารประกอบ คำสั่งนี้มีผลในโมดูลรากเท่านั้น กล่าวคือ หากผู้อื่นใช้โมดูลหนึ่งเป็นทรัพยากร Dependency ระบบก็จะไม่สนใจการลบล้างของโมดูลนั้น

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
module_name ต้องระบุ
ชื่อของทรัพยากร Dependency ของโมดูล Bazel ที่จะใช้การลบล้างนี้
versions Iterable ของ string ต้องระบุ
ระบุเวอร์ชันที่อนุญาตให้อยู่ร่วมกันอย่างชัดเจน เวอร์ชันเหล่านี้ต้องอยู่ในการเลือกล่วงหน้าของกราฟความเกี่ยวข้องอยู่แล้ว ระบบจะ "อัปเกรด" ทรัพยากรที่ต้องใช้ในโมดูลนี้เป็นเวอร์ชันที่สูงกว่าที่อนุญาตซึ่งใกล้เคียงที่สุดในระดับความเข้ากันได้เดียวกัน ส่วนทรัพยากรที่ต้องใช้ในโมดูลซึ่งมีเวอร์ชันสูงกว่าเวอร์ชันที่อนุญาตในระดับความเข้ากันได้เดียวกันจะทำให้เกิดข้อผิดพลาด
registry ค่าเริ่มต้นคือ ''
ลบล้างรีจิสทรีสำหรับโมดูลนี้ ควรใช้รีจิสทรีที่ระบุแทนการค้นหาโมดูลนี้จากรายการรีจิสทรีเริ่มต้น

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

ระบุแพลตฟอร์มการดําเนินการที่กําหนดไว้แล้วที่จะลงทะเบียนเมื่อเลือกโมดูลนี้ ควรเป็นรูปแบบเป้าหมายแบบสัมบูรณ์ (เช่น ขึ้นต้นด้วย @ หรือ //) ดูข้อมูลเพิ่มเติมที่การแก้ไขเครื่องมือทางเทคนิค

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
dev_dependency ค่าเริ่มต้นคือ False
หากเป็น "จริง" ระบบจะไม่ลงทะเบียนแพลตฟอร์มการเรียกใช้หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ `--ignore_dev_dependency`
platform_labels ลําดับของ สตริง ต้องระบุ
ป้ายกํากับของแพลตฟอร์มที่จะจดทะเบียน

register_toolchains

None register_toolchains(dev_dependency=False, *toolchain_labels)

ระบุเครื่องมือทางเทคนิคที่กําหนดไว้แล้วเพื่อลงทะเบียนเมื่อเลือกข้อบังคับนี้ ควรเป็นรูปแบบเป้าหมายแบบสัมบูรณ์ (เช่น ขึ้นต้นด้วย @ หรือ //) ดูข้อมูลเพิ่มเติมที่การแก้ไขเครื่องมือทางเทคนิค

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
dev_dependency ค่าเริ่มต้นคือ False
หากเป็น "จริง" ระบบจะไม่ลงทะเบียนชุดเครื่องมือหากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ `--ignore_dev_dependency`
toolchain_labels sequence ของ strings; ต้องระบุ
ป้ายกำกับของ Toolchain ที่จะลงทะเบียน ป้ายกำกับอาจมี :all ได้ ซึ่งในกรณีนี้ เป้าหมายที่ระบุเครื่องมือเชนทั้งหมดในแพ็กเกจจะได้รับการลงทะเบียนโดยเรียงลำดับแบบพจนานุกรมตามชื่อ

single_version_override

None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)

ระบุว่าข้อกำหนดควรยังคงมาจากรีจิสทรี แต่ควรปักหมุดเวอร์ชันไว้ หรือลบล้างรีจิสทรี หรือใช้รายการแพตช์ คำสั่งนี้มีผลในโมดูลรากเท่านั้น กล่าวคือ หากผู้อื่นใช้โมดูลหนึ่งเป็นทรัพยากร Dependency ระบบก็จะไม่สนใจการลบล้างของโมดูลนั้น

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
module_name ต้องระบุ
ชื่อของโมดูล Bazel ที่ต้องพึ่งพาเพื่อใช้การลบล้างนี้
version ค่าเริ่มต้นคือ ''
ลบล้างเวอร์ชันที่ประกาศของโมดูลนี้ในกราฟความเกี่ยวข้อง กล่าวคือ โมดูลนี้จะ "ปักหมุด" ไว้กับเวอร์ชันการลบล้างนี้ คุณละเว้นแอตทริบิวต์นี้ได้หากต้องการลบล้างเฉพาะรีจิสทรีหรือแพตช์
registry ค่าเริ่มต้นคือ ''
ลบล้างรีจิสทรีสำหรับโมดูลนี้ ควรใช้รีจิสทรีที่ระบุแทนการค้นหาโมดูลนี้จากรายการรีจิสทรีเริ่มต้น
patches Iterable ของ string ค่าเริ่มต้นคือ []
ซึ่งก็คือรายการป้ายกำกับที่ชี้ไปยังไฟล์แพตช์ที่จะใช้กับโมดูลนี้ ไฟล์แพตช์ต้องอยู่ในแผนผังซอร์สโค้ดของโปรเจ็กต์ระดับบนสุด ระบบจะบังคับใช้ตามลําดับรายการ
patch_cmds Iterable ของ string ค่าเริ่มต้นคือ []
ลําดับคําสั่ง Bash ที่จะใช้ใน Linux/Macos หลังจากติดตั้งแพตช์
patch_strip ค่าเริ่มต้นคือ 0
เหมือนกับอาร์กิวเมนต์ --strip ของแพตช์ Unix

use_extension

module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)

แสดงผลออบเจ็กต์พร็อกซีที่แสดงถึงส่วนขยายโมดูล โดยสามารถเรียกใช้เมธอดของส่วนขยายเพื่อสร้างแท็กส่วนขยายโมดูลได้

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
extension_bzl_file ต้องระบุ
ป้ายกำกับไปยังไฟล์ Starlark ที่กำหนดส่วนขยายของโมดูล
extension_name ต้องระบุ
ชื่อของส่วนขยายโมดูลที่จะใช้ ไฟล์ Starlark ต้องส่งออกสัญลักษณ์ที่มีชื่อนี้
dev_dependency ค่าเริ่มต้นคือ False
หากเป็น "จริง" ระบบจะไม่สนใจการใช้ส่วนขยายโมดูลนี้หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ `--ignore_dev_dependency`
isolate ค่าเริ่มต้นคือ False
ทดลอง พารามิเตอร์นี้ยังอยู่ในขั้นทดลองและอาจมีการเปลี่ยนแปลงได้ทุกเมื่อ โปรดอย่าพึ่งพา คุณอาจเปิดใช้เป็นการทดลองได้โดยการตั้งค่า ---experimental_isolated_extension_usages
หากเป็น "จริง" การใช้งานส่วนขยายของข้อบังคับนี้จะถูกแยกออกจากการใช้งานอื่นๆ ทั้งหมด ทั้งในส่วนบังคับนี้และส่วนบังคับอื่นๆ แท็กที่สร้างสําหรับการใช้งานนี้จะไม่ส่งผลต่อการใช้งานอื่นๆ และที่เก็บข้อมูลที่ส่วนขยายสร้างขึ้นสําหรับการใช้งานนี้จะแตกต่างจากที่เก็บข้อมูลอื่นๆ ทั้งหมดที่ส่วนขยายสร้างขึ้น

ปัจจุบันพารามิเตอร์นี้อยู่ระหว่างการทดสอบและใช้ได้กับแฟล็ก --experimental_isolated_extension_usages เท่านั้น

use_repo

None use_repo(extension_proxy, *args, **kwargs)

นําเข้าที่เก็บข้อมูลอย่างน้อย 1 รายการที่ส่วนขยายของโมดูลที่ระบุสร้างขึ้นไปยังขอบเขตของโมดูลปัจจุบัน

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
extension_proxy ต้องระบุ
ออบเจ็กต์พร็อกซีของส่วนขยายโมดูลที่การเรียก use_extension แสดงผล
args ต้องระบุ
ชื่อของที่เก็บที่จะนำเข้า
kwargs ต้องระบุ
ระบุที่เก็บบางแห่งที่จะนําเข้าไปยังขอบเขตของโมดูลปัจจุบันโดยใช้ชื่ออื่น คีย์ควรเป็นชื่อที่จะใช้ในขอบเขตปัจจุบัน ส่วนค่าควรเป็นชื่อเดิมที่ส่งออกโดยส่วนขยายโมดูล

use_repo_rule

repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)

แสดงผลค่าพร็อกซีที่เรียกใช้ได้โดยตรงในไฟล์ MODULE.bazel เป็นกฎที่เก็บอย่างน้อย 1 ครั้ง Repo ที่สร้างขึ้นด้วยวิธีดังกล่าวจะแสดงต่อโมดูลปัจจุบันเท่านั้นภายใต้ชื่อที่ประกาศโดยใช้แอตทริบิวต์ name ในพร็อกซี นอกจากนี้ คุณยังใช้แอตทริบิวต์บูลีน dev_dependency ที่ไม่ชัดแจ้งในพร็อกซีเพื่อระบุว่าระบบจะสร้างที่เก็บข้อมูลบางรายการก็ต่อเมื่อโมดูลปัจจุบันเป็นโมดูลรูทเท่านั้น

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
repo_rule_bzl_file ต้องระบุ
ป้ายกำกับไฟล์ Starlark ที่กําหนดกฎของรีโป
repo_rule_name ต้องระบุ
ชื่อของกฎที่เก็บที่จะใช้ โดยไฟล์ Starlark จะต้องส่งออกสัญลักษณ์ที่มีชื่อนี้