โมดูลมีสิทธิ์

รายงานปัญหา ดูแหล่งที่มา Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

บริบทของส่วนขยายโมดูลที่มีฟังก์ชันตัวช่วยและข้อมูลเกี่ยวกับแท็กที่เกี่ยวข้องในกราฟการอ้างอิง คุณจะได้รับออบเจ็กต์ module_ctx เป็นอาร์กิวเมนต์ของฟังก์ชัน implementation เมื่อสร้างส่วนขยายโมดูล

สมาชิก

ดาวน์โหลด

unknown module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)

ดาวน์โหลดไฟล์ไปยังเส้นทางเอาต์พุตสำหรับ URL ที่ระบุ และส่งคืนโครงสร้างที่มี success ซึ่งเป็นแฟล็กที่ true หากดาวน์โหลดเสร็จสมบูรณ์ และหากดาวน์โหลดสำเร็จ แฮชของไฟล์ที่มีฟิลด์ sha256 และ integrity เมื่อผู้ใช้ระบุ sha256 หรือ integrity เราขอแนะนำอย่างยิ่งให้ตั้งค่า canonical_id อย่างชัดเจน เช่น get_default_canonical_id

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
url string หรือ Iterable ของ string ต้องระบุ
รายการ URL แบบมิเรอร์ที่อ้างอิงไฟล์เดียวกัน
output สตริง หรือ Label หรือ path ค่าเริ่มต้นคือ ''
เส้นทางไปยังไฟล์เอาต์พุตที่เกี่ยวข้องกับไดเรกทอรีที่เก็บ
sha256 string; ค่าเริ่มต้นคือ ''
แฮช SHA-256 ที่คาดไว้ของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับแฮช SHA-256 ของไฟล์ที่ดาวน์โหลด การละเว้น SHA-256 ถือเป็นความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง การละเว้นฟิลด์นี้จะทำให้บิลด์ของคุณไม่เป็นแบบเฮอร์มิติก ไม่บังคับเพื่อช่วยให้การพัฒนาเป็นไปได้ง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชของที่เก็บก่อนเพื่อหาไฟล์ที่มีแฮชที่ระบุ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ในแคช หลังจากดาวน์โหลดสำเร็จแล้ว ระบบจะเพิ่มไฟล์ลงในแคช
executable bool; ค่าเริ่มต้นคือ False
ตั้งค่าสถานะที่เรียกใช้งานได้ในไฟล์ที่สร้างขึ้น โดยค่าเริ่มต้นจะเป็น false
allow_fail bool; ค่าเริ่มต้นคือ False
หากตั้งค่าไว้ ให้ระบุข้อผิดพลาดในค่าที่ส่งคืนแทนที่จะแจ้งข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สำเร็จ
canonical_id string; ค่าเริ่มต้นคือ ''
หากตั้งค่าไว้ ให้จำกัดการเข้าชมที่แคชไว้เฉพาะกรณีที่เพิ่มไฟล์ลงในแคชด้วยรหัส Canonical เดียวกัน โดยค่าเริ่มต้น การแคชจะใช้ Checksum (sha256 หรือ integrity)
auth dict; ค่าเริ่มต้นคือ {}
พจนานุกรมที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางรายการ
headers dict; ค่าเริ่มต้นคือ {}
พจนานุกรมที่ไม่บังคับซึ่งระบุส่วนหัว HTTP สำหรับ URL ทั้งหมด
integrity string; ค่าเริ่มต้นคือ ''
ผลรวมตรวจสอบที่คาดไว้ของไฟล์ที่ดาวน์โหลดในรูปแบบ Subresource Integrity ต้องตรงกับผลรวมตรวจสอบของไฟล์ที่ดาวน์โหลด การละเว้นการตรวจสอบผลรวมมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง การละเว้นฟิลด์นี้จะทำให้บิลด์ของคุณไม่เป็นแบบเฮอร์มิติก ไม่บังคับเพื่อช่วยให้การพัฒนาเป็นไปได้ง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชของที่เก็บก่อนเพื่อหาไฟล์ที่มีผลรวมเช็คซัมที่ระบุ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ในแคช หลังจากดาวน์โหลดสำเร็จแล้ว ระบบจะเพิ่มไฟล์ลงในแคช
block bool; ค่าเริ่มต้นคือ True
หากตั้งค่าเป็น false การเรียกจะแสดงผลทันที และแทนที่จะเป็นค่าที่แสดงผลปกติ ระบบจะแสดงผลโทเค็นที่มีเมธอดเดียวคือ wait() ซึ่งจะบล็อกจนกว่าการดาวน์โหลดจะเสร็จสิ้นและแสดงผลค่าที่แสดงผลตามปกติหรือส่งข้อยกเว้นตามปกติ

download_and_extract

struct module_ctx.download_and_extract(url, output='', sha256='', type='', strip_prefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})

ดาวน์โหลดไฟล์ไปยังเส้นทางเอาต์พุตสำหรับ URL ที่ระบุ แยกไฟล์ และแสดงผลโครงสร้างที่มี success ซึ่งเป็นแฟล็กที่แสดงเป็น true หากดาวน์โหลดเสร็จสมบูรณ์ และหากสำเร็จ จะแสดงแฮชของไฟล์ที่มีฟิลด์ sha256 และ integrity เมื่อผู้ใช้ระบุ sha256 หรือ integrity เราขอแนะนำอย่างยิ่งให้ตั้งค่า canonical_id อย่างชัดเจน เช่น get_default_canonical_id

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
url string หรือ Iterable ของ string ต้องระบุ
รายการ URL แบบมิเรอร์ที่อ้างอิงไฟล์เดียวกัน
output string หรือ Label หรือ path ค่าเริ่มต้นคือ ''
เส้นทางไปยังไดเรกทอรีที่จะแตกไฟล์เก็บถาวร โดยอิงตามไดเรกทอรีที่เก็บ
sha256 string; ค่าเริ่มต้นคือ ''
แฮช SHA-256 ที่คาดไว้ของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับแฮช SHA-256 ของไฟล์ที่ดาวน์โหลด การละเว้น SHA-256 ถือเป็นความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง การละเว้นฟิลด์นี้จะทำให้บิลด์ของคุณไม่เป็นแบบเฮอร์มิติก ไม่บังคับเพื่อช่วยให้การพัฒนาเป็นไปได้ง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชของที่เก็บก่อนเพื่อหาไฟล์ที่มีแฮชที่ระบุ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ในแคช หลังจากดาวน์โหลดสำเร็จแล้ว ระบบจะเพิ่มไฟล์ลงในแคช
type string; ค่าเริ่มต้นคือ ''
ประเภทที่เก็บถาวรของไฟล์ที่ดาวน์โหลด โดยค่าเริ่มต้น ระบบจะกำหนดประเภทที่เก็บถาวรจากส่วนขยายของไฟล์ใน URL หากไฟล์ไม่มีนามสกุล คุณสามารถระบุ "zip", "jar", "war", "aar", "nupkg", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" หรือ ".deb" ที่นี่ได้
strip_prefix string; ค่าเริ่มต้นคือ ''
คำนำหน้าไดเรกทอรีที่จะนำออกจากไฟล์ที่แยกออกมา ที่เก็บถาวรจำนวนมากมี ไดเรกทอรีระดับบนสุดซึ่งมีไฟล์ทั้งหมดในที่เก็บถาวร ฟิลด์นี้ใช้เพื่อนำคำนำหน้านี้ออกจากไฟล์ที่แยกออกมาได้แทนที่จะต้อง ระบุคำนำหน้านี้ซ้ำๆ ใน build_file

เพื่อความเข้ากันได้ คุณอาจใช้พารามิเตอร์นี้ภายใต้ชื่อที่เลิกใช้งานแล้ว stripPrefix ได้ด้วย

allow_fail bool; ค่าเริ่มต้นคือ False
หากตั้งค่าไว้ ให้ระบุข้อผิดพลาดในค่าที่ส่งคืนแทนที่จะแจ้งข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สำเร็จ
canonical_id string; ค่าเริ่มต้นคือ ''
หากตั้งค่าไว้ ให้จำกัดการเข้าชมที่แคชไว้เฉพาะกรณีที่เพิ่มไฟล์ลงในแคชด้วยรหัส Canonical เดียวกัน โดยค่าเริ่มต้น การแคชจะใช้ผลรวมตรวจสอบ" (sha256 หรือ integrity)
auth dict; ค่าเริ่มต้นคือ {}
พจนานุกรมที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางรายการ
headers dict; ค่าเริ่มต้นคือ {}
พจนานุกรมที่ไม่บังคับซึ่งระบุส่วนหัว HTTP สำหรับ URL ทั้งหมด
integrity string; ค่าเริ่มต้นคือ ''
ผลรวมตรวจสอบที่คาดไว้ของไฟล์ที่ดาวน์โหลดในรูปแบบ Subresource Integrity ต้องตรงกับผลรวมตรวจสอบของไฟล์ที่ดาวน์โหลด การละเว้นการตรวจสอบผลรวมมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง การละเว้นฟิลด์นี้จะทำให้บิลด์ของคุณไม่เป็นแบบเฮอร์มิติก ไม่บังคับเพื่อช่วยให้การพัฒนาเป็นไปได้ง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชของที่เก็บก่อนเพื่อหาไฟล์ที่มีผลรวมเช็คซัมที่ระบุ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ในแคช หลังจากดาวน์โหลดสำเร็จแล้ว ระบบจะเพิ่มไฟล์ลงในแคช
rename_files dict; ค่าเริ่มต้นคือ {}
พจนานุกรมที่ไม่บังคับซึ่งระบุไฟล์ที่จะเปลี่ยนชื่อระหว่างการแยก รายการที่เก็บถาวรซึ่งมีชื่อตรงกับคีย์จะได้รับการเปลี่ยนชื่อเป็นค่าก่อนที่จะมีการปรับคำนำหน้าไดเรกทอรี ซึ่งใช้เพื่อแยกไฟล์เก็บถาวรที่มีชื่อไฟล์ที่ไม่ใช่ Unicode หรือมีไฟล์ที่จะแยกไปยังเส้นทางเดียวกันในระบบไฟล์ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ได้

ดำเนินการ

exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")

เรียกใช้คำสั่งที่ระบุโดยรายการอาร์กิวเมนต์ เวลาในการดำเนินการของคำสั่งจะจำกัดโดย timeout (เป็นวินาที ค่าเริ่มต้นคือ 600 วินาที) เมธอดนี้จะแสดงผลexec_resultที่มีเอาต์พุตของคำสั่ง คุณใช้แผนที่ environment เพื่อลบล้างตัวแปรสภาพแวดล้อมบางอย่างที่จะส่งไปยังกระบวนการได้

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
arguments sequence; required
List of arguments, the first element should be the path to the program to execute.
timeout int; ค่าเริ่มต้นคือ 600
ระยะเวลาสูงสุดของคำสั่งเป็นวินาที (ค่าเริ่มต้นคือ 600 วินาที)
environment dict; ค่าเริ่มต้นคือ {}
บังคับให้ตั้งค่าตัวแปรสภาพแวดล้อมบางรายการเพื่อส่งไปยังกระบวนการ ค่าอาจเป็น None เพื่อนำตัวแปรสภาพแวดล้อมออก
quiet bool; ค่าเริ่มต้นคือ True
หากควรพิมพ์ stdout และ stderr ไปยังเทอร์มินัล
working_directory string; ค่าเริ่มต้นคือ ""
ไดเรกทอรีการทำงานสำหรับการเรียกใช้คำสั่ง อาจเป็นแบบสัมพัทธ์กับรูทของที่เก็บหรือแบบสัมบูรณ์ก็ได้ ค่าเริ่มต้นคือรูทของที่เก็บ

extension_metadata

extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None, reproducible=False)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
root_module_direct_deps ลำดับของสตริง หรือสตริง หรือNone ค่าเริ่มต้นคือ None
ชื่อของที่เก็บที่ส่วนขยายถือว่าเป็นทรัพยากร Dependency โดยตรงของโมดูลรูท หากโมดูลรูทนำเข้าที่เก็บเพิ่มเติมหรือไม่นำเข้าที่เก็บทั้งหมดเหล่านี้ผ่าน use_repo Bazel จะพิมพ์คำเตือนเมื่อมีการประเมินส่วนขยาย โดยจะแนะนำให้ผู้ใช้เรียกใช้ bazel mod tidy เพื่อแก้ไขการเรียกใช้ use_repo โดยอัตโนมัติ

หากมีข้อใดข้อหนึ่ง root_module_direct_deps จะพิมพ์คำเตือนและคำสั่งแก้ไขเมื่อมีการประเมินส่วนขยาย

หากมีการระบุ root_module_direct_deps หรือ root_module_direct_dev_deps รายการใดรายการหนึ่ง จะต้องระบุอีกรายการด้วย รายการที่ระบุโดยพารามิเตอร์ทั้ง 2 รายการนี้ต้องไม่ซ้ำกัน

คุณตั้งค่า root_module_direct_deps และ root_module_direct_dev_deps ได้เพียงค่าเดียวเป็นค่าพิเศษ "all" ซึ่งระบบจะถือว่ามีการระบุรายการที่มีชื่อของที่เก็บทั้งหมดที่ส่วนขยายสร้างขึ้นเป็นค่า

root_module_direct_dev_deps ลำดับของสตริง หรือสตริง หรือ None ค่าเริ่มต้นคือ None
ชื่อของที่เก็บที่ส่วนขยายถือว่าเป็นทรัพยากร Dependency สำหรับการพัฒนาโดยตรงของโมดูลรูท หากโมดูลรูทนำเข้าที่เก็บเพิ่มเติมหรือไม่ได้นำเข้าที่เก็บทั้งหมดเหล่านี้ผ่าน use_repo ในพร็อกซีส่วนขยายที่สร้างด้วย use_extension(..., dev_dependency = True) Bazel จะพิมพ์คำเตือนเมื่อมีการประเมินส่วนขยาย โดยแนะนำให้ผู้ใช้เรียกใช้ bazel mod tidy เพื่อแก้ไขการเรียก use_repo โดยอัตโนมัติ

หากมีการระบุ root_module_direct_deps หรือ root_module_direct_dev_deps รายการใดรายการหนึ่ง จะต้องระบุอีกรายการด้วย รายการที่ระบุโดยพารามิเตอร์ทั้ง 2 รายการนี้ต้องไม่ซ้ำกัน

คุณตั้งค่า root_module_direct_deps และ root_module_direct_dev_deps ได้เพียงค่าเดียวเป็นค่าพิเศษ "all" ซึ่งระบบจะถือว่ามีการระบุรายการที่มีชื่อของที่เก็บทั้งหมดที่ส่วนขยายสร้างขึ้นเป็นค่า

reproducible bool; ค่าเริ่มต้นคือ False
ระบุว่าส่วนขยายโมดูลนี้ช่วยให้มั่นใจได้ถึงความสามารถในการทำซ้ำที่สมบูรณ์ จึงไม่ควรจัดเก็บไว้ในไฟล์ล็อก

ดึงข้อมูล

None module_ctx.extract(archive, output='', strip_prefix='', *, rename_files={}, watch_archive='auto')

แตกไฟล์ที่เก็บไปยังไดเรกทอรีที่เก็บ

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
archive string หรือ Label หรือ path required
เส้นทางไปยังที่เก็บถาวรที่จะแตกไฟล์ ซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ
output string หรือ Label หรือ path ค่าเริ่มต้นคือ ''
เส้นทางไปยังไดเรกทอรีที่จะแตกไฟล์เก็บถาวร ซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ
strip_prefix string; ค่าเริ่มต้นคือ ''
คำนำหน้าไดเรกทอรีที่จะนำออกจากไฟล์ที่แยกออกมา ที่เก็บถาวรจำนวนมากมี ไดเรกทอรีระดับบนสุดซึ่งมีไฟล์ทั้งหมดในที่เก็บถาวร ฟิลด์นี้ใช้เพื่อนำคำนำหน้านี้ออกจากไฟล์ที่แยกออกมาได้ แทนที่จะต้องระบุคำนำหน้านี้ซ้ำๆ ใน build_file

เพื่อความเข้ากันได้ คุณอาจใช้พารามิเตอร์นี้ภายใต้ชื่อที่เลิกใช้งานแล้ว stripPrefix ได้ด้วย

rename_files dict; ค่าเริ่มต้นคือ {}
พจนานุกรมที่ไม่บังคับซึ่งระบุไฟล์ที่จะเปลี่ยนชื่อระหว่างการแยก รายการที่เก็บถาวรซึ่งมีชื่อตรงกับคีย์จะได้รับการเปลี่ยนชื่อเป็นค่าก่อนที่จะมีการปรับคำนำหน้าไดเรกทอรี ซึ่งใช้เพื่อแยกไฟล์เก็บถาวรที่มีชื่อไฟล์ที่ไม่ใช่ Unicode หรือมีไฟล์ที่จะแยกไปยังเส้นทางเดียวกันในระบบไฟล์ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ได้
watch_archive string; ค่าเริ่มต้นคือ 'auto'
ระบุว่าจะดูไฟล์ที่เก็บถาวรหรือไม่ อาจเป็นสตริง "yes", "no" หรือ "auto" การส่งค่า "yes" จะเทียบเท่ากับการเรียกใช้เมธอด watch() ทันที ส่วนการส่งค่า "no" จะไม่พยายามดูไฟล์ และการส่งค่า "auto" จะพยายามดูไฟล์เฉพาะเมื่อทำได้อย่างถูกต้องตามกฎหมายเท่านั้น (ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบของ watch())

ไฟล์

None module_ctx.file(path, content='', executable=True, legacy_utf8=False)

สร้างไฟล์ในไดเรกทอรีที่เก็บด้วยเนื้อหาที่ระบุ

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
path สตริง หรือ Label หรือ path ต้องระบุ
เส้นทางของไฟล์ที่จะสร้าง ซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ
content สตริง ค่าเริ่มต้นคือ ''
เนื้อหาของไฟล์ที่จะสร้าง โดยค่าเริ่มต้นจะเป็นค่าว่าง
executable bool; ค่าเริ่มต้นคือ True
ตั้งค่าสถานะที่เรียกใช้งานได้ในไฟล์ที่สร้างขึ้น โดยค่าเริ่มต้นจะเป็นจริง
legacy_utf8 bool; ค่าเริ่มต้นคือ False
ไม่มีการดำเนินการ พารามิเตอร์นี้เลิกใช้งานแล้วและจะนำออกใน Bazel เวอร์ชันถัดไป

getenv

string module_ctx.getenv(name, default=None)

แสดงค่าของตัวแปรสภาพแวดล้อม name เป็นสตริงหากมี หรือ default หากไม่มี

เมื่อสร้างทีละรายการ การเปลี่ยนแปลงค่าของตัวแปรที่ตั้งชื่อโดย name จะทําให้ระบบดึงข้อมูลที่เก็บนี้อีกครั้ง

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
name สตริง ต้องระบุ
ชื่อของตัวแปรสภาพแวดล้อมที่ต้องการ
default สตริง หรือ None ค่าเริ่มต้นคือ None
ค่าเริ่มต้นที่จะแสดงหากไม่พบ name
อาจส่งคืน None

is_dev_dependency

bool module_ctx.is_dev_dependency(tag)

แสดงผลว่ามีการระบุแท็กที่กำหนดในผลลัพธ์ของการเรียก use_extension ด้วย devDependency = True หรือไม่

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
tag bazel_module_tag; required
แท็กที่ได้จาก bazel_module.tags

โมดูล

list module_ctx.modules

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

os

repository_os module_ctx.os

โครงสร้างเพื่อเข้าถึงข้อมูลจากระบบ

เส้นทาง

path module_ctx.path(path)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
path string หรือ Label หรือ path ต้องระบุ
string, Label หรือ path ที่จะใช้สร้างเส้นทาง

อ่าน

string module_ctx.read(path, *, watch='auto')

อ่านเนื้อหาของไฟล์ในระบบไฟล์

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
path สตริง หรือ Label หรือ path ต้องระบุ
เส้นทางของไฟล์ที่จะอ่าน
watch string; ค่าเริ่มต้นคือ 'auto'
ระบุว่าจะดูไฟล์หรือไม่ อาจเป็นสตริง "yes", "no" หรือ "auto" การส่งค่า "yes" จะเทียบเท่ากับการเรียกใช้เมธอด watch() ทันที ส่วนการส่งค่า "no" จะไม่พยายามดูไฟล์ และการส่งค่า "auto" จะพยายามดูไฟล์เฉพาะเมื่อทำได้อย่างถูกต้องตามกฎหมายเท่านั้น (ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบของ watch())

report_progress

None module_ctx.report_progress(status='')

อัปเดตสถานะความคืบหน้าสำหรับการดึงข้อมูลที่เก็บหรือส่วนขยายโมดูลนี้

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
status string; ค่าเริ่มต้นคือ ''
string อธิบายสถานะปัจจุบันของความคืบหน้าในการดึงข้อมูล

root_module_has_non_dev_dependency

bool module_ctx.root_module_has_non_dev_dependency

ไม่ว่าโมดูลรูทจะใช้ส่วนขยายนี้เป็นการอ้างอิงที่ไม่ใช่การพัฒนาหรือไม่

นาฬิกา

None module_ctx.watch(path)

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

"การเปลี่ยนแปลง" รวมถึงการเปลี่ยนแปลงเนื้อหาของไฟล์ (หากเส้นทางเป็นไฟล์) หากเส้นทางเคยเป็นไฟล์แต่ตอนนี้เป็นไดเรกทอรี หรือในทางกลับกัน และหากเส้นทางเริ่มหรือหยุดมีอยู่ โปรดทราบว่าการดำเนินการนี้ไม่รวมถึงการเปลี่ยนแปลงไฟล์ใดๆ ในไดเรกทอรีหากเส้นทางเป็นไดเรกทอรี หากต้องการทำเช่นนั้น ให้ใช้ path.readdir() แทน

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
path string หรือ Label หรือ path ต้องระบุ
เส้นทางของไฟล์ที่จะดู

ไหน

path module_ctx.which(program)

แสดงผล path ของโปรแกรมที่เกี่ยวข้องหรือ None หากไม่มีโปรแกรมดังกล่าวในเส้นทาง

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
program string; required
Program to find in the path.
อาจส่งคืน None