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

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

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

สำหรับสมาชิก

แอตทริบิวต์

struct repository_ctx.attr

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

ลบ

bool repository_ctx.delete(path)

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

พารามิเตอร์

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

ดาวน์โหลด

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

execute

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

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

พารามิเตอร์

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

แตกข้อมูล

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

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

พารามิเตอร์

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

ไฟล์

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

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

พารามิเตอร์

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

Getenv

string repository_ctx.getenv(name, default=None)

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

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

พารามิเตอร์

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

ชื่อ

string repository_ctx.name

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

os

repository_os repository_ctx.os

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

แพตช์

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

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

พารามิเตอร์

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

เส้นทาง

path repository_ctx.path(path)

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

พารามิเตอร์

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

อ่าน

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

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

พารามิเตอร์

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

report_progress

None repository_ctx.report_progress(status='')

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

พารามิเตอร์

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

None repository_ctx.symlink(target, link_name)

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

พารามิเตอร์

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

เทมเพลต

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

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

พารามิเตอร์

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

นาฬิกา

None repository_ctx.watch(path)

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

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

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

พารามิเตอร์

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

watch_tree

None repository_ctx.watch_tree(path)

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

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

พารามิเตอร์

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

ไหน

path repository_ctx.which(program)

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

พารามิเตอร์

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

workspace_root

path repository_ctx.workspace_root

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