implementation
เมื่อสร้างกฎที่เก็บ
สำหรับสมาชิก
- attr
- ลบ
- ดาวน์โหลด
- download_and_extract
- execute
- แยก
- ไฟล์
- เกเตนฟ
- name
- os
- แพตช์
- เส้นทาง
- อ่าน
- report_progress
- ลิงก์สัญลักษณ์
- เทมเพลต
- นาฬิกาข้อมือ
- watch_tree
- ซึ่ง
- workspace_root
แอตทริบิวต์
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
ต้องระบุ เส้นทางที่ลิงก์สัญลักษณ์ควรชี้ไป |
link_name
|
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