เมธอดที่ใช้ได้ในไฟล์ MODULE.bazel
สมาชิก
- archive_override
- bazel_dep
- git_override
- include
- inject_repo
- local_path_override
- module
- multiple_version_override
- override_repo
- register_execution_platforms
- register_toolchains
- single_version_override
- use_extension
- use_repo
- use_repo_rule
archive_override
None
archive_override(module_name, **kwargs)
http_archive
คำสั่งนี้จะมีผลเฉพาะในโมดูลรูท กล่าวคือ หากมีการใช้โมดูลเป็นข้อกำหนดโดยผู้อื่น ระบบจะไม่สนใจการลบล้างของโมดูลนั้น
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
สตริง
ต้องระบุ ชื่อของโมดูล Bazel ที่ต้องพึ่งพาเพื่อใช้การลบล้างนี้ |
kwargs
|
required ระบบจะส่งต่ออาร์กิวเมนต์อื่นๆ ทั้งหมดไปยังกฎใน http_archive repo ที่เป็นต้นทาง โปรดทราบว่าคุณไม่ควรระบุแอตทริบิวต์ name ให้ใช้ module_name แทน
|
bazel_dep
None
bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
name
|
สตริง;
ต้องระบุ ชื่อของโมดูลที่จะเพิ่มเป็นข้อกําหนดโดยตรง |
version
|
สตริง;
ค่าเริ่มต้นคือ '' ซึ่งเป็นเวอร์ชันของโมดูลที่จะเพิ่มเป็นข้อกำหนดโดยตรง |
max_compatibility_level
|
int;
ค่าเริ่มต้นคือ -1 compatibility_level สูงสุดที่รองรับสำหรับการเพิ่มโมดูลเป็นข้อกำหนดโดยตรง เวอร์ชันของโมดูลจะระบุ compatibility_level ขั้นต่ำที่รองรับ รวมถึงสูงสุดหากไม่ได้ระบุแอตทริบิวต์นี้
|
repo_name
|
สตริง;
ค่าเริ่มต้นคือ '' ชื่อของรีโปภายนอกที่แสดงถึงข้อกําหนดนี้ โดยค่าเริ่มต้นจะเป็นชื่อของโมดูล |
dev_dependency
|
bool;
ค่าเริ่มต้นคือ False หากเป็น "จริง" ระบบจะไม่สนใจข้อกำหนดนี้หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ `--ignore_dev_dependency` |
git_override
None
git_override(module_name, **kwargs)
git_repository
คำสั่งนี้จะมีผลเฉพาะในโมดูลรูท กล่าวคือ หากมีการใช้โมดูลเป็นข้อกำหนดโดยผู้อื่น ระบบจะไม่สนใจการลบล้างของโมดูลนั้น
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
สตริง
ต้องระบุ ชื่อของโมดูล Bazel ที่ต้องพึ่งพาเพื่อใช้การลบล้างนี้ |
kwargs
|
required ระบบจะส่งต่ออาร์กิวเมนต์อื่นๆ ทั้งหมดไปยังกฎ git_repository
repo ที่เกี่ยวข้อง โปรดทราบว่าคุณไม่ควรระบุแอตทริบิวต์ name ให้ใช้ module_name แทน
|
รวม
None
include(label)
include()
จะทํางานเหมือนกับว่าไฟล์ที่รวมอยู่นั้นอยู่ในตําแหน่งการเรียกใช้ include()
ยกเว้นการเชื่อมโยงตัวแปร (เช่น ที่ใช้สําหรับ use_extension
) จะปรากฏเฉพาะในไฟล์ที่ปรากฏเท่านั้น ไม่ใช่ในไฟล์ที่รวมอยู่หรือรวมไฟล์เฉพาะโมดูลรูทเท่านั้นที่ใช้ include()
ได้ หากไฟล์ MODULE ของ bazel_dep
ใช้ include()
ระบบจะแสดงข้อผิดพลาด
โดยจะมีเฉพาะไฟล์ในรีโปหลักเท่านั้น
include()
ช่วยให้คุณแบ่งไฟล์โมดูลรูทออกเป็นหลายส่วนได้ เพื่อหลีกเลี่ยงการมีไฟล์ MODULE.bazel ขนาดใหญ่หรือเพื่อจัดการการควบคุมการเข้าถึงสำหรับแต่ละกลุ่มความหมายได้ดียิ่งขึ้น
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
label
|
string;
required ป้ายกำกับที่ชี้ไปยังไฟล์ที่จะรวม ป้ายกำกับต้องชี้ไปยังไฟล์ในรีโปหลัก กล่าวคือ ต้องขึ้นต้นด้วยเครื่องหมายทับคู่ ( // ) ชื่อไฟล์ต้องลงท้ายด้วย .MODULE.bazel และต้องไม่ขึ้นต้นด้วย .
|
inject_repo
None
inject_repo(extension_proxy, *args, **kwargs)
--ignore_dev_dependency
ใช้ override_repo
แทนเพื่อลบล้างรีโปที่มีอยู่
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
extension_proxy
|
module_extension_proxy;
ต้องระบุ ออบเจ็กต์พร็อกซีของส่วนขยายโมดูลที่การเรียก use_extension แสดงผล
|
args
|
ต้องระบุ ที่เก็บซึ่งมองเห็นได้สำหรับโมดูลปัจจุบันที่ควรแทรกลงในส่วนขยายภายใต้ชื่อเดียวกัน |
kwargs
|
ต้องระบุ ที่เก็บข้อมูลใหม่ที่จะแทรกลงในส่วนขยาย โดยค่าคือชื่อที่เก็บข้อมูลในขอบเขตของโมดูลปัจจุบันและคีย์คือชื่อที่ปรากฏในส่วนขยาย |
local_path_override
None
local_path_override(module_name, path)
local_repository
คำสั่งนี้จะมีผลเฉพาะในโมดูลรูท กล่าวคือ หากมีการใช้โมดูลเป็นข้อกำหนดโดยผู้อื่น ระบบจะไม่สนใจการลบล้างของโมดูลนั้น
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
สตริง
ต้องระบุ ชื่อของโมดูล Bazel ที่ต้องพึ่งพาเพื่อใช้การลบล้างนี้ |
path
|
สตริง;
ต้องระบุ เส้นทางไปยังไดเรกทอรีที่มีโมดูลนี้ |
โมดูล
None
module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])
ควรเรียกใช้ไม่เกิน 1 ครั้ง และหากเรียกใช้ ต้องเป็นคำสั่งแรกสุดในไฟล์ MODULE.bazel คุณละเว้นได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลรูท (ในกรณีที่โมดูลอื่นจะไม่ใช้)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
name
|
สตริง;
ค่าเริ่มต้นคือ '' ชื่อของโมดูล ละเว้นได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลรูท (ในกรณีที่โมดูลอื่นจะไม่ใช้) ชื่อโมดูลที่ถูกต้องต้องมีลักษณะดังนี้ 1) มีเฉพาะตัวอักษรพิมพ์เล็ก (a-z) ตัวเลข (0-9) จุด (.) ขีดกลาง (-) และขีดล่าง (_) เท่านั้น 2) ขึ้นต้นด้วยตัวอักษรพิมพ์เล็ก 3) ลงท้ายด้วยตัวอักษรพิมพ์เล็กหรือตัวเลข |
version
|
สตริง;
ค่าเริ่มต้นคือ '' เป็นเวอร์ชันของโมดูล ละเว้นได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลรูท (ในกรณีที่โมดูลอื่นจะไม่ใช้) เวอร์ชันต้องอยู่ในรูปแบบ SemVer แบบผ่อนปรน ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบ |
compatibility_level
|
int;
ค่าเริ่มต้นคือ 0 ระดับความเข้ากันได้ของโมดูล ซึ่งควรเปลี่ยนแปลงทุกครั้งที่มีการเปลี่ยนแปลงที่สำคัญซึ่งเข้ากันไม่ได้ ซึ่งโดยพื้นฐานแล้วคือ "เวอร์ชันหลัก" ของโมดูลตาม SemVer ยกเว้นว่าไม่ได้ฝังอยู่ในสตริงเวอร์ชัน แต่อยู่ในรูปแบบช่องแยกต่างหาก โมดูลที่มีระดับความเข้ากันได้ต่างกันจะเข้าร่วมการแก้ไขเวอร์ชันเหมือนกับเป็นโมดูลที่มีชื่อต่างกัน แต่กราฟความเกี่ยวข้องสุดท้ายต้องไม่มีโมดูลหลายรายการที่มีชื่อเดียวกันแต่มีระดับความเข้ากันได้ต่างกัน (เว้นแต่จะมีการใช้ multiple_version_override อยู่) ดูรายละเอียดเพิ่มเติมในเอกสารประกอบ
|
repo_name
|
สตริง;
ค่าเริ่มต้นคือ '' ชื่อของที่เก็บข้อมูลที่แสดงถึงโมดูลนี้ตามที่โมดูลเห็น โดยค่าเริ่มต้น ชื่อของรีโปจะเป็นชื่อของโมดูล คุณระบุชื่อนี้เพื่อให้การย้ายข้อมูลโปรเจ็กต์ที่ใช้ชื่อรีโปสำหรับโปรเจ็กต์นั้นแตกต่างจากชื่อโมดูลได้ง่ายขึ้น |
bazel_compatibility
|
Iterable ของ string;
ค่าเริ่มต้นคือ [] ซึ่งเป็นรายการเวอร์ชัน Bazel ที่อนุญาตให้ผู้ใช้ประกาศว่าเวอร์ชัน Bazel ใดที่เข้ากันได้กับโมดูลนี้ การดำเนินการนี้จะไม่ส่งผลต่อการแก้ไขข้อกำหนดเบื้องต้น แต่ 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
|
สตริง
ต้องระบุ ชื่อของโมดูล Bazel ที่ต้องพึ่งพาเพื่อใช้การลบล้างนี้ |
versions
|
Iterable ของ string
ต้องระบุ ระบุเวอร์ชันที่อนุญาตให้อยู่ร่วมกันอย่างชัดเจน เวอร์ชันเหล่านี้ต้องอยู่ในการเลือกล่วงหน้าของกราฟความเกี่ยวข้องอยู่แล้ว ระบบจะ "อัปเกรด" ทรัพยากรที่ต้องใช้ในโมดูลนี้เป็นเวอร์ชันที่สูงกว่าที่อนุญาตซึ่งใกล้เคียงที่สุดในระดับความเข้ากันได้เดียวกัน ส่วนทรัพยากรที่ต้องใช้ในโมดูลซึ่งมีเวอร์ชันสูงกว่าเวอร์ชันที่อนุญาตในระดับความเข้ากันได้เดียวกันจะทำให้เกิดข้อผิดพลาด |
registry
|
สตริง
ค่าเริ่มต้นคือ '' ลบล้างรีจิสทรีสําหรับโมดูลนี้ ควรใช้รีจิสทรีที่ระบุแทนการค้นหาโมดูลนี้จากรายการรีจิสทรีเริ่มต้น |
override_repo
None
override_repo(extension_proxy, *args, **kwargs)
ใช้ inject_repo
แทนเพื่อเพิ่มที่เก็บใหม่
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
extension_proxy
|
module_extension_proxy;
ต้องระบุ ออบเจ็กต์พร็อกซีของส่วนขยายโมดูลที่การเรียก use_extension แสดงผล
|
args
|
ต้องระบุ ที่เก็บในส่วนขยายที่ควรเขียนทับด้วยที่เก็บที่มีชื่อเดียวกันในโมดูลปัจจุบัน |
kwargs
|
ต้องระบุ การลบล้างที่จะใช้กับที่เก็บข้อมูลที่ส่วนขยายสร้างขึ้น โดยค่าคือชื่อที่เก็บข้อมูลในขอบเขตของโมดูลปัจจุบันและคีย์คือชื่อที่เก็บข้อมูลที่จะใช้ลบล้างในส่วนขยาย |
register_execution_platforms
None
register_execution_platforms(dev_dependency=False, *platform_labels)
@
หรือ //
) ดูข้อมูลเพิ่มเติมที่การแก้ไขเครื่องมือทางเทคนิค รูปแบบที่ขยายไปยังเป้าหมายหลายรายการ เช่น :all
จะได้รับการบันทึกตามลําดับตัวอักษรตามชื่อ
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
dev_dependency
|
bool;
ค่าเริ่มต้นคือ False หากเป็น "จริง" ระบบจะไม่ลงทะเบียนแพลตฟอร์มการเรียกใช้หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ `--ignore_dev_dependency` |
platform_labels
|
ลําดับของ สตริง
ต้องระบุ รูปแบบเป้าหมายที่จะลงทะเบียน |
register_toolchains
None
register_toolchains(dev_dependency=False, *toolchain_labels)
@
หรือ //
) ดูข้อมูลเพิ่มเติมที่การแก้ไขเครื่องมือทางเทคนิค รูปแบบที่ขยายไปยังเป้าหมายหลายรายการ เช่น :all
จะได้รับการบันทึกตามลําดับตัวอักษรตามชื่อเป้าหมาย (ไม่ใช่ชื่อการใช้งานเครื่องมือทางเทคนิค)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
dev_dependency
|
bool;
ค่าเริ่มต้นคือ False หากเป็น "จริง" ระบบจะไม่ลงทะเบียนชุดเครื่องมือหากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ `--ignore_dev_dependency` |
toolchain_labels
|
ลําดับของ สตริง
ต้องระบุ รูปแบบเป้าหมายที่จะลงทะเบียน |
single_version_override
None
single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
สตริง
ต้องระบุ ชื่อของโมดูล Bazel ที่ต้องพึ่งพาเพื่อใช้การลบล้างนี้ |
version
|
สตริง
ค่าเริ่มต้นคือ '' ลบล้างเวอร์ชันที่ประกาศของโมดูลนี้ในกราฟความเกี่ยวข้อง กล่าวคือ โมดูลนี้จะ "ปักหมุด" ไว้กับเวอร์ชันการลบล้างนี้ คุณละเว้นแอตทริบิวต์นี้ได้หากต้องการลบล้างเฉพาะรีจิสทรีหรือแพตช์ |
registry
|
สตริง
ค่าเริ่มต้นคือ '' ลบล้างรีจิสทรีสําหรับโมดูลนี้ ควรใช้รีจิสทรีที่ระบุแทนการค้นหาโมดูลนี้จากรายการรีจิสทรีเริ่มต้น |
patches
|
Iterable ของ string
ค่าเริ่มต้นคือ [] ซึ่งก็คือรายการป้ายกำกับที่ชี้ไปยังไฟล์แพตช์ที่จะใช้กับโมดูลนี้ ไฟล์แพตช์ต้องอยู่ในโครงสร้างซอร์สโค้ดของโปรเจ็กต์ระดับบนสุด ระบบจะบังคับใช้ตามลำดับรายการ หากแพตช์ทำการเปลี่ยนแปลงไฟล์ MODULE.bazel การเปลี่ยนแปลงเหล่านี้จะมีผลก็ต่อเมื่อโมดูลรูทระบุไฟล์แพตช์ |
patch_cmds
|
Iterable ของ string
ค่าเริ่มต้นคือ [] ลําดับคําสั่ง Bash ที่จะใช้ใน Linux/Macos หลังจากติดตั้งแพตช์ การเปลี่ยนแปลงไฟล์ MODULE.bazel จะไม่มีผล |
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
|
สตริง;
ต้องระบุ ป้ายกำกับสำหรับไฟล์ Starlark ที่กําหนดส่วนขยายโมดูล |
extension_name
|
สตริง;
ต้องระบุ ชื่อของส่วนขยายโมดูลที่จะใช้ ไฟล์ Starlark ต้องส่งออกสัญลักษณ์ที่มีชื่อนี้ |
dev_dependency
|
bool;
ค่าเริ่มต้นคือ False หากเป็น "จริง" ระบบจะไม่สนใจการใช้ส่วนขยายโมดูลนี้หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ `--ignore_dev_dependency` |
isolate
|
bool;
ค่าเริ่มต้นคือ False ทดลอง พารามิเตอร์นี้ยังอยู่ในขั้นทดลองและอาจมีการเปลี่ยนแปลงได้ทุกเมื่อ โปรดอย่าใช้ข้อมูลนี้ คุณอาจเปิดใช้เป็นการทดลองได้โดยการตั้งค่า --experimental_isolated_extension_usages หากเป็น "จริง" การใช้งานส่วนขยายของข้อบังคับนี้จะถูกแยกออกจากการใช้งานอื่นๆ ทั้งหมด ทั้งในส่วนบังคับนี้และส่วนบังคับอื่นๆ แท็กที่สร้างสําหรับการใช้งานนี้จะไม่ส่งผลต่อการใช้งานอื่นๆ และที่เก็บข้อมูลที่ส่วนขยายสร้างขึ้นสําหรับการใช้งานนี้จะแตกต่างจากที่เก็บข้อมูลอื่นๆ ทั้งหมดที่ส่วนขยายสร้างขึ้น ปัจจุบันพารามิเตอร์นี้เป็นเวอร์ชันทดลองและใช้ได้กับ Flag |
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
|
สตริง;
ต้องระบุ ป้ายกำกับสำหรับไฟล์ Starlark ที่กําหนดกฎของรีโป |
repo_rule_name
|
สตริง;
ต้องระบุ ชื่อกฎของ repo ที่จะใช้ ไฟล์ Starlark ต้องส่งออกสัญลักษณ์ที่มีชื่อนี้ |