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

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

บริบทของกฎที่เก็บที่มีฟังก์ชันผู้ช่วยและข้อมูลเกี่ยวกับแอตทริบิวต์ คุณจะได้รับออบเจ็กต์ rel_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 เมื่อระบุ sha256 หรือ integrity โดยผู้ใช้ ขอแนะนำให้ตั้งค่า canonical_id อย่างชัดแจ้ง เช่น get_default_canonical_id

พารามิเตอร์

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
url string; หรือทำซ้ำได้โดยสตริง จำเป็น
รายการ URL มิเรอร์ที่อ้างอิงไฟล์เดียวกัน
output string; หรือ ป้ายกำกับ หรือ 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", ".ar" หรือ ".tbz", ".ar" หรือ ".tbz" ที่นี่
stripPrefix string; ค่าเริ่มต้นคือ ''
คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ที่เก็บถาวรจำนวนมากมีไดเรกทอรีระดับบนสุดที่มีไฟล์ทั้งหมดในที่เก็บถาวร แทนที่จะต้องระบุคำนำหน้านี้ซ้ำแล้วซ้ำอีกใน build_file คุณจะใช้ช่องนี้เพื่อตัดคำนำหน้าออกจากไฟล์ที่ดึงมาได้
allow_fail bool; ค่าเริ่มต้นคือ False
หากตั้งค่าไว้ ให้ระบุข้อผิดพลาดในมูลค่าการแสดงผลแทนการเพิ่มข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สำเร็จ
canonical_id string; ค่าเริ่มต้นคือ ''
หากตั้งค่าไว้ ให้จำกัดการพบแคชไว้เฉพาะกรณีที่เพิ่มไฟล์ลงในแคชที่มีรหัสตามรูปแบบบัญญัติเดียวกัน โดยค่าเริ่มต้น การแคชจะใช้การตรวจสอบข้อผิดพลาด" (sha256 หรือ integrity)
auth dict; ค่าเริ่มต้นคือ {}
คำสั่งที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางส่วน
headers dict; ค่าเริ่มต้นคือ {}
คำสั่งที่ไม่บังคับซึ่งระบุส่วนหัวของ HTTP สำหรับ URL ทั้งหมด
integrity string; ค่าเริ่มต้นคือ ''
การตรวจสอบข้อผิดพลาดที่คาดของไฟล์ที่ดาวน์โหลดในรูปแบบความสมบูรณ์ของทรัพยากรย่อย ซึ่งต้องตรงกับ checksum ของไฟล์ที่ดาวน์โหลด การละเว้นการตรวจสอบข้อผิดพลาดนั้นมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจเปลี่ยนแปลงได้ การละเว้นฟิลด์นี้อย่างดีที่สุดจะทำให้งานสร้างของคุณไม่ใช่สุญญากาศ ไม่บังคับเพื่อให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนส่ง หากมี ระบบจะตรวจสอบแคชของที่เก็บเพื่อหาไฟล์ที่มี checksum ที่ระบุก่อน ระบบจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ในแคช เมื่อดาวน์โหลดสำเร็จ ระบบจะเพิ่มไฟล์ลงในแคช
rename_files dict; ค่าเริ่มต้นคือ {}
คำสั่ง (ไม่บังคับ) ที่ระบุไฟล์ที่จะเปลี่ยนชื่อระหว่างการดึงข้อมูล ระบบจะเปลี่ยนชื่อรายการที่เก็บถาวรที่มีชื่อตรงกับคีย์เป็นค่า ก่อนที่จะมีการปรับคำนำหน้าไดเรกทอรี ซึ่งสามารถใช้เพื่อดึงข้อมูลที่เก็บถาวรที่มีชื่อไฟล์ที่ไม่ใช่ Unicode หรือมีไฟล์ที่จะแยกไปยังเส้นทางเดียวกันในระบบไฟล์ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

ดำเนินการ

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

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

พารามิเตอร์

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

ไฟล์

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

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

พารามิเตอร์

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

เส้นทาง

path repository_ctx.path(path)

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

พารามิเตอร์

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

อ่าน

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

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

พารามิเตอร์

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

report_progress

None repository_ctx.report_progress(status='')

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

พารามิเตอร์

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

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

พารามิเตอร์

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

workspace_root

path repository_ctx.workspace_root

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