เมธอดที่ใช้ได้ในไฟล์ MODULE.bazel
สมาชิก
- archive_override
- bazel_dep
- git_override
- รวม
- local_path_override
- โมดูล
- multiple_version_override
- register_execution_platforms
- register_toolchains
- single_version_override
- use_extension
- use_repo
- use_repo_rule
archive_override
None
archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
string;
ต้องระบุ ชื่อของโมดูล Bazel ที่จะนำการลบล้างนี้ไปใช้ |
urls
|
string; หรือทำซ้ำได้โดยสตริง
จำเป็น URL ของที่เก็บถาวร อาจเป็น http(s):// หรือ URL file:// |
integrity
|
string;
ค่าเริ่มต้นคือ '' checksum ของไฟล์ที่เก็บถาวรในรูปแบบ Subresource Integrity |
strip_prefix
|
string;
ค่าเริ่มต้นคือ '' คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก |
patches
|
ทำซ้ำได้สตริง
ค่าเริ่มต้นคือ [] รายการป้ายกำกับที่ชี้ไปยังไฟล์แพตช์ที่จะใช้สำหรับโมดูลนี้ ไฟล์แพตช์ต้องอยู่ในโครงสร้างแหล่งที่มาของโปรเจ็กต์ระดับบนสุด ซึ่งจะใช้ตามลำดับรายการ |
patch_cmds
|
ทำซ้ำได้สตริง
ค่าเริ่มต้นคือ [] ลำดับของคำสั่ง Bash ที่จะใช้กับ Linux/Macos หลังจากใช้แพตช์ |
patch_strip
|
int;
ค่าเริ่มต้นคือ 0 เหมือนกับ --strip ของแพตช์ Unix |
bazel_dep
None
bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
name
|
string;
ต้องระบุ ชื่อของโมดูลที่จะเพิ่มเป็นทรัพยากร Dependency โดยตรง |
version
|
string;
ค่าเริ่มต้นคือ '' เวอร์ชันของโมดูลที่จะเพิ่มเป็นทรัพยากร Dependency โดยตรง |
max_compatibility_level
|
int;
ค่าเริ่มต้นคือ -1 compatibility_level สูงสุดที่รองรับสำหรับการเพิ่มโมดูลเป็นรายการทรัพยากร Dependency โดยตรง เวอร์ชันของโมดูลจะแสดงถึงระดับความเข้ากันได้ขั้นต่ำที่รองรับ รวมถึงระดับสูงสุดหากไม่ได้ระบุแอตทริบิวต์นี้
|
repo_name
|
string;
ค่าเริ่มต้นคือ '' ชื่อของที่เก็บภายนอกที่แสดงถึงทรัพยากร Dependency นี้ ซึ่งจะเป็นชื่อโมดูลโดยค่าเริ่มต้น |
dev_dependency
|
bool;
ค่าเริ่มต้นคือ False หากจริง ระบบจะไม่สนใจการขึ้นต่อกันนี้หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ "--ignore_dev_dependency" |
git_override
None
git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0, init_submodules=False, strip_prefix='')
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
string;
ต้องระบุ ชื่อของโมดูล Bazel ที่จะนำการลบล้างนี้ไปใช้ |
remote
|
string;
ต้องระบุ URL ของที่เก็บ Git ระยะไกล |
commit
|
string;
ค่าเริ่มต้นคือ '' คอมมิตที่ควรตรวจสอบ |
patches
|
ทำซ้ำได้สตริง
ค่าเริ่มต้นคือ [] รายการป้ายกำกับที่ชี้ไปยังไฟล์แพตช์ที่จะใช้สำหรับโมดูลนี้ ไฟล์แพตช์ต้องอยู่ในโครงสร้างแหล่งที่มาของโปรเจ็กต์ระดับบนสุด ซึ่งจะใช้ตามลำดับรายการ |
patch_cmds
|
ทำซ้ำได้สตริง
ค่าเริ่มต้นคือ [] ลำดับของคำสั่ง Bash ที่จะใช้กับ Linux/Macos หลังจากใช้แพตช์ |
patch_strip
|
int;
ค่าเริ่มต้นคือ 0 เหมือนกับ --strip ของแพตช์ Unix |
init_submodules
|
bool;
ค่าเริ่มต้นคือ False ระบุว่าโมดูลย่อยของ git ในที่เก็บที่ดึงข้อมูลมาควรเริ่มต้นแบบทำซ้ำหรือไม่ |
strip_prefix
|
string;
ค่าเริ่มต้นคือ '' คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ซึ่งสามารถใช้เพื่อกำหนดเป้าหมายไดเรกทอรีย่อยของที่เก็บ Git ได้ โปรดทราบว่าไดเรกทอรีย่อยต้องมีไฟล์ "MODULE.bazel" ของตัวเองที่มีชื่อโมดูลเหมือนกับอาร์กิวเมนต์ "module_name" ที่ส่งไปยัง "git_override" นี้ |
รวม
None
include(label)
include()
จะทํางานเสมือนว่าไฟล์ที่รวมอยู่เป็นข้อความ ณ ตําแหน่งของการเรียกใช้ include()
ยกเว้นว่าการเชื่อมโยงตัวแปร (เช่น การเชื่อมโยงตัวแปรที่ใช้สําหรับ use_extension
) จะปรากฏให้เห็นเฉพาะในไฟล์ที่เกิดขึ้นเท่านั้น โดยจะไม่แสดงในไฟล์ที่รวมอยู่หรือไฟล์ที่รวมด้วยมีเพียงโมดูลรูทเท่านั้นที่ใช้ include()
ได้ นี่เป็นข้อผิดพลาดหากไฟล์ MODULE ของ bazel_dep
ใช้ include()
สามารถรวมได้เฉพาะไฟล์ในที่เก็บหลักเท่านั้น
include()
ช่วยให้คุณแบ่งกลุ่มไฟล์โมดูลรูทออกเป็นหลายส่วนเพื่อหลีกเลี่ยงการมีไฟล์ MODULE.bazel ขนาดมหึมา หรือเพื่อให้จัดการการควบคุมการเข้าถึงสำหรับเซกเมนต์ความหมายแต่ละรายการได้ดียิ่งขึ้น
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
label
|
string;
ต้องระบุ ป้ายกำกับที่ชี้ไปยังไฟล์ที่จะรวม ป้ายกำกับต้องชี้ไปยังไฟล์ในที่เก็บหลัก กล่าวคือ พารามิเตอร์ต้องเริ่มต้นด้วยเครื่องหมายทับคู่ ( // )
|
local_path_override
None
local_path_override(module_name, path)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
string;
ต้องระบุ ชื่อของโมดูล Bazel ที่จะนำการลบล้างนี้ไปใช้ |
path
|
string;
ต้องระบุ เส้นทางไปยังไดเรกทอรีที่มีโมดูลนี้อยู่ |
โมดูล
None
module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])
โค้ดนี้ควรถูกเรียกเพียงครั้งเดียว และหากถูกเรียก โค้ดนี้ต้องเป็นคำสั่งแรกในไฟล์ MODULE.bazel โดยสามารถละได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลรูท (เช่น ในกรณีของโมดูลอื่นจะไม่ขึ้นกับโมดูลอื่น)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
name
|
string;
ค่าเริ่มต้นคือ '' ชื่อของโมดูล สามารถละไว้ได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลราก (เช่น ในกรณีของโมดูลอื่นจะไม่ขึ้นกับโมดูลอื่น) ชื่อโมดูลที่ถูกต้องต้องมีลักษณะดังนี้ 1) มีแต่ตัวอักษรพิมพ์เล็ก (a-z) ตัวเลข (0-9) จุด (.) ขีดกลาง (-) และขีดล่าง (_); 2) เริ่มต้นด้วยตัวอักษรพิมพ์เล็ก 3) ลงท้ายด้วยตัวอักษรพิมพ์เล็กหรือตัวเลข |
version
|
string;
ค่าเริ่มต้นคือ '' เวอร์ชันของโมดูล สามารถละไว้ได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลราก (เช่น ในกรณีของโมดูลอื่นจะไม่ขึ้นกับโมดูลอื่น) เวอร์ชันต้องอยู่ในรูปแบบ SemVer แบบผ่อนคลาย ดูรายละเอียดเพิ่มเติมในเอกสารประกอบ |
compatibility_level
|
int;
ค่าเริ่มต้นคือ 0 ระดับความเข้ากันได้ของโมดูล ควรเปลี่ยนข้อความนี้ทุกครั้งที่มีการทำการเปลี่ยนแปลงที่สำคัญซึ่งไม่สามารถทำงานร่วมกันได้ นี่คือ "เวอร์ชันหลัก" ของโมดูลในรูปของ SemVer เว้นแต่ว่า โมดูลดังกล่าวไม่ได้ฝังอยู่ในสตริงเวอร์ชัน แต่มีอยู่ในช่องแยกต่างหาก โมดูลที่มีระดับความเข้ากันได้แตกต่างกันจะมีส่วนร่วมในการแปลงเวอร์ชันเสมือนเป็นโมดูลที่มีชื่อต่างกัน แต่กราฟทรัพยากร Dependency จะมีหลายโมดูลที่มีชื่อเดียวกันไม่ได้แต่มีระดับความเข้ากันได้ต่างกัน (เว้นแต่ว่า multiple_version_override จะมีผลใช้งาน) โปรดดูรายละเอียดเพิ่มเติมในเอกสารประกอบ
|
repo_name
|
string;
ค่าเริ่มต้นคือ '' ชื่อของที่เก็บที่แสดงถึงโมดูลนี้ ตามที่เห็นโดยโมดูลนั้นเอง โดยค่าเริ่มต้น ชื่อของที่เก็บจะเป็นชื่อของโมดูล คุณสามารถระบุเพื่อลดความซับซ้อนในการย้ายข้อมูลสำหรับโปรเจ็กต์ที่ใช้ชื่อที่เก็บของตัวเองซึ่งต่างจากชื่อโมดูล |
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='')
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
string;
ต้องระบุ ชื่อของโมดูล Bazel ที่จะนำการลบล้างนี้ไปใช้ |
versions
|
ทำซ้ำได้สตริง
ต้องระบุ ระบุเวอร์ชันที่อนุญาตให้ใช้งานร่วมกันอย่างชัดเจน เวอร์ชันเหล่านี้ต้องอยู่ในการเลือกล่วงหน้าสำหรับกราฟทรัพยากร Dependency อยู่แล้ว ระบบจะ "อัปเกรด" ทรัพยากร Dependency ของโมดูลนี้ เป็นเวอร์ชันที่ได้รับอนุญาตสูงกว่าซึ่งอยู่ใกล้ที่สุดที่ระดับความเข้ากันได้เดียวกัน ขณะที่ทรัพยากร Dependency ที่มีเวอร์ชันสูงกว่าเวอร์ชันที่ได้รับอนุญาตซึ่งอยู่ในระดับความเข้ากันได้เดียวกันจะทำให้เกิดข้อผิดพลาด |
registry
|
string;
ค่าเริ่มต้นคือ '' ลบล้างรีจิสทรีสำหรับโมดูลนี้ ควรใช้รีจิสทรีที่ระบุแทนการค้นหาโมดูลนี้จากรายการรีจิสทรีเริ่มต้น |
register_execution_platforms
None
register_execution_platforms(dev_dependency=False, *platform_labels)
@
หรือ //
) ดูข้อมูลเพิ่มเติมได้ที่ความละเอียดของ Toolchain รูปแบบที่ขยายไปยังหลายเป้าหมาย เช่น :all
จะได้รับการบันทึกตามลำดับชื่อทางพจนานุกรมตามชื่อ
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
dev_dependency
|
bool;
ค่าเริ่มต้นคือ False หากจริง ระบบจะไม่ลงทะเบียนแพลตฟอร์มการดำเนินการหากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ "--ignore_dev_dependency" |
platform_labels
|
sequence ของ strings
จำเป็น รูปแบบเป้าหมายที่จะลงทะเบียน |
register_toolchains
None
register_toolchains(dev_dependency=False, *toolchain_labels)
@
หรือ //
) ดูข้อมูลเพิ่มเติมได้ที่ความละเอียดของ Toolchain รูปแบบที่ขยายไปยังหลายเป้าหมาย เช่น :all
จะได้รับการลงทะเบียนตามลำดับพจนานุกรมตามชื่อเป้าหมาย (ไม่ใช่ชื่อของการใช้งาน Toolchain)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
dev_dependency
|
bool;
ค่าเริ่มต้นคือ False หากเป็นจริง ระบบจะไม่ลงทะเบียน Toolchain หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ "--ignore_dev_dependency" |
toolchain_labels
|
sequence ของ strings
จำเป็น รูปแบบเป้าหมายที่จะลงทะเบียน |
single_version_override
None
single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
string;
ต้องระบุ ชื่อของโมดูล Bazel ที่จะนำการลบล้างนี้ไปใช้ |
version
|
string;
ค่าเริ่มต้นคือ '' ลบล้างเวอร์ชันที่ประกาศของโมดูลนี้ในกราฟทรัพยากร Dependency กล่าวคือ โมดูลนี้จะถูก "ปักหมุด" กับเวอร์ชันการลบล้างนี้ คุณละเว้นแอตทริบิวต์นี้ได้หากทุกแอตทริบิวต์ต้องการลบล้างรีจิสทรีหรือแพตช์ |
registry
|
string;
ค่าเริ่มต้นคือ '' ลบล้างรีจิสทรีสำหรับโมดูลนี้ ควรใช้รีจิสทรีที่ระบุแทนการค้นหาโมดูลนี้จากรายการรีจิสทรีเริ่มต้น |
patches
|
ทำซ้ำได้สตริง
ค่าเริ่มต้นคือ [] รายการป้ายกำกับที่ชี้ไปยังไฟล์แพตช์ที่จะใช้สำหรับโมดูลนี้ ไฟล์แพตช์ต้องอยู่ในโครงสร้างแหล่งที่มาของโปรเจ็กต์ระดับบนสุด ซึ่งจะใช้ตามลำดับรายการ |
patch_cmds
|
ทำซ้ำได้สตริง
ค่าเริ่มต้นคือ [] ลำดับของคำสั่ง Bash ที่จะใช้กับ Linux/Macos หลังจากใช้แพตช์ |
patch_strip
|
int;
ค่าเริ่มต้นคือ 0 เหมือนกับ --strip ของแพตช์ Unix |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
extension_bzl_file
|
string;
ต้องระบุ ป้ายกำกับของไฟล์ Starlark ที่กำหนดส่วนขยายโมดูล |
extension_name
|
string;
ต้องระบุ ชื่อของส่วนขยายโมดูลที่จะใช้ โดยไฟล์ Starlark จะต้องส่งออกสัญลักษณ์ที่มีชื่อนี้ |
dev_dependency
|
bool;
ค่าเริ่มต้นคือ False หากจริง ระบบจะไม่สนใจการใช้ส่วนขยายโมดูลนี้หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ "--ignore_dev_dependency" |
isolate
|
bool;
ค่าเริ่มต้นคือ False ทดลอง พารามิเตอร์นี้อยู่ในขั้นทดลองและอาจเปลี่ยนแปลงได้ตลอดเวลา โปรดอย่าพึ่งพา คุณสามารถเปิดใช้การทดสอบโดยตั้งค่า --experimental_isolated_extension_usages หากเป็นจริง การใช้ส่วนขยายโมดูลนี้จะแยกออกจากการใช้งานอื่นๆ ทั้งหมด ทั้งในโมดูลนี้และโมดูลอื่นๆ แท็กที่สร้างขึ้นสำหรับการใช้งานนี้จะไม่ส่งผลต่อการใช้งานอื่นๆ และที่เก็บที่ส่วนขยายสร้างขึ้นสำหรับการใช้งานนี้จะแตกต่างจากที่เก็บอื่นๆ ทั้งหมดที่ส่วนขยายสร้างขึ้น ปัจจุบันพารามิเตอร์นี้อยู่ระหว่างการทดสอบและใช้ได้กับแฟล็ก |
use_repo
None
use_repo(extension_proxy, *args, **kwargs)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
extension_proxy
|
module_extension_proxy;
ต้องระบุ ออบเจ็กต์พร็อกซีส่วนขยายโมดูลที่แสดงผลโดยการเรียก use_extension
|
args
|
ต้องระบุ ชื่อของที่เก็บที่จะนำเข้า |
kwargs
|
ต้องระบุ ระบุที่เก็บบางรายการที่จะนำเข้าไปยังขอบเขตของโมดูลปัจจุบันโดยใช้ชื่ออื่น คีย์ควรเป็นชื่อที่จะใช้ในขอบเขตปัจจุบัน ส่วนค่าควรเป็นชื่อเดิมที่ส่งออกโดยส่วนขยายโมดูล |
use_repo_rule
repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)
name
บนพร็อกซี นอกจากนี้ แอตทริบิวต์บูลีน dev_dependency
แบบไม่เจาะจงปลายทางยังใช้บนพร็อกซีได้ด้วยเพื่อระบุว่าระบบจะสร้างที่เก็บบางรายการเฉพาะเมื่อโมดูลปัจจุบันเป็นโมดูลรูทเท่านั้น
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
repo_rule_bzl_file
|
string;
ต้องระบุ ป้ายกำกับของไฟล์ Starlark ที่กำหนดกฎที่เก็บ |
repo_rule_name
|
string;
ต้องระบุ ชื่อของกฎที่เก็บที่จะใช้ โดยไฟล์ Starlark จะต้องส่งออกสัญลักษณ์ที่มีชื่อนี้ |