บริบทของกฎที่เก็บซึ่งมีฟังก์ชันตัวช่วยและข้อมูลเกี่ยวกับแอตทริบิวต์ คุณจะได้รับออบเจ็กต์ MRSS_ctx เป็นอาร์กิวเมนต์ของฟังก์ชัน implementation
เมื่อสร้างกฎที่เก็บ
สมาชิก
- attr
- ลบ
- download
- download_and_extract
- execute
- แยก
- file
- getenv
- name
- os
- patch
- path
- read
- report_progress
- symlink
- เทมเพลต
- watch
- watch_tree
- ซึ่ง
- workspace_root
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 ที่ระบุและแสดงผลสตรัคเจอร์ที่มี
success
ซึ่งเป็น Flag ที่เป็น true
หากการดาวน์โหลดเสร็จสมบูรณ์ และหากสำเร็จ ระบบจะแสดงแฮชของไฟล์ที่มีช่อง sha256
และ integrity
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
url
|
สตริง หรือ Iterable ของ สตริง
ต้องระบุ รายการ URL มิเรอร์ที่อ้างอิงไฟล์เดียวกัน |
output
|
สตริง หรือป้ายกำกับ หรือเส้นทาง
ค่าเริ่มต้นคือ '' เส้นทางไปยังไฟล์เอาต์พุตซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ |
sha256
|
ค่าเริ่มต้นคือ '' แฮช SHA-256 ที่คาดไว้ของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับแฮช SHA-256 ของไฟล์ที่ดาวน์โหลด การละเว้น SHA-256 เป็นความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง ในกรณีที่ดีที่สุด การละเว้นช่องนี้จะทำให้บิลด์ของคุณไม่เสถียร การตั้งค่านี้ไม่บังคับ แต่จะช่วยให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชที่เก็บข้อมูลก่อนเพื่อหาไฟล์ที่มีแฮชที่ระบุ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ดังกล่าวในแคช เมื่อดาวน์โหลดสำเร็จ ระบบจะเพิ่มไฟล์ลงในแคช |
executable
|
ค่าเริ่มต้นคือ False ตั้งค่า Flag ที่เรียกใช้งานได้ในไฟล์ที่สร้าง จะเป็นเท็จโดยค่าเริ่มต้น |
allow_fail
|
ค่าเริ่มต้นคือ False หากตั้งค่าไว้ ระบบจะระบุข้อผิดพลาดในค่าที่แสดงแทนที่จะแสดงข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สําเร็จ |
canonical_id
|
ค่าเริ่มต้นคือ '' หากตั้งค่าไว้ ระบบจะจำกัด Hit ของแคชไว้เฉพาะในกรณีที่มีการเพิ่มไฟล์ลงในแคชด้วยรหัสแคนนอนิกเดียวกัน โดยค่าเริ่มต้น การแคชจะใช้การตรวจสอบผลรวม( sha256 หรือ integrity )
|
auth
|
ค่าเริ่มต้นคือ {} Dict ที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สําหรับ URL บางรายการ |
headers
|
ค่าเริ่มต้นคือ {} Dict ที่ไม่บังคับซึ่งระบุส่วนหัว HTTP สําหรับ URL ทั้งหมด |
integrity
|
ค่าเริ่มต้นคือ '' checksum ที่คาดไว้ของไฟล์ที่ดาวน์โหลดในรูปแบบ Subresource Integrity ซึ่งต้องตรงกับ 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
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
url
|
สตริง หรือ Iterable ของ สตริง
ต้องระบุ รายการ URL มิเรอร์ที่อ้างอิงไฟล์เดียวกัน |
output
|
สตริง หรือ ป้ายกำกับ หรือ เส้นทาง
ค่าเริ่มต้นคือ '' เส้นทางไปยังไดเรกทอรีที่จะแตกไฟล์เก็บถาวร โดยสัมพันธ์กับไดเรกทอรีที่เก็บ |
sha256
|
ค่าเริ่มต้นคือ '' แฮช SHA-256 ที่คาดไว้ของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับแฮช SHA-256 ของไฟล์ที่ดาวน์โหลด การละเว้น SHA-256 เป็นความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง ในกรณีที่ดีที่สุด การละเว้นช่องนี้จะทำให้บิลด์ของคุณไม่เสถียร การตั้งค่านี้ไม่บังคับ แต่จะช่วยให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชที่เก็บข้อมูลก่อนเพื่อหาไฟล์ที่มีแฮชที่ระบุ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ดังกล่าวในแคช หลังจากดาวน์โหลดสำเร็จ ระบบจะเพิ่มไฟล์ลงในแคช |
type
|
ค่าเริ่มต้นคือ '' ประเภทไฟล์เก็บถาวรของไฟล์ที่ดาวน์โหลด โดยค่าเริ่มต้น ระบบจะกำหนดประเภทไฟล์จากนามสกุลของ URL หากไฟล์ไม่มีนามสกุล คุณสามารถระบุ "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" หรือ ".tbz" ได้ที่นี่ |
stripPrefix
|
ค่าเริ่มต้นคือ '' ซึ่งเป็นคำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ที่เก็บถาวรจำนวนมากมีไดเรกทอรีระดับบนสุดที่มีไฟล์ทั้งหมดในที่เก็บถาวร ฟิลด์นี้ใช้เพื่อตัดคำนำหน้านี้ออกจากไฟล์ที่แตกไฟล์ได้โดยไม่ต้องระบุคำนำหน้านี้ซ้ำๆ ใน build_file
|
allow_fail
|
ค่าเริ่มต้นคือ False หากตั้งค่าไว้ ระบบจะระบุข้อผิดพลาดในค่าที่แสดงแทนที่จะแสดงข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สําเร็จ |
canonical_id
|
ค่าเริ่มต้นคือ '' หากตั้งค่าไว้ ระบบจะจำกัด Hit ของแคชไว้เฉพาะในกรณีที่มีการเพิ่มไฟล์ลงในแคชด้วยรหัสแคนนอนิกเดียวกัน โดยค่าเริ่มต้น การแคชจะใช้การตรวจสอบผลรวม( sha256 หรือ integrity )
|
auth
|
ค่าเริ่มต้นคือ {} Dict ที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สําหรับ URL บางรายการ |
headers
|
ค่าเริ่มต้นคือ {} Dict ที่ไม่บังคับซึ่งระบุส่วนหัว HTTP สําหรับ URL ทั้งหมด |
integrity
|
ค่าเริ่มต้นคือ '' checksum ที่คาดไว้ของไฟล์ที่ดาวน์โหลดในรูปแบบ 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
|
required ลิสต์อาร์กิวเมนต์ โดยองค์ประกอบแรกควรเป็นเส้นทางไปยังโปรแกรมที่จะเรียกใช้ |
timeout
|
ค่าเริ่มต้นคือ 600 ระยะเวลาสูงสุดของคําสั่งเป็นวินาที (ค่าเริ่มต้นคือ 600 วินาที) |
environment
|
ค่าเริ่มต้นคือ {} บังคับให้ตั้งค่าตัวแปรสภาพแวดล้อมบางอย่างเพื่อส่งไปยังกระบวนการ |
quiet
|
ค่าเริ่มต้นคือ True หากควรพิมพ์ stdout และ stderr ไปยังเทอร์มินัล |
working_directory
|
ค่าเริ่มต้นคือ "" ไดเรกทอรีพื้นที่ทำงานสำหรับการเรียกใช้คำสั่ง อาจสัมพัทธ์กับรูทของที่เก็บหรือแบบสัมบูรณ์ได้ |
ดึงข้อมูล
None
repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={}, watch_archive='auto')
แตกไฟล์ที่เก็บถาวรไปยังไดเรกทอรีที่เก็บ
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
archive
|
สตริง หรือ ป้ายกำกับ หรือ เส้นทาง
ต้องระบุ เส้นทางไปยังไฟล์เก็บถาวรที่จะแตกไฟล์ โดยสัมพันธ์กับไดเรกทอรีที่เก็บ |
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 ตั้งค่าสถานะไฟล์ปฏิบัติการในไฟล์ที่สร้างขึ้นเป็น true โดยค่าเริ่มต้น |
legacy_utf8
|
ค่าเริ่มต้นคือ True เข้ารหัสเนื้อหาไฟล์เป็น UTF-8 โดยค่าเริ่มต้นจะเป็น "จริง" เวอร์ชันในอนาคตจะเปลี่ยนค่าเริ่มต้นและนําพารามิเตอร์นี้ออก |
getenv
string repository_ctx.getenv(name, default=None)แสดงผลค่าของตัวแปรสภาพแวดล้อม
name
เป็นสตริง หากมี หรือ default
หากไม่มีเมื่อสร้างแบบส่วนเพิ่ม การเปลี่ยนแปลงค่าของตัวแปรที่ตั้งชื่อโดย name
จะทำให้ระบบดึงข้อมูลที่เก็บนี้อีกครั้ง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
name
|
string;
ต้องระบุ ชื่อของตัวแปรสภาพแวดล้อมที่ต้องการ |
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')
ใช้ไฟล์แพตช์กับไดเรกทอรีรูทของที่เก็บข้อมูลภายนอก ไฟล์แพตช์ควรเป็นไฟล์ unified diff format มาตรฐาน การติดตั้งใช้งานแพตช์แบบเนทีฟของ Bazel ไม่รองรับการจับคู่แบบไม่เจาะจงและแพตช์ไบนารีเหมือนกับเครื่องมือบรรทัดคำสั่งของแพตช์
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
patch_file
|
สตริง หรือป้ายกำกับ หรือเส้นทาง
ต้องระบุ เป็นไฟล์แพตช์ที่จะใช้ ซึ่งอาจเป็นป้ายกำกับ เส้นทางแบบสัมพัทธ์ หรือเส้นทางแบบสัมบูรณ์ หากเป็นเส้นทางแบบสัมพัทธ์ ระบบจะเปลี่ยนเส้นทางไปยังไดเรกทอรีที่เก็บ |
strip
|
ค่าเริ่มต้นคือ 0 นำคอมโพเนนต์นำหน้าจำนวนที่ระบุออกจากชื่อไฟล์ |
watch_patch
|
ค่าเริ่มต้นคือ 'auto' เพื่อติดตามไฟล์แพตช์ อาจเป็นสตริง "yes", "no" หรือ "auto" การส่งค่า "yes" เทียบเท่ากับการเรียกใช้เมธอด watch() ทันที การส่งค่า "no" จะไม่พยายามเฝ้าดูไฟล์ การส่งค่า "auto" จะพยายามเฝ้าดูไฟล์ก็ต่อเมื่อดำเนินการได้อย่างถูกกฎหมายเท่านั้น (ดูข้อมูลเพิ่มเติมในเอกสาร watch() )
|
เส้นทาง
path repository_ctx.path(path)แสดงผลเส้นทางจากสตริง ป้ายกำกับ หรือเส้นทาง หากเส้นทางเป็นแบบสัมพัทธ์ ระบบจะแก้ไขเส้นทางนั้นตามไดเรกทอรีที่เก็บ หากเส้นทางเป็นป้ายกำกับ ระบบจะเปลี่ยนเส้นทางเป็นเส้นทางของไฟล์ที่เกี่ยวข้อง โปรดทราบว่าระบบจะเรียกใช้ที่เก็บระยะไกลในระหว่างระยะการวิเคราะห์ จึงไม่สามารถขึ้นอยู่กับผลลัพธ์เป้าหมาย (ป้ายกำกับควรชี้ไปยังไฟล์ที่ไม่ได้สร้างขึ้น) หากเส้นทางเป็นเส้นทาง ระบบจะแสดงผลเส้นทางตามที่เป็น
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
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
|
สตริง
ค่าเริ่มต้นคือ '' สตริงที่อธิบายสถานะปัจจุบันของกระบวนการดึงข้อมูล |
ลิงก์สัญลักษณ์
None
repository_ctx.symlink(target, link_name)
สร้างลิงก์สัญลักษณ์ (symlink) ในระบบไฟล์
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
target
|
string หรือ Label หรือ path
ต้องระบุ เส้นทางที่ลิงก์สัญลักษณ์ควรชี้ไป |
link_name
|
สตริง หรือป้ายกำกับ หรือเส้นทาง
ต้องระบุ เส้นทางของลิงก์สัญลักษณ์ที่จะสร้าง |
เทมเพลต
None
repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')
สร้างไฟล์ใหม่โดยใช้ template
ระบบจะแทนที่ค่าที่ตรงกันแทนคีย์ substitutions
ทั้งหมดใน template
ผลลัพธ์จะเขียนเป็น path
คุณสามารถตั้งค่าอาร์กิวเมนต์executable
(ค่าเริ่มต้นคือ "จริง") ที่ไม่บังคับเพื่อเปิดหรือปิดบิตที่เรียกใช้ได้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
path
|
สตริง หรือป้ายกำกับ หรือเส้นทาง
ต้องระบุ เส้นทางของไฟล์ที่จะสร้างซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ |
template
|
สตริง หรือป้ายกำกับ หรือเส้นทาง
ต้องระบุ เส้นทางไปยังไฟล์เทมเพลต |
substitutions
|
ค่าเริ่มต้นคือใช้แทน {} รายการเมื่อขยายเทมเพลต |
executable
|
ค่าเริ่มต้นคือ True ตั้งค่า Flag ที่ใช้เรียกใช้ได้ในไฟล์ที่สร้าง โดยค่าเริ่มต้นจะเป็น 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)แสดงผลเส้นทางของโปรแกรมที่เกี่ยวข้อง หรือแสดงผล None หากไม่มีโปรแกรมดังกล่าวในเส้นทาง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
program
|
ต้องระบุ โปรแกรมที่จะค้นหาในเส้นทาง |
None
workspace_root
path repository_ctx.workspace_rootเส้นทางไปยังพื้นที่ทํางานรูทของคําเรียกใช้ bazel