implementation
เมื่อสร้างกฎที่เก็บ
สมาชิก
- attr
- ลบ
- ดาวน์โหลด
- download_and_extract
- ดำเนินการ
- แยก
- ไฟล์
- name
- ระบบปฏิบัติการ
- แพตช์
- เส้นทาง
- อ่าน
- report_progress
- ลิงก์สัญลักษณ์
- เทมเพลต
- ซึ่ง
- workspace_root
attr
struct repository_ctx.attr
ลบ
bool repository_ctx.delete(path)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
path
|
string; or path ;
ต้องระบุเส้นทางของไฟล์ที่จะลบ โดยสัมพันธ์กับไดเรกทอรีที่เก็บ หรือแบบสัมบูรณ์ อาจเป็นเส้นทางหรือสตริงก็ได้ |
ดาวน์โหลด
struct repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')
success
ซึ่งเป็นแฟล็ก true
หากดาวน์โหลดสำเร็จ และหากดาวน์โหลดสำเร็จ จะแฮชของไฟล์ที่มีช่อง sha256
และ integrity
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
url
|
string; or Iterable of strings ;
ต้องระบุรายการ URL มิเรอร์ที่อ้างอิงไฟล์เดียวกัน |
output
|
string; or Label; or path ;
ค่าเริ่มต้น = ''เส้นทางไปยังไฟล์เอาต์พุตที่สัมพันธ์กับไดเรกทอรีที่เก็บ |
sha256
|
ค่าเริ่มต้น = '' แฮช SHA-256 ที่คาดไว้ของไฟล์ที่ดาวน์โหลด ต้องตรงกับแฮช SHA-256 ของไฟล์ที่ดาวน์โหลด การละเว้น SHA-256 นั้นมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจเปลี่ยนแปลงได้ การละเว้นฟิลด์นี้อย่างดีที่สุดจะทำให้งานสร้างของคุณไม่ใช่สุญญากาศ ไม่บังคับเพื่อให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนส่ง |
executable
|
ค่าเริ่มต้น = เท็จ ตั้งค่าสถานะไฟล์ปฏิบัติการในไฟล์ที่สร้างขึ้นเป็น "เท็จ" โดยค่าเริ่มต้น |
allow_fail
|
ค่าเริ่มต้น = เท็จ หากตั้งค่าไว้ ให้ระบุข้อผิดพลาดในมูลค่าการแสดงผลแทนการเพิ่มข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สำเร็จ |
canonical_id
|
ค่าเริ่มต้น = '' หากมีการตั้งค่า ให้จำกัดการพบแคชไว้เฉพาะกรณีที่เพิ่มไฟล์ลงในแคชที่มีรหัสตามรูปแบบบัญญัติเดียวกัน |
auth
|
default = {} คำสั่งที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางส่วน |
integrity
|
ค่าเริ่มต้น = '' การตรวจสอบข้อผิดพลาดที่คาดของไฟล์ที่ดาวน์โหลดในรูปแบบความสมบูรณ์ของทรัพยากรย่อย ซึ่งต้องตรงกับ checksum ของไฟล์ที่ดาวน์โหลด การละเว้นการตรวจสอบข้อผิดพลาดนั้นมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจเปลี่ยนแปลงได้ การละเว้นฟิลด์นี้อย่างดีที่สุดจะทำให้งานสร้างของคุณไม่ใช่สุญญากาศ ไม่บังคับเพื่อให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนส่ง |
download_and_extract
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})
success
แฟล็กซึ่งเป็น true
หากดาวน์โหลดสำเร็จ และหากดาวน์โหลดสำเร็จ จะแฮชของไฟล์ที่มีช่อง sha256
และ integrity
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
url
|
string; or Iterable of strings ;
ต้องระบุรายการ URL มิเรอร์ที่อ้างอิงไฟล์เดียวกัน |
output
|
string; or Label; or path ;
ค่าเริ่มต้น = ''เส้นทางไปยังไดเรกทอรีที่ระบบจะคลายการแพคข้อมูลที่เก็บถาวรซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ |
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", ".ar" หรือ ".deb" ที่นี่ |
stripPrefix
|
ค่าเริ่มต้น = '' คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ที่เก็บถาวรจำนวนมากมีไดเรกทอรีระดับบนสุดที่มีไฟล์ทั้งหมดในที่เก็บถาวร แทนที่จะต้องระบุคำนำหน้านี้ซ้ำแล้วซ้ำอีกใน build_file คุณจะใช้ช่องนี้เพื่อตัดคำนำหน้าออกจากไฟล์ที่ดึงมาได้
|
allow_fail
|
ค่าเริ่มต้น = เท็จ หากตั้งค่าไว้ ให้ระบุข้อผิดพลาดในมูลค่าการแสดงผลแทนการเพิ่มข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สำเร็จ |
canonical_id
|
ค่าเริ่มต้น = '' หากมีการตั้งค่า ให้จำกัดการพบแคชไว้เฉพาะกรณีที่เพิ่มไฟล์ลงในแคชที่มีรหัสตามรูปแบบบัญญัติเดียวกัน |
auth
|
default = {} คำสั่งที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางส่วน |
integrity
|
ค่าเริ่มต้น = '' การตรวจสอบข้อผิดพลาดที่คาดของไฟล์ที่ดาวน์โหลดในรูปแบบความสมบูรณ์ของทรัพยากรย่อย ซึ่งต้องตรงกับ checksum ของไฟล์ที่ดาวน์โหลด การละเว้นการตรวจสอบข้อผิดพลาดนั้นมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจเปลี่ยนแปลงได้ การละเว้นฟิลด์นี้อย่างดีที่สุดจะทำให้งานสร้างของคุณไม่ใช่สุญญากาศ ไม่บังคับเพื่อให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนส่ง |
rename_files
|
default = {} คำสั่ง (ไม่บังคับ) ที่ระบุไฟล์ที่จะเปลี่ยนชื่อระหว่างการดึงข้อมูล ระบบจะเปลี่ยนชื่อรายการที่เก็บถาวรที่มีชื่อตรงกับคีย์เป็นค่า ก่อนที่จะมีการปรับคำนำหน้าไดเรกทอรี ซึ่งสามารถใช้เพื่อดึงข้อมูลที่เก็บถาวรที่มีชื่อไฟล์ที่ไม่ใช่ Unicode หรือมีไฟล์ที่จะแยกไปยังเส้นทางเดียวกันในระบบไฟล์ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ |
ดำเนินการ
exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")
timeout
(หน่วยเป็นวินาที ค่าเริ่มต้น 600 วินาที) เมธอดนี้แสดงโครงสร้าง exec_result
ที่มีเอาต์พุตของคำสั่ง สามารถใช้แมป environment
เพื่อลบล้างตัวแปรสภาพแวดล้อมบางอย่างที่จะส่งผ่านไปยังกระบวนการดังกล่าว
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
arguments
|
ต้องระบุ รายการอาร์กิวเมนต์ องค์ประกอบแรกควรเป็นเส้นทางไปยังโปรแกรมเพื่อเรียกใช้ |
timeout
|
ค่าเริ่มต้น = 600 ระยะเวลาสูงสุดของคำสั่งเป็นวินาที (ค่าเริ่มต้นคือ 600 วินาที) |
environment
|
default = {} บังคับให้มีการตั้งค่าตัวแปรสภาพแวดล้อมบางอย่างให้ส่งผ่านไปยังกระบวนการดังกล่าว |
quiet
|
ค่าเริ่มต้น = จริง ควรพิมพ์ Stdout และ stderr ที่เครื่องชำระเงิน |
working_directory
|
ค่าเริ่มต้น = "" ไดเรกทอรีการทำงานสำหรับการเรียกใช้คำสั่ง อาจสัมพัทธ์กับรูทของที่เก็บหรือแบบสัมบูรณ์ได้ |
แตกข้อมูล
None repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
archive
|
string; or Label; or path ;
ต้องระบุเส้นทางไปยังที่เก็บถาวรที่จะคลายการแพคข้อมูล โดยสัมพันธ์กับไดเรกทอรีที่เก็บ |
output
|
string; or Label; or path ;
ค่าเริ่มต้น = ''เส้นทางไปยังไดเรกทอรีที่ระบบจะคลายการแพคข้อมูลที่เก็บถาวรซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ |
stripPrefix
|
ค่าเริ่มต้น = '' คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ที่เก็บถาวรจำนวนมากมีไดเรกทอรีระดับบนสุดที่มีไฟล์ทั้งหมดในที่เก็บถาวร แทนที่จะต้องระบุคำนำหน้านี้ซ้ำแล้วซ้ำอีกใน build_file คุณจะใช้ช่องนี้เพื่อตัดคำนำหน้าออกจากไฟล์ที่ดึงมาได้
|
rename_files
|
default = {} คำสั่ง (ไม่บังคับ) ที่ระบุไฟล์ที่จะเปลี่ยนชื่อระหว่างการดึงข้อมูล ระบบจะเปลี่ยนชื่อรายการที่เก็บถาวรที่มีชื่อตรงกับคีย์เป็นค่า ก่อนที่จะมีการปรับคำนำหน้าไดเรกทอรี ซึ่งสามารถใช้เพื่อดึงข้อมูลที่เก็บถาวรที่มีชื่อไฟล์ที่ไม่ใช่ Unicode หรือมีไฟล์ที่จะแยกไปยังเส้นทางเดียวกันในระบบไฟล์ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ |
ไฟล์
None repository_ctx.file(path, content='', executable=True, legacy_utf8=True)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
path
|
string; or Label; or path ;
ต้องระบุเส้นทางของไฟล์ที่จะสร้าง โดยสัมพันธ์กับไดเรกทอรีที่เก็บ |
content
|
ค่าเริ่มต้น = '' เนื้อหาของไฟล์ที่จะสร้าง ว่างเปล่าโดยค่าเริ่มต้น |
executable
|
ค่าเริ่มต้น = จริง ตั้งค่าสถานะไฟล์ปฏิบัติการในไฟล์ที่สร้างขึ้นเป็น true โดยค่าเริ่มต้น |
legacy_utf8
|
ค่าเริ่มต้น = จริง เข้ารหัสเนื้อหาไฟล์เป็น UTF-8 ซึ่งเป็น true โดยค่าเริ่มต้น เวอร์ชันในอนาคตจะเปลี่ยนค่าเริ่มต้นและนำพารามิเตอร์นี้ออก |
ชื่อ
string repository_ctx.name
ระบบปฏิบัติการ
repository_os repository_ctx.os
แพตช์
None repository_ctx.patch(patch_file, strip=0)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
patch_file
|
string; or Label; or path ;
ต้องระบุไฟล์แพตช์ที่จะใช้อาจเป็นป้ายกำกับ เส้นทางที่เกี่ยวข้อง หรือเส้นทางสัมบูรณ์ หากเป็นเส้นทางแบบสัมพัทธ์ ระบบจะระบุเส้นทางดังกล่าวไปยังไดเรกทอรีที่เก็บ |
strip
|
ค่าเริ่มต้น = 0 นำจำนวนคอมโพเนนต์นำหน้าที่ระบุออกจากชื่อไฟล์ |
เส้นทาง
path repository_ctx.path(path)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
path
|
string; or Label; or path ;
ต้องระบุสตริง ป้ายกำกับ หรือเส้นทางที่จะนำไปสร้างเส้นทาง |
อ่าน
string repository_ctx.read(path)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
path
|
string; or Label; or path ;
ต้องระบุเส้นทางของไฟล์ที่จะอ่าน |
report_progress
None repository_ctx.report_progress(status='')
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
status
|
string ;
ค่าเริ่มต้น = ''สตริงที่อธิบายสถานะปัจจุบันของความคืบหน้าการดึงข้อมูล |
ลิงก์สัญลักษณ์
None repository_ctx.symlink(target, link_name)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
target
|
string; or Label; or path ;
ต้องระบุเส้นทางที่ลิงก์สัญลักษณ์ควรชี้ไป |
link_name
|
string; or Label; or path ;
ต้องระบุเส้นทางของลิงก์สัญลักษณ์ที่จะสร้างซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ |
เทมเพลต
None repository_ctx.template(path, template, substitutions={}, executable=True)
template
ทุกรายการใน template
ของคีย์ substitutions
จะถูกแทนที่ด้วยค่าที่เกี่ยวข้อง ผลลัพธ์เขียนเป็นภาษาpath
อาร์กิวเมนต์ executable
ที่ไม่บังคับ (ค่าเริ่มต้นคือ true) สามารถเปิดหรือปิดบิตสั่งการได้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
path
|
string; or Label; or path ;
ต้องระบุเส้นทางของไฟล์ที่จะสร้าง โดยสัมพันธ์กับไดเรกทอรีที่เก็บ |
template
|
string; or Label; or path ;
ต้องระบุไปยังไฟล์เทมเพลต |
substitutions
|
default = {} ใช้แทนเมื่อขยายเทมเพลต |
executable
|
ค่าเริ่มต้น = จริง ตั้งค่าสถานะไฟล์ปฏิบัติการในไฟล์ที่สร้างขึ้นเป็น true โดยค่าเริ่มต้น |
ไหน
path repository_ctx.which(program)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
program
|
ต้องระบุ โปรแกรมเพื่อค้นหาในเส้นทาง |
None
workspace_root
path repository_ctx.workspace_root