บริบทของกฎที่เก็บซึ่งมีฟังก์ชันตัวช่วยและข้อมูลเกี่ยวกับแอตทริบิวต์ คุณจะได้รับออบเจ็กต์ repository_ctx เป็นอาร์กิวเมนต์ของฟังก์ชัน implementation
เมื่อสร้างกฎของที่เก็บ
สมาชิก
- attr
- ลบ
- download
- download_and_extract
- execute
- extract
- file
- getenv
- name
- os
- patch
- path
- read
- rename
- report_progress
- symlink
- template
- 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
เมื่อ sha256
หรือ integrity
ระบุโดยผู้ใช้ เราขอแนะนำให้ตั้งค่า canonical_id
ที่ชัดเจน เช่น get_default_canonical_id
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
url
|
สตริง หรือ Iterable ของ สตริง
ต้องระบุ รายการ URL มิเรอร์ที่อ้างอิงไฟล์เดียวกัน |
output
|
สตริง หรือป้ายกำกับ หรือเส้นทาง
ค่าเริ่มต้นคือ '' เส้นทางไปยังไฟล์เอาต์พุตซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ |
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
|
สตริง;
ค่าเริ่มต้นคือ '' ค่าการตรวจสอบผลรวมที่คาดไว้ของไฟล์ที่ดาวน์โหลดในรูปแบบความสมบูรณ์ของเนื้อหาย่อย ซึ่งต้องตรงกับการตรวจสอบผลรวมของไฟล์ที่ดาวน์โหลด การละเว้นการตรวจสอบผลรวมเป็นความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง อย่างน้อยที่สุดการละเว้นช่องนี้จะทำให้บิลด์ของคุณไม่เสถียร การตั้งค่านี้ไม่บังคับ แต่จะช่วยให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชที่เก็บข้อมูลก่อนเพื่อหาไฟล์ที่มีการตรวจสอบผลรวมที่ระบุไว้ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ดังกล่าวในแคช หลังจากดาวน์โหลดสำเร็จ ระบบจะเพิ่มไฟล์ลงในแคช |
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
|
สตริง;
ค่าเริ่มต้นคือ '' แฮช 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
|
สตริง;
ค่าเริ่มต้นคือ '' คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ที่เก็บถาวรจำนวนมากมีไดเรกทอรีระดับบนสุดที่มีไฟล์ทั้งหมดในที่เก็บถาวร คุณสามารถใช้ฟิลด์นี้เพื่อนำคำนำหน้านี้ออกจากไฟล์ที่แตกไฟล์แทนที่จะต้องระบุคำนำหน้านี้ซ้ำๆ ใน build_file
คุณอาจใช้พารามิเตอร์นี้ภายใต้ชื่อที่เลิกใช้งานแล้ว
|
allow_fail
|
bool;
ค่าเริ่มต้นคือ False หากตั้งค่าไว้ ระบบจะระบุข้อผิดพลาดในผลลัพธ์แทนที่จะแสดงข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สําเร็จ |
canonical_id
|
สตริง;
ค่าเริ่มต้นคือ '' หากตั้งค่าไว้ ระบบจะจำกัด Hit ของแคชไว้เฉพาะในกรณีที่มีการเพิ่มไฟล์ลงในแคชด้วยรหัสแคนนอนิกเดียวกัน โดยค่าเริ่มต้น การแคชจะใช้การตรวจสอบผลรวม" ( sha256 หรือ integrity )
|
auth
|
dict;
ค่าเริ่มต้นคือ {} พจนานุกรมที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางรายการ |
headers
|
dict;
ค่าเริ่มต้นคือ {} พจนานุกรมที่ไม่บังคับซึ่งระบุส่วนหัว HTTP สําหรับ URL ทั้งหมด |
integrity
|
สตริง;
ค่าเริ่มต้นคือ '' ค่าการตรวจสอบผลรวมที่คาดไว้ของไฟล์ที่ดาวน์โหลดในรูปแบบความสมบูรณ์ของเนื้อหาย่อย ซึ่งต้องตรงกับการตรวจสอบผลรวมของไฟล์ที่ดาวน์โหลด การละเว้นการตรวจสอบผลรวมเป็นความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง อย่างน้อยที่สุดการละเว้นช่องนี้จะทำให้บิลด์ของคุณไม่เสถียร การตั้งค่านี้ไม่บังคับ แต่จะช่วยให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชที่เก็บข้อมูลก่อนเพื่อหาไฟล์ที่มีการตรวจสอบผลรวมที่ระบุไว้ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ดังกล่าวในแคช หลังจากดาวน์โหลดสำเร็จ ระบบจะเพิ่มไฟล์ลงในแคช |
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
|
สตริง หรือ ป้ายกำกับ หรือ เส้นทาง
ต้องระบุ เส้นทางไปยังไฟล์เก็บถาวรที่จะแตกไฟล์ โดยสัมพันธ์กับไดเรกทอรีที่เก็บ |
output
|
สตริง หรือ ป้ายกำกับ หรือ เส้นทาง
ค่าเริ่มต้นคือ '' เส้นทางไปยังไดเรกทอรีที่จะแตกไฟล์เก็บถาวร โดยสัมพันธ์กับไดเรกทอรีที่เก็บ |
strip_prefix
|
สตริง;
ค่าเริ่มต้นคือ '' คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ที่เก็บถาวรจำนวนมากมีไดเรกทอรีระดับบนสุดที่มีไฟล์ทั้งหมดในที่เก็บถาวร คุณสามารถใช้ฟิลด์นี้เพื่อนำคำนำหน้านี้ออกจากไฟล์ที่แตกไฟล์แทนที่จะต้องระบุคำนำหน้านี้ซ้ำๆ ใน build_file
คุณอาจใช้พารามิเตอร์นี้ภายใต้ชื่อที่เลิกใช้งานแล้ว
|
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=False)
สร้างไฟล์ในไดเรกทอรีที่เก็บซึ่งมีเนื้อหาที่ระบุ
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
path
|
สตริง หรือ ป้ายกำกับ หรือ เส้นทาง
ต้องระบุ เส้นทางของไฟล์ที่จะสร้างซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บข้อมูล |
content
|
สตริง;
ค่าเริ่มต้นคือ '' โดยค่าเริ่มต้น เนื้อหาของไฟล์ที่จะสร้างจะเป็นค่าว่าง |
executable
|
bool;
ค่าเริ่มต้นคือ True กําหนด Flag ไฟล์ที่เรียกใช้งานได้ในไฟล์ที่สร้าง โดยค่าเริ่มต้นจะเป็น "จริง" |
legacy_utf8
|
bool;
ค่าเริ่มต้นคือ False ไม่ทํางาน เราเลิกใช้งานพารามิเตอร์นี้แล้วและจะนําออกจาก Bazel เวอร์ชันต่อๆ ไป |
getenv
string repository_ctx.getenv(name, default=None)แสดงผลค่าของตัวแปรสภาพแวดล้อม
name
เป็นสตริงหากมี หรือ default
หากไม่มี เมื่อสร้างแบบเพิ่มทีละน้อย การเปลี่ยนแปลงค่าของตัวแปรที่มีชื่อตาม name
จะทําให้ระบบดึงข้อมูลพื้นที่เก็บข้อมูลนี้อีกครั้ง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
name
|
สตริง;
ต้องระบุ ชื่อตัวแปรสภาพแวดล้อมที่ต้องการ |
default
|
สตริง หรือ 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
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
patch_file
|
สตริง หรือป้ายกำกับ หรือเส้นทาง
ต้องระบุ เป็นไฟล์แพตช์ที่จะใช้ ซึ่งอาจเป็นป้ายกำกับ เส้นทางแบบสัมพัทธ์ หรือเส้นทางแบบสัมบูรณ์ หากเป็นเส้นทางแบบสัมพัทธ์ ระบบจะเปลี่ยนเส้นทางไปยังไดเรกทอรีที่เก็บ |
strip
|
int;
ค่าเริ่มต้นคือ 0 นำองค์ประกอบนำหน้าจำนวนที่ระบุออกจากชื่อไฟล์ |
watch_patch
|
สตริง;
ค่าเริ่มต้นคือ '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
|
สตริง หรือ ป้ายกำกับ หรือ เส้นทาง
ต้องระบุ เส้นทางของไฟล์ที่จะอ่าน |
watch
|
สตริง;
ค่าเริ่มต้นคือ 'auto' เพื่อระบุว่าจะเฝ้าดูไฟล์หรือไม่ อาจเป็นสตริง "yes", "no" หรือ "auto" การส่งค่า "yes" เทียบเท่ากับการเรียกใช้เมธอด watch() ทันที การส่งค่า "no" จะไม่พยายามเฝ้าดูไฟล์ การส่งค่า "auto" จะพยายามเฝ้าดูไฟล์ก็ต่อเมื่อทำได้ตามกฎหมายเท่านั้น (ดูข้อมูลเพิ่มเติมในเอกสาร watch() )
|
เปลี่ยนชื่อ
None
repository_ctx.rename(src, dst)
เปลี่ยนชื่อไฟล์หรือไดเรกทอรีจาก src
เป็น dst
ระบบจะสร้างไดเรกทอรีหลักตามความจำเป็น ดำเนินการไม่สำเร็จหากมีเส้นทางปลายทางอยู่แล้ว ทั้ง 2 เส้นทางต้องอยู่ในที่เก็บ
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
src
|
สตริง หรือป้ายกำกับ หรือเส้นทาง
ต้องระบุ เส้นทางของไฟล์หรือไดเรกทอรีที่มีอยู่ซึ่งต้องการเปลี่ยนชื่อ โดยสัมพันธ์กับไดเรกทอรีที่เก็บ |
dst
|
สตริง หรือป้ายกำกับ หรือเส้นทาง
ต้องระบุ ชื่อใหม่ที่จะเปลี่ยนชื่อไฟล์หรือไดเรกทอรี ซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ |
report_progress
None
repository_ctx.report_progress(status='')
อัปเดตสถานะความคืบหน้าในการดึงข้อมูลของที่เก็บหรือส่วนขยายโมดูลนี้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
status
|
สตริง
ค่าเริ่มต้นคือ '' string อธิบายสถานะปัจจุบันของกระบวนการดึงข้อมูล
|
ลิงก์สัญลักษณ์
None
repository_ctx.symlink(target, link_name)
สร้างลิงก์สัญลักษณ์ (symlink) ในระบบไฟล์
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
target
|
สตริง หรือ ป้ายกำกับ หรือ เส้นทาง
ต้องระบุ เส้นทางที่ลิงก์สัญลักษณ์ควรชี้ไป |
link_name
|
สตริง หรือป้ายกำกับ หรือเส้นทาง
ต้องระบุ เส้นทางของลิงก์สัญลักษณ์ที่จะสร้าง |
เทมเพลต
None
repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')
สร้างไฟล์ใหม่โดยใช้ template
ระบบจะแทนที่ค่าที่ตรงกันแทนคีย์ substitutions
ทั้งหมดใน template
ผลลัพธ์จะเขียนเป็น path
อาร์กิวเมนต์ executable
(ค่าเริ่มต้นคือ "จริง") ที่ไม่บังคับสามารถตั้งค่าเพื่อเปิดหรือปิดบิตที่เรียกใช้ได้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
path
|
สตริง หรือ ป้ายกำกับ หรือ เส้นทาง
ต้องระบุ เส้นทางของไฟล์ที่จะสร้างซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บข้อมูล |
template
|
สตริง หรือป้ายกำกับ หรือเส้นทาง
ต้องระบุ เส้นทางไปยังไฟล์เทมเพลต |
substitutions
|
dict;
ค่าเริ่มต้นคือ {} การแทนที่ที่จะทำเมื่อขยายเทมเพลต |
executable
|
bool;
ค่าเริ่มต้นคือ True กําหนด Flag ไฟล์ที่เรียกใช้งานได้ในไฟล์ที่สร้าง โดยค่าเริ่มต้นจะเป็น "จริง" |
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