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

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

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

สมาชิก

attr

struct repository_ctx.attr

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

ลบ

bool repository_ctx.delete(path)

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

พารามิเตอร์

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

พารามิเตอร์

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

ไฟล์

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

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

พารามิเตอร์

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

getenv

string repository_ctx.getenv(name, default=None)

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
name string; ต้องระบุ
ชื่อตัวแปรสภาพแวดล้อมที่ต้องการ
default สตริง หรือ 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')

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

พารามิเตอร์

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

เส้นทาง

path repository_ctx.path(path)

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

พารามิเตอร์

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

อ่าน

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

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

พารามิเตอร์

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

report_progress

None repository_ctx.report_progress(status='')

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

พารามิเตอร์

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

None repository_ctx.symlink(target, link_name)

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

พารามิเตอร์

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

เทมเพลต

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
path string หรือ Label หรือ path ต้องระบุ
เส้นทางของไฟล์ที่จะสร้างซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ
template สตริง หรือป้ายกำกับ หรือเส้นทาง ต้องระบุ
เส้นทางไปยังไฟล์เทมเพลต
substitutions ค่าเริ่มต้นคือ {}
การแทนที่ที่จะทำเมื่อขยายเทมเพลต
executable ค่าเริ่มต้นคือ True
ตั้งค่าสถานะไฟล์ปฏิบัติการในไฟล์ที่สร้างขึ้นเป็น "จริง" โดยค่าเริ่มต้น
watch_template ค่าเริ่มต้นคือ '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)

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

พารามิเตอร์

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

workspace_root

path repository_ctx.workspace_root

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