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 ฯลฯ) ในตำแหน่งที่เจาะจง ไม่ใช่จากรีจิสทรี คำสั่งนี้มีผลในโมดูลรูทเท่านั้น กล่าวคือ หากผู้อื่นใช้โมดูลหนึ่งเป็นทรัพยากร Dependency ระบบจะไม่สนใจการลบล้างของโมดูลนั้น

พารามิเตอร์

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

bazel_dep

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

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

พารามิเตอร์

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

git_override

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

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

พารามิเตอร์

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

local_path_override

None local_path_override(module_name, path)

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

พารามิเตอร์

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

โมดูล

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

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

ควรเรียกใช้มากที่สุดเพียงครั้งเดียว โดยสามารถละได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลรูท (เช่น ในกรณีของโมดูลอื่นจะไม่ขึ้นกับโมดูลอื่น)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
name ค่าเริ่มต้นคือ ''
ชื่อของโมดูล สามารถละไว้ได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลราก (เช่น ในกรณีของโมดูลอื่นจะไม่ขึ้นกับโมดูลอื่น) ชื่อโมดูลที่ถูกต้องต้องมีลักษณะดังนี้ 1) มีแต่ตัวอักษรพิมพ์เล็ก (a-z) ตัวเลข (0-9) จุด (.) ขีดกลาง (-) และขีดล่าง (_); 2) เริ่มต้นด้วยตัวอักษรพิมพ์เล็ก 3) ลงท้ายด้วยตัวอักษรพิมพ์เล็กหรือตัวเลข
version ค่าเริ่มต้นคือ ''
เวอร์ชันของโมดูล สามารถละไว้ได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลราก (เช่น ในกรณีของโมดูลอื่นจะไม่ขึ้นกับโมดูลอื่น) เวอร์ชันต้องอยู่ในรูปแบบ SemVer แบบผ่อนคลาย ดูรายละเอียดเพิ่มเติมในเอกสารประกอบ
compatibility_level ค่าเริ่มต้นคือ 0
ระดับความเข้ากันได้ของโมดูล ควรเปลี่ยนข้อความนี้ทุกครั้งที่มีการทำการเปลี่ยนแปลงที่สำคัญซึ่งไม่สามารถทำงานร่วมกันได้ นี่คือ "เวอร์ชันหลัก" ของโมดูลในรูปของ SemVer เว้นแต่ว่า โมดูลดังกล่าวไม่ได้ฝังอยู่ในสตริงเวอร์ชัน แต่มีอยู่ในช่องแยกต่างหาก โมดูลที่มีระดับความเข้ากันได้แตกต่างกันจะมีส่วนร่วมในการแปลงเวอร์ชันเสมือนเป็นโมดูลที่มีชื่อต่างกัน แต่กราฟทรัพยากร Dependency จะมีหลายโมดูลที่มีชื่อเดียวกันไม่ได้แต่มีระดับความเข้ากันได้ต่างกัน (เว้นแต่ว่า 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 ควรมาจากรีจิสทรีอยู่แล้ว แต่ทรัพยากรดังกล่าวควรได้รับอนุญาตให้มีอยู่หลายเวอร์ชัน โปรดดูรายละเอียดเพิ่มเติมในเอกสารประกอบ คำสั่งนี้มีผลในโมดูลรูทเท่านั้น กล่าวคือ หากผู้อื่นใช้โมดูลหนึ่งเป็นทรัพยากร Dependency ระบบจะไม่สนใจการลบล้างของโมดูลนั้น

พารามิเตอร์

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

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

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

พารามิเตอร์

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

register_toolchains

None register_toolchains(dev_dependency=False, *toolchain_labels)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
dev_dependency ค่าเริ่มต้นคือ False
หากเป็นจริง ระบบจะไม่ลงทะเบียน Toolchain หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ "--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 ควรมาจากรีจิสทรี แต่ควรมีการปักหมุดเวอร์ชัน หรือลบล้างรีจิสทรี หรือรายการแพตช์ที่ใช้ คำสั่งนี้มีผลในโมดูลรูทเท่านั้น กล่าวคือ หากผู้อื่นใช้โมดูลหนึ่งเป็นทรัพยากร Dependency ระบบจะไม่สนใจการลบล้างของโมดูลนั้น

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
module_name ต้องระบุ
ชื่อของโมดูล Bazel ที่จะนำการลบล้างนี้ไปใช้
version ค่าเริ่มต้นคือ ''
ลบล้างเวอร์ชันที่ประกาศของโมดูลนี้ในกราฟทรัพยากร Dependency กล่าวคือ โมดูลนี้จะถูก "ปักหมุด" กับเวอร์ชันการลบล้างนี้ คุณละเว้นแอตทริบิวต์นี้ได้หากทุกแอตทริบิวต์ต้องการลบล้างรีจิสทรีหรือแพตช์
registry ค่าเริ่มต้นคือ ''
ลบล้างรีจิสทรีสำหรับโมดูลนี้ ควรใช้รีจิสทรีที่ระบุแทนการค้นหาโมดูลนี้จากรายการรีจิสทรีเริ่มต้น
patches ทำซ้ำได้สตริง ค่าเริ่มต้นคือ []
รายการป้ายกำกับที่ชี้ไปยังไฟล์แพตช์ที่จะใช้สำหรับโมดูลนี้ ไฟล์แพตช์ต้องอยู่ในโครงสร้างแหล่งที่มาของโปรเจ็กต์ระดับบนสุด ซึ่งจะใช้ตามลำดับรายการ
patch_cmds ทำซ้ำได้สตริง ค่าเริ่มต้นคือ []
ลำดับของคำสั่ง 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 ครั้ง ที่เก็บที่สร้างขึ้นในลักษณะนี้จะปรากฏต่อโมดูลปัจจุบันเท่านั้น ภายใต้ชื่อที่ประกาศโดยใช้แอตทริบิวต์ name บนพร็อกซี นอกจากนี้ แอตทริบิวต์บูลีน dev_dependency แบบไม่เจาะจงปลายทางยังใช้บนพร็อกซีได้ด้วยเพื่อระบุว่าระบบจะสร้างที่เก็บบางรายการเฉพาะเมื่อโมดูลปัจจุบันเป็นโมดูลรูทเท่านั้น

พารามิเตอร์

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