ที่เก็บที่มีสิทธิ์

วันที่ รายงานปัญหา ดูแหล่งที่มา ตอนกลางคืน · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

สมาชิก

attr

struct repository_ctx.attr

โครงสร้างสำหรับเข้าถึงค่าของแอตทริบิวต์ ค่าที่ระบุโดยผู้ใช้ (ถ้าไม่ใช่ ระบบจะใช้ค่าเริ่มต้น)

ลบ

bool repository_ctx.delete(path)

ลบไฟล์หรือไดเรกทอรี แสดงบูลีนที่ระบุว่าไฟล์หรือไดเรกทอรีถูกลบโดยการเรียกนี้จริงหรือไม่

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
path string; หรือ path จำเป็น
เส้นทางของไฟล์ที่จะลบ โดยสัมพันธ์กับไดเรกทอรีที่เก็บ หรือแบบสัมบูรณ์ อาจเป็นเส้นทางหรือสตริงก็ได้

ดาวน์โหลด

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

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

พารามิเตอร์

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

download_and_extract

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

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

พารามิเตอร์

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

ดำเนินการ

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

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

พารามิเตอร์

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

แตกข้อมูล

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

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

พารามิเตอร์

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

ไฟล์

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

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

พารามิเตอร์

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

Getenv

string repository_ctx.getenv(name, default=None)

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

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

พารามิเตอร์

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

ชื่อ

string repository_ctx.name

ชื่อของที่เก็บภายนอกที่สร้างโดยกฎนี้

ระบบปฏิบัติการ

repository_os repository_ctx.os

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

แพตช์

None repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')

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

พารามิเตอร์

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

เส้นทาง

path repository_ctx.path(path)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
path string; หรือ ป้ายกำกับ หรือ path จำเป็น
สตริง ป้ายกำกับ หรือเส้นทางที่จะนำไปสร้างเส้นทาง

อ่าน

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

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

พารามิเตอร์

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

report_progress

None repository_ctx.report_progress(status='')

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

พารามิเตอร์

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

None repository_ctx.symlink(target, link_name)

สร้างลิงก์สัญลักษณ์บนระบบไฟล์

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
target string; หรือ ป้ายกำกับ หรือ path จำเป็น
เส้นทางที่ลิงก์สัญลักษณ์ควรชี้ไป
string; หรือ ป้ายกำกับ หรือ path จำเป็น
เส้นทางของลิงก์สัญลักษณ์ในการสร้าง

เทมเพลต

None repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
path string; หรือ ป้ายกำกับ หรือ path จำเป็น
เส้นทางของไฟล์ที่จะสร้าง โดยสัมพันธ์กับไดเรกทอรีที่เก็บ
template string; หรือ ป้ายกำกับ หรือ path จำเป็น
ไปยังไฟล์เทมเพลต
substitutions ค่าเริ่มต้นคือ {}
ใช้แทนเมื่อขยายเทมเพลต
executable ค่าเริ่มต้นคือ True
ตั้งค่าสถานะไฟล์ปฏิบัติการในไฟล์ที่สร้างขึ้นเป็น true โดยค่าเริ่มต้น
watch_template ค่าเริ่มต้นคือ 'auto'
ว่าจะดูไฟล์เทมเพลตไหม อาจเป็นสตริง "yes" "no" หรือ "auto" ส่งผ่านคำว่า "ใช่" เทียบเท่ากับการเรียกใช้เมธอด watch() ทันที ส่ง "ไม่" ไม่พยายามดูไฟล์ ส่ง "auto" จะพยายามดูไฟล์ต่อเมื่อข้อมูลถูกกฎหมายเท่านั้น (โปรดดูข้อมูลเพิ่มเติมในเอกสารwatch()

นาฬิกา

None repository_ctx.watch(path)

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

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
path string; หรือ ป้ายกำกับ หรือ path จำเป็น
ของไฟล์ที่จะรับชม

watch_tree

None repository_ctx.watch_tree(path)

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
path string; หรือ ป้ายกำกับ หรือ path จำเป็น
ของแผนผังไดเรกทอรีที่จะเฝ้าดู

ไหน

path repository_ctx.which(program)

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

พารามิเตอร์

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

workspace_root

path repository_ctx.workspace_root

เส้นทางไปยังพื้นที่ทำงานรูทของการเรียกใช้ bazel