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

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

บริบทของส่วนขยายโมดูลที่มีฟังก์ชันตัวช่วยและข้อมูลเกี่ยวกับแท็กที่เกี่ยวข้องในกราฟความเกี่ยวข้อง คุณจะได้รับออบเจ็กต์ 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
กําหนด Flag ไฟล์ที่เรียกใช้งานได้ในไฟล์ที่สร้าง โดยค่าเริ่มต้นจะเป็นเท็จ
allow_fail ค่าเริ่มต้นคือ False
หากตั้งค่าไว้ ระบบจะระบุข้อผิดพลาดในค่าที่แสดงแทนที่จะแสดงข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สําเร็จ
canonical_id ค่าเริ่มต้นคือ ''
หากตั้งค่าไว้ ระบบจะจำกัด Hit ของแคชไว้เฉพาะในกรณีที่มีการเพิ่มไฟล์ลงในแคชด้วยรหัสแคนนอนิกเดียวกัน โดยค่าเริ่มต้น การแคชจะใช้การตรวจสอบผลรวม (sha256 หรือ integrity)
auth ค่าเริ่มต้นคือ {}
Dict ที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ 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 สตริง หรือป้ายกำกับ หรือเส้นทาง ค่าเริ่มต้นคือ ''
เส้นทางไปยังไดเรกทอรีที่จะแตกไฟล์เก็บถาวร โดยสัมพันธ์กับไดเรกทอรีที่เก็บ
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 ค่าเริ่มต้นคือ ''
หากตั้งค่าไว้ ระบบจะจำกัด Hit ของแคชไว้เฉพาะในกรณีที่มีการเพิ่มไฟล์ลงในแคชด้วยรหัสแคนนอนิกเดียวกัน โดยค่าเริ่มต้น การแคชจะใช้การตรวจสอบผลรวม" (sha256 หรือ integrity)
auth ค่าเริ่มต้นคือ {}
Dict ที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สําหรับ URL บางรายการ
headers ค่าเริ่มต้นคือ {}
Dict ที่ไม่บังคับซึ่งระบุส่วนหัว HTTP สําหรับ URL ทั้งหมด
integrity ค่าเริ่มต้นคือ ''
ค่าการตรวจสอบผลรวมที่คาดไว้ของไฟล์ที่ดาวน์โหลดในรูปแบบ 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 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; default is False
ระบุว่าส่วนขยายโมดูลนี้ช่วยให้สามารถทําซ้ำได้อย่างสมบูรณ์ จึงไม่ควรจัดเก็บไว้ในไฟล์ล็อก

ดึงข้อมูล

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
archive สตริง หรือ ป้ายกำกับ หรือ เส้นทาง ต้องระบุ
เส้นทางไปยังไฟล์เก็บถาวรที่จะแตกไฟล์ โดยสัมพันธ์กับไดเรกทอรีที่เก็บ
output สตริง หรือ ป้ายกำกับ หรือ เส้นทาง ค่าเริ่มต้นคือ ''
เส้นทางไปยังไดเรกทอรีที่จะแตกไฟล์เก็บถาวร โดยสัมพันธ์กับไดเรกทอรีที่เก็บ
stripPrefix ค่าเริ่มต้นคือ ''
คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ที่เก็บถาวรจำนวนมากมีไดเรกทอรีระดับบนสุดที่มีไฟล์ทั้งหมดในที่เก็บถาวร ฟิลด์นี้ใช้เพื่อนำคำนำหน้านี้ออกจากไฟล์ที่แตกไฟล์ได้โดยไม่ต้องระบุคำนำหน้านี้ซ้ำๆ ใน build_file
rename_files ค่าเริ่มต้นคือ {}
Dict ที่ไม่บังคับซึ่งระบุไฟล์ที่จะเปลี่ยนชื่อระหว่างการแตกไฟล์ ระบบจะเปลี่ยนชื่อรายการที่เก็บถาวรซึ่งมีชื่อตรงกับคีย์เป็นค่านั้นๆ ก่อนที่จะปรับคำนำหน้าไดเรกทอรี ซึ่งสามารถใช้เพื่อแตกไฟล์ที่เก็บซึ่งมีชื่อไฟล์ที่ไม่ใช่ 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 สตริง; ต้องระบุ
ชื่อตัวแปรสภาพแวดล้อมที่ต้องการ
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