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

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

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

download_and_extract

struct repository_ctx.download_and_extract(url, output='', sha256='', type='', strip_prefix='', 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 string; ค่าเริ่มต้นคือ ''
แฮช 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" ที่นี่อย่างชัดเจน
strip_prefix string; ค่าเริ่มต้นคือ ''
คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ที่เก็บถาวรจำนวนมากมีไดเรกทอรีระดับบนสุดที่มีไฟล์ทั้งหมดในที่เก็บถาวร คุณสามารถใช้ฟิลด์นี้เพื่อนำคำนำหน้านี้ออกจากไฟล์ที่แตกไฟล์แทนที่จะต้องระบุคำนำหน้านี้ซ้ำๆ ใน build_file

คุณอาจใช้พารามิเตอร์นี้ภายใต้ชื่อที่เลิกใช้งานแล้วซึ่งได้แก่ stripPrefix ได้ด้วยเพื่อการทำงานร่วมกัน

allow_fail bool; ค่าเริ่มต้นคือ False
หากตั้งค่าไว้ ระบบจะระบุข้อผิดพลาดในผลลัพธ์แทนที่จะแสดงข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สําเร็จ
canonical_id สตริง; ค่าเริ่มต้นคือ ''
หากตั้งค่าไว้ ระบบจะจำกัด Hit ของแคชไว้เฉพาะในกรณีที่มีการเพิ่มไฟล์ลงในแคชด้วยรหัสแคนนอนิกเดียวกัน โดยค่าเริ่มต้น การแคชจะใช้การตรวจสอบผลรวม" (sha256 หรือ integrity)
auth dict; ค่าเริ่มต้นคือ {}
พจนานุกรมที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางรายการ
headers dict; ค่าเริ่มต้นคือ {}
คำสั่ง (ไม่บังคับ) ที่ระบุส่วนหัว http สำหรับ URL ทั้งหมด
integrity สตริง; ค่าเริ่มต้นคือ ''
ค่าการตรวจสอบผลรวมที่คาดไว้ของไฟล์ที่ดาวน์โหลดในรูปแบบความสมบูรณ์ของเนื้อหาย่อย ซึ่งต้องตรงกับการตรวจสอบผลรวมของไฟล์ที่ดาวน์โหลด การละเว้นการตรวจสอบผลรวมเป็นความเสี่ยงด้านความปลอดภัย เนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง การละเว้นฟิลด์นี้อย่างดีที่สุดจะทำให้งานสร้างของคุณไม่ใช่สุญญากาศ การตั้งค่านี้ไม่บังคับ แต่จะช่วยให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากมี ระบบจะตรวจสอบแคชของที่เก็บเพื่อหาไฟล์ที่มี checksum ที่ระบุก่อน และจะดำเนินการดาวน์โหลดต่อหากไม่พบไฟล์ในแคช หลังจากดาวน์โหลดสำเร็จ ระบบจะเพิ่มไฟล์ลงในแคช
rename_files dict; ค่าเริ่มต้นคือ {}
Dict ที่ไม่บังคับซึ่งระบุไฟล์ที่จะเปลี่ยนชื่อระหว่างการดึงข้อมูล ระบบจะเปลี่ยนชื่อรายการที่เก็บถาวรซึ่งมีชื่อตรงกับคีย์เป็นค่านั้นๆ ก่อนที่จะปรับคำนำหน้าไดเรกทอรี ซึ่งสามารถใช้เพื่อแตกไฟล์ที่เก็บซึ่งมีชื่อไฟล์ที่ไม่ใช่ Unicode หรือมีไฟล์ที่จะแตกไปยังเส้นทางเดียวกันในระบบไฟล์ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

ดำเนินการ

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; ค่าเริ่มต้นคือ {}
บังคับให้ตั้งค่าตัวแปรสภาพแวดล้อมบางอย่างเพื่อส่งไปยังกระบวนการ ค่าอาจเป็น None เพื่อนำตัวแปรสภาพแวดล้อมออก
quiet bool; ค่าเริ่มต้นคือ True
หากควรพิมพ์ stdout และ stderr ไปยังเทอร์มินัล
working_directory สตริง; ค่าเริ่มต้นคือ ""
ไดเรกทอรีการทำงานสำหรับการเรียกใช้คำสั่ง อาจเป็นค่าสัมพัทธ์กับรูทของที่เก็บหรือค่าสัมบูรณ์ก็ได้ ค่าเริ่มต้นคือรูทของที่เก็บ

แตกข้อมูล

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
archive string หรือ Label หรือ path ต้องระบุ
เส้นทางไปยังที่เก็บถาวรที่จะคลายการแพคข้อมูล โดยสัมพันธ์กับไดเรกทอรีที่เก็บ
output string หรือ Label หรือ path ค่าเริ่มต้นคือ ''
เส้นทางไปยังไดเรกทอรีที่ระบบจะคลายการแพคข้อมูลที่เก็บถาวร โดยสัมพันธ์กับไดเรกทอรีที่เก็บ
strip_prefix string; ค่าเริ่มต้นคือ ''
ซึ่งเป็นคำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ที่เก็บถาวรจำนวนมากมีไดเรกทอรีระดับบนสุดที่มีไฟล์ทั้งหมดในที่เก็บถาวร คุณสามารถใช้ฟิลด์นี้เพื่อนำคำนำหน้านี้ออกจากไฟล์ที่แตกไฟล์แทนที่จะต้องระบุคำนำหน้านี้ซ้ำๆ ใน build_file

คุณอาจใช้พารามิเตอร์นี้ภายใต้ชื่อที่เลิกใช้งานแล้วซึ่งได้แก่ stripPrefix ได้ด้วยเพื่อการทำงานร่วมกัน

rename_files dict; ค่าเริ่มต้นคือ {}
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 string หรือ Label หรือ path ต้องระบุ
เส้นทางของไฟล์ที่จะสร้างซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ
content สตริง; ค่าเริ่มต้นคือ ''
โดยค่าเริ่มต้น เนื้อหาของไฟล์ที่จะสร้างจะเป็นค่าว่าง
executable bool; ค่าเริ่มต้นคือ True
กําหนด Flag ไฟล์ที่เรียกใช้งานได้ในไฟล์ที่สร้าง โดยค่าเริ่มต้นจะเป็น "จริง"
legacy_utf8 bool; ค่าเริ่มต้นคือ 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

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

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

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 เป็นเส้นทาง ระบบจะแสดงผลเส้นทางนั้นตามที่เป็นอยู่

พารามิเตอร์

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

อ่าน

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

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

พารามิเตอร์

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

เปลี่ยนชื่อ

None repository_ctx.rename(src, dst)

เปลี่ยนชื่อไฟล์หรือไดเรกทอรีจาก src เป็น dst ระบบจะสร้างไดเรกทอรีหลักตามความจำเป็น ดำเนินการไม่สำเร็จหากมีเส้นทางปลายทางอยู่แล้ว ทั้ง 2 เส้นทางต้องอยู่ในที่เก็บ

พารามิเตอร์

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

report_progress

None repository_ctx.report_progress(status='')

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

พารามิเตอร์

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

None repository_ctx.symlink(target, link_name)

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

พารามิเตอร์

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

เทมเพลต

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

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

พารามิเตอร์

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

นาฬิกา

None repository_ctx.watch(path)

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

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

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

พารามิเตอร์

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

watch_tree

None repository_ctx.watch_tree(path)

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

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

พารามิเตอร์

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

ไหน

path repository_ctx.which(program)

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

พารามิเตอร์

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

workspace_root

path repository_ctx.workspace_root

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