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

รายงานปัญหา ดูแหล่งที่มา รุ่น Nightly · 7.4

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

สมาชิก

ดาวน์โหลด

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

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

พารามิเตอร์

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

download_and_extract

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
url สตริง หรือ Iterable ของ สตริง ต้องระบุ
รายการ URL มิเรอร์ที่อ้างอิงไฟล์เดียวกัน
output string หรือ Label หรือ path ค่าเริ่มต้นคือ ''
เส้นทางไปยังไดเรกทอรีที่ระบบจะคลายการแพคข้อมูลที่เก็บถาวรซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ
sha256 ค่าเริ่มต้นคือ ''
แฮช SHA-256 ที่คาดไว้ของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับแฮช SHA-256 ของไฟล์ที่ดาวน์โหลด การละเว้น SHA-256 เป็นความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง ในกรณีที่ดีที่สุด การละเว้นช่องนี้จะทำให้บิลด์ของคุณไม่เสถียร การตั้งค่านี้ไม่บังคับ แต่จะช่วยให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชที่เก็บข้อมูลก่อนเพื่อหาไฟล์ที่มีแฮชที่ระบุ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ดังกล่าวในแคช หลังจากดาวน์โหลดสำเร็จ ระบบจะเพิ่มไฟล์ลงในแคช
type ค่าเริ่มต้นคือ ''
ประเภทไฟล์เก็บถาวรของไฟล์ที่ดาวน์โหลด โดยค่าเริ่มต้น ระบบจะกำหนดประเภทไฟล์จากนามสกุลของ URL หากไฟล์ไม่มีนามสกุล คุณสามารถระบุ "zip", "jar", "war", "aar", "nupkg", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" หรือ ".deb" ที่นี่อย่างชัดเจน
stripPrefix ค่าเริ่มต้นคือ ''
คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ที่เก็บถาวรจำนวนมากมีไดเรกทอรีระดับบนสุดที่มีไฟล์ทั้งหมดในที่เก็บถาวร ฟิลด์นี้ใช้เพื่อตัดคำนำหน้านี้ออกจากไฟล์ที่แตกไฟล์ได้โดยไม่ต้องระบุคำนำหน้านี้ซ้ำๆ ใน build_file
allow_fail ค่าเริ่มต้นคือ False
หากตั้งค่าไว้ ระบบจะระบุข้อผิดพลาดในค่าที่แสดงแทนที่จะแสดงข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สําเร็จ
canonical_id ค่าเริ่มต้นคือ ''
หากตั้งค่าไว้ ให้จำกัดการพบแคชไว้เฉพาะกรณีที่เพิ่มไฟล์ลงในแคชที่มีรหัส Canonical เดียวกัน โดยค่าเริ่มต้น การแคชจะใช้การตรวจสอบผลรวม" (sha256 หรือ integrity)
auth ค่าเริ่มต้นคือ {}
Dict ที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สําหรับ URL บางรายการ
headers ค่าเริ่มต้นคือ {}
Dict ที่ไม่บังคับซึ่งระบุส่วนหัว HTTP สําหรับ URL ทั้งหมด
integrity ค่าเริ่มต้นคือ ''
ค่าการตรวจสอบผลรวมที่คาดไว้ของไฟล์ที่ดาวน์โหลดในรูปแบบ Subresource Integrity ซึ่งต้องตรงกับการตรวจสอบผลรวมของไฟล์ที่ดาวน์โหลด การละเว้นการตรวจสอบผลรวมเป็นความเสี่ยงด้านความปลอดภัย เนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง ในกรณีที่ดีที่สุด การละเว้นช่องนี้จะทำให้บิลด์ของคุณไม่เสถียร การตั้งค่านี้ไม่บังคับ แต่จะช่วยให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชที่เก็บข้อมูลก่อนเพื่อหาไฟล์ที่มีการตรวจสอบผลรวมที่ระบุไว้ และจะพยายามดาวน์โหลดเฉพาะในกรณีที่ไม่พบไฟล์ดังกล่าวในแคช เมื่อดาวน์โหลดสำเร็จ ระบบจะเพิ่มไฟล์ลงในแคช
rename_files ค่าเริ่มต้นคือ {}
คำสั่ง (ไม่บังคับ) ที่ระบุไฟล์ที่จะเปลี่ยนชื่อระหว่างการดึงข้อมูล ระบบจะเปลี่ยนชื่อรายการที่เก็บถาวรซึ่งมีชื่อตรงกับคีย์เป็นค่านั้นๆ ก่อนที่จะปรับคำนำหน้าไดเรกทอรี ซึ่งสามารถใช้เพื่อแตกไฟล์ที่เก็บซึ่งมีชื่อไฟล์ที่ไม่ใช่ Unicode หรือมีไฟล์ที่จะแตกไปยังเส้นทางเดียวกันในระบบไฟล์ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

ดำเนินการ

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
arguments required
ลิสต์อาร์กิวเมนต์ โดยองค์ประกอบแรกควรเป็นเส้นทางไปยังโปรแกรมที่จะเรียกใช้
timeout ค่าเริ่มต้นคือ 600
ระยะเวลาสูงสุดของคําสั่งเป็นวินาที (ค่าเริ่มต้นคือ 600 วินาที)
environment ค่าเริ่มต้นคือ {}
บังคับให้ตั้งค่าตัวแปรสภาพแวดล้อมบางรายการให้ส่งไปยังกระบวนการ
quiet ค่าเริ่มต้นคือ True
หากควรพิมพ์ stdout และ stderr ไปยังเทอร์มินัล
working_directory ค่าเริ่มต้นคือ ""
ค่าเริ่มต้นสำหรับไดเรกทอรีการทำงาน อาจสัมพัทธ์กับรูทของที่เก็บหรือแบบสัมบูรณ์ได้ ค่าเริ่มต้นคือรูทของที่เก็บ

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
ชื่อที่เก็บข้อมูลที่ส่วนขยายถือว่ามีความเกี่ยวข้องโดยตรงกับโมดูลรูท หากโมดูลรูทนำเข้าที่เก็บเพิ่มเติมหรือไม่นำเข้าที่เก็บเหล่านี้ทั้งหมดผ่าน 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
ชื่อที่เก็บข้อมูลที่ส่วนขยายถือว่ามีความเกี่ยวข้องโดยตรงกับนักพัฒนาซอฟต์แวร์ของโมดูลรูท หากโมดูลรูทนําเข้าที่เก็บข้อมูลเพิ่มเติมหรือไม่นําเข้าที่เก็บเหล่านี้ทั้งหมดผ่าน 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='', stripPrefix='', *, rename_files={}, watch_archive='auto')

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

พารามิเตอร์

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

ไฟล์

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
path สตริง หรือ ป้ายกำกับ หรือ เส้นทาง ต้องระบุ
เส้นทางของไฟล์ที่จะสร้างซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บข้อมูล
content ค่าเริ่มต้นคือ ''
โดยค่าเริ่มต้น เนื้อหาของไฟล์ที่จะสร้างจะว่างเปล่า
executable ค่าเริ่มต้นคือ True
กําหนด Flag ไฟล์ที่เรียกใช้งานได้ในไฟล์ที่สร้าง โดยค่าเริ่มต้นจะเป็น True
legacy_utf8 ค่าเริ่มต้นคือ True
เข้ารหัสเนื้อหาไฟล์เป็น UTF-8 โดยค่าเริ่มต้นจะเป็น "จริง" เวอร์ชันในอนาคตจะเปลี่ยนค่าเริ่มต้นและนําพารามิเตอร์นี้ออก

Getenv

string module_ctx.getenv(name, default=None)

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

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

พารามิเตอร์

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

is_dev_dependency

bool module_ctx.is_dev_dependency(tag)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
tag bazel_module_tag; ต้องระบุ
แท็กที่ได้รับจาก 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 module_ctx.read(path, *, watch='auto')

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

พารามิเตอร์

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

report_progress

None module_ctx.report_progress(status='')

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
status สตริง ค่าเริ่มต้นคือ ''
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 สตริง หรือป้ายกำกับ หรือเส้นทาง ต้องระบุ
เส้นทางของไฟล์ที่จะเฝ้าดู

ไหน

path module_ctx.which(program)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
program ต้องระบุ
โปรแกรมเพื่อค้นหาในเส้นทาง
อาจแสดงผล None