implementation
เมื่อสร้างส่วนขยายโมดูล
สมาชิก
- ดาวน์โหลด
- download_and_extract
- ดำเนินการ
- extension_metadata
- ไฟล์
- is_dev_dependency
- โมดูล
- ระบบปฏิบัติการ
- เส้นทาง
- อ่าน
- report_progress
- ซึ่ง
ดาวน์โหลด
struct module_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 module_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 module_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
|
ค่าเริ่มต้น = "" ไดเรกทอรีการทำงานสำหรับการเรียกใช้คำสั่ง อาจสัมพัทธ์กับรูทของที่เก็บหรือแบบสัมบูรณ์ได้ |
extension_metadata
extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
root_module_direct_deps
|
sequence of strings; or string; or None ;
ค่าเริ่มต้น = ไม่มีชื่อของที่เก็บที่ส่วนขยายถือว่าเป็นทรัพยากร Dependency โดยตรงของโมดูลรูท หากโมดูลรูทนำเข้าที่เก็บเพิ่มเติมหรือไม่นำเข้าที่เก็บเหล่านี้ทั้งหมดผ่าน use_repo ทาง Bazel จะพิมพ์คำเตือนและคำสั่งแก้ไขเมื่อมีการประเมินส่วนขยายหากมีการระบุ คุณสามารถตั้งค่า |
root_module_direct_dev_deps
|
sequence of strings; or string; or None ;
ค่าเริ่มต้น = ไม่มีชื่อของที่เก็บที่ส่วนขยายถือว่าเป็นทรัพยากร Dependency โดยตรงของโมดูลรูท หากโมดูลรูทนำเข้าที่เก็บเพิ่มเติมหรือไม่นำเข้าที่เก็บเหล่านี้ทั้งหมดผ่าน use_repo ในพร็อกซีส่วนขยายที่สร้างด้วย root_module_direct_deps และมีการระบุ root_module_direct_dev_deps ไว้ อีกอันก็จะต้องนำเข้าด้วยเช่นกัน รายการที่ระบุโดยพารามิเตอร์ทั้งสองนี้ต้องไม่มีรายการร่วมกันคุณสามารถตั้งค่า |
ไฟล์
None module_ctx.file(path, content='', executable=True, legacy_utf8=True)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
path
|
string; or Label; or path ;
ต้องระบุเส้นทางของไฟล์ที่จะสร้าง โดยสัมพันธ์กับไดเรกทอรีที่เก็บ |
content
|
ค่าเริ่มต้น = '' เนื้อหาของไฟล์ที่จะสร้าง ว่างเปล่าโดยค่าเริ่มต้น |
executable
|
ค่าเริ่มต้น = จริง ตั้งค่าสถานะไฟล์ปฏิบัติการในไฟล์ที่สร้างขึ้นเป็น true โดยค่าเริ่มต้น |
legacy_utf8
|
ค่าเริ่มต้น = จริง เข้ารหัสเนื้อหาไฟล์เป็น UTF-8 ซึ่งเป็น true โดยค่าเริ่มต้น เวอร์ชันในอนาคตจะเปลี่ยนค่าเริ่มต้นและนำพารามิเตอร์นี้ออก |
is_dev_dependency
bool module_ctx.is_dev_dependency(tag)
devDependency = True
หรือไม่
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
tag
|
bazel_module_tag ;
ต้องระบุแท็กที่ได้รับจาก bazel_module.tags |
โมดูล
list module_ctx.modules
ระบบปฏิบัติการ
repository_os module_ctx.os
เส้นทาง
path module_ctx.path(path)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
path
|
string; or Label; or path ;
ต้องระบุสตริง ป้ายกำกับ หรือเส้นทางที่จะนำไปสร้างเส้นทาง |
อ่าน
string module_ctx.read(path)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
path
|
string; or Label; or path ;
ต้องระบุเส้นทางของไฟล์ที่จะอ่าน |
report_progress
None module_ctx.report_progress(status='')
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
status
|
string ;
ค่าเริ่มต้น = ''สตริงที่อธิบายสถานะปัจจุบันของความคืบหน้าการดึงข้อมูล |
ไหน
path module_ctx.which(program)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
program
|
ต้องระบุ โปรแกรมเพื่อค้นหาในเส้นทาง |
None