implementation เมื่อสร้างกฎที่เก็บ
สมาชิก
- attr
- ลบ
- download
- download_and_extract
- execute
- extract
- file
- getenv
- name
- original_name
- os
- patch
- เส้นทาง
- read
- เปลี่ยนชื่อ
- repo_metadata
- report_progress
- symlink
- เทมเพลต
- ดู
- watch_tree
- ซึ่ง
- workspace_root
attr
structure repository_ctx.attr
ลบ
bool repository_ctx.delete(path)
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
path
|
string หรือ path
ต้องระบุ เส้นทางของไฟล์ที่จะลบ ซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ หรือเส้นทางแบบสัมบูรณ์ อาจเป็นเส้นทางหรือสตริง |
ดาวน์โหลด
unknown repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)success ซึ่งเป็นแฟล็กที่ค่าเป็น true หากดาวน์โหลดเสร็จสมบูรณ์ และหากดาวน์โหลดสำเร็จ จะส่งคืนแฮชของไฟล์ที่มีฟิลด์ sha256 และ integrity เมื่อผู้ใช้ระบุ sha256 หรือ integrity เราขอแนะนำอย่างยิ่งให้ตั้งค่า canonical_id อย่างชัดเจน เช่น get_default_canonical_id
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
url
|
string หรือ Iterable ของ string
ต้องระบุ รายการ URL แบบมิเรอร์ที่อ้างอิงไฟล์เดียวกัน |
output
|
string หรือ Label หรือ path
ค่าเริ่มต้นคือ ''เส้นทางไปยังไฟล์เอาต์พุตที่เกี่ยวข้องกับไดเรกทอรีที่เก็บ |
sha256
|
string;
ค่าเริ่มต้นคือ ''แฮช SHA-256 ที่คาดไว้ของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับแฮช SHA-256 ของไฟล์ที่ดาวน์โหลด การละเว้น SHA-256 ถือเป็นความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง การละเว้นฟิลด์นี้จะทำให้บิลด์ของคุณไม่เป็นแบบปิด ไม่บังคับเพื่อช่วยให้การพัฒนาเป็นไปได้ง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชของที่เก็บก่อนเพื่อหาไฟล์ที่มีแฮชที่ระบุ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ในแคช หลังจากดาวน์โหลดสำเร็จแล้ว ระบบจะเพิ่มไฟล์ลงในแคช |
executable
|
bool;
ค่าเริ่มต้นคือ Falseตั้งค่าสถานะที่เรียกใช้งานได้ในไฟล์ที่สร้างขึ้น โดยค่าเริ่มต้นจะเป็น false |
allow_fail
|
bool;
ค่าเริ่มต้นคือ Falseหากตั้งค่าไว้ ให้ระบุข้อผิดพลาดในค่าที่แสดงแทนที่จะแจ้งข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สำเร็จ |
canonical_id
|
string
ค่าเริ่มต้นคือ ''หากตั้งค่าไว้ ให้จำกัดการเข้าชมแคชเฉพาะกรณีที่เพิ่มไฟล์ลงในแคชด้วยรหัส Canonical เดียวกัน โดยค่าเริ่มต้น การแคชจะใช้ผลรวมตรวจสอบ ( sha256 หรือ integrity)
|
auth
|
dict;
ค่าเริ่มต้นคือ {}พจนานุกรมที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางรายการ |
headers
|
dict;
ค่าเริ่มต้นคือ {}พจนานุกรมที่ไม่บังคับซึ่งระบุส่วนหัว http สำหรับ URL ทั้งหมด |
integrity
|
string;
ค่าเริ่มต้นคือ ''ผลรวมตรวจสอบที่คาดไว้ของไฟล์ที่ดาวน์โหลดในรูปแบบความสมบูรณ์ของทรัพยากรย่อย ต้องตรงกับผลรวมตรวจสอบของไฟล์ที่ดาวน์โหลด การละเว้นการตรวจสอบผลรวมมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง การละเว้นฟิลด์นี้จะทำให้บิลด์ของคุณไม่เป็นแบบปิด ไม่บังคับเพื่อช่วยให้การพัฒนาเป็นไปได้ง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชที่เก็บก่อนเพื่อหาไฟล์ที่มีผลรวมตรวจสอบที่ระบุ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ในแคช หลังจากดาวน์โหลดสำเร็จแล้ว ระบบจะเพิ่มไฟล์ลงในแคช |
block
|
bool;
ค่าเริ่มต้นคือ Trueหากตั้งค่าเป็น false การเรียกจะแสดงผลทันที และแทนที่จะเป็นค่าที่แสดงผลปกติ การเรียกจะแสดงผลโทเค็นที่มีเมธอดเดียวคือ 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={})
success ซึ่งเป็นแฟล็กที่แสดงเป็น true หากดาวน์โหลดเสร็จสมบูรณ์ และหากดาวน์โหลดสำเร็จ จะแสดงแฮชของไฟล์ที่มีฟิลด์ sha256 และ integrity เมื่อผู้ใช้ระบุ sha256 หรือ integrity เราขอแนะนำอย่างยิ่งให้ตั้งค่า canonical_id อย่างชัดเจน เช่น get_default_canonical_id
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
url
|
string หรือ Iterable ของ string
ต้องระบุ รายการ URL แบบมิเรอร์ที่อ้างอิงไฟล์เดียวกัน |
output
|
string หรือ Label หรือ path
ค่าเริ่มต้นคือ ''เส้นทางไปยังไดเรกทอรีที่จะแตกไฟล์เก็บถาวร โดยสัมพันธ์กับไดเรกทอรีที่เก็บ |
sha256
|
string;
ค่าเริ่มต้นคือ ''แฮช SHA-256 ที่คาดไว้ของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับแฮช SHA-256 ของไฟล์ที่ดาวน์โหลด การละเว้น SHA-256 ถือเป็นความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง การละเว้นฟิลด์นี้จะทำให้บิลด์ของคุณไม่เป็นแบบปิด ไม่บังคับเพื่อช่วยให้การพัฒนาเป็นไปได้ง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชของที่เก็บก่อนเพื่อหาไฟล์ที่มีแฮชที่ระบุ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ในแคช หลังจากดาวน์โหลดสำเร็จแล้ว ระบบจะเพิ่มไฟล์ลงในแคช |
type
|
string;
ค่าเริ่มต้นคือ ''ประเภทที่เก็บถาวรของไฟล์ที่ดาวน์โหลด โดยค่าเริ่มต้น ระบบจะกำหนดประเภทที่เก็บถาวรจากส่วนขยายของไฟล์ใน URL หากไฟล์ไม่มีนามสกุล คุณสามารถระบุ "zip", "jar", "war", "aar", "nupkg", "whl", "tar", "tar.gz", "tgz", "gz", "tar.xz", "txz", "xz", "tar.zst", "tzst", "zst", "tar.bz2", "tbz", "bz2", "ar", "deb" หรือ "7z" ที่นี่ |
strip_prefix
|
string;
ค่าเริ่มต้นคือ ''คำนำหน้าไดเรกทอรีที่จะนำออกจากไฟล์ที่แยกออกมา ที่เก็บถาวรจำนวนมากมี ไดเรกทอรีระดับบนสุดซึ่งมีไฟล์ทั้งหมดในที่เก็บถาวร ฟิลด์นี้ใช้เพื่อนำคำนำหน้านี้ออกจากไฟล์ที่แยกออกมาได้แทนที่จะต้อง ระบุคำนำหน้านี้ซ้ำๆ ใน build_file
เพื่อความเข้ากันได้ คุณอาจใช้พารามิเตอร์นี้ภายใต้ชื่อที่เลิกใช้งานแล้ว
|
allow_fail
|
bool;
ค่าเริ่มต้นคือ Falseหากตั้งค่าไว้ ให้ระบุข้อผิดพลาดในค่าที่แสดงแทนที่จะแจ้งข้อผิดพลาดสำหรับการดาวน์โหลดที่ไม่สำเร็จ |
canonical_id
|
string
ค่าเริ่มต้นคือ ''หากตั้งค่าไว้ ให้จำกัดการเข้าชมแคชเฉพาะกรณีที่เพิ่มไฟล์ลงในแคชด้วยรหัส Canonical เดียวกัน โดยค่าเริ่มต้น การแคชจะใช้ผลรวมตรวจสอบ ( sha256 หรือ integrity)
|
auth
|
dict;
ค่าเริ่มต้นคือ {}พจนานุกรมที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางรายการ |
headers
|
dict;
ค่าเริ่มต้นคือ {}พจนานุกรมที่ไม่บังคับซึ่งระบุส่วนหัว http สำหรับ URL ทั้งหมด |
integrity
|
string;
ค่าเริ่มต้นคือ ''ผลรวมตรวจสอบที่คาดไว้ของไฟล์ที่ดาวน์โหลดในรูปแบบความสมบูรณ์ของทรัพยากรย่อย ต้องตรงกับผลรวมตรวจสอบของไฟล์ที่ดาวน์โหลด การละเว้นการตรวจสอบผลรวมมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจมีการเปลี่ยนแปลง การละเว้นฟิลด์นี้จะทำให้บิลด์ของคุณไม่เป็นแบบปิด ไม่บังคับเพื่อช่วยให้การพัฒนาเป็นไปได้ง่ายขึ้น แต่ควรตั้งค่าก่อนจัดส่ง หากระบุไว้ ระบบจะตรวจสอบแคชที่เก็บก่อนเพื่อหาไฟล์ที่มีผลรวมตรวจสอบที่ระบุ และจะพยายามดาวน์โหลดก็ต่อเมื่อไม่พบไฟล์ในแคช หลังจากดาวน์โหลดสำเร็จแล้ว ระบบจะเพิ่มไฟล์ลงในแคช |
rename_files
|
dict;
ค่าเริ่มต้นคือ {}พจนานุกรมที่ไม่บังคับซึ่งระบุไฟล์ที่จะเปลี่ยนชื่อระหว่างการแยก รายการที่เก็บถาวรซึ่งมีชื่อตรงกับคีย์จะได้รับการเปลี่ยนชื่อเป็นค่าก่อนที่จะมีการปรับคำนำหน้าไดเรกทอรี ซึ่งใช้เพื่อแยกไฟล์เก็บถาวรที่มีชื่อไฟล์ที่ไม่ใช่ Unicode หรือมีไฟล์ที่จะแยกไปยังเส้นทางเดียวกันในระบบไฟล์ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ได้ |
ดำเนินการ
exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")
timeout (เป็นวินาที ค่าเริ่มต้นคือ 600 วินาที) เมธอดนี้จะแสดงผลโครงสร้าง exec_result ที่มีเอาต์พุตของคำสั่ง คุณใช้แผนที่ environment เพื่อลบล้างตัวแปรสภาพแวดล้อมบางอย่างที่จะส่งไปยังกระบวนการได้
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
arguments
|
sequence;
required List of arguments, the first element should be the path to the program to execute. |
timeout
|
int;
ค่าเริ่มต้นคือ 600ระยะเวลาสูงสุดของคำสั่งเป็นวินาที (ค่าเริ่มต้นคือ 600 วินาที) |
environment
|
dict;
ค่าเริ่มต้นคือ {}บังคับให้ตั้งค่าตัวแปรสภาพแวดล้อมบางรายการเพื่อส่งไปยังกระบวนการ ค่าอาจเป็น None เพื่อนำตัวแปรสภาพแวดล้อมออก
|
quiet
|
bool;
ค่าเริ่มต้นคือ Trueหากควรพิมพ์ stdout และ stderr ไปยังเทอร์มินัล |
working_directory
|
string;
ค่าเริ่มต้นคือ ""ไดเรกทอรีการทำงานสำหรับการเรียกใช้คำสั่ง อาจเป็นแบบสัมพัทธ์กับรูทของที่เก็บหรือแบบสัมบูรณ์ก็ได้ ค่าเริ่มต้นคือรูทของที่เก็บ |
แยก
None repository_ctx.extract(archive, output='', strip_prefix='', *, rename_files={}, watch_archive='auto', type='')พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
archive
|
string หรือ Label หรือ path
ต้องระบุ เส้นทางไปยังที่เก็บถาวรที่จะแตกไฟล์ ซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ |
output
|
string หรือ Label หรือ path
ค่าเริ่มต้นคือ ''เส้นทางไปยังไดเรกทอรีที่จะแตกไฟล์เก็บถาวร ซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ |
strip_prefix
|
string;
ค่าเริ่มต้นคือ ''คำนำหน้าไดเรกทอรีที่จะนำออกจากไฟล์ที่แยกออกมา ที่เก็บถาวรจำนวนมากมี ไดเรกทอรีระดับบนสุดซึ่งมีไฟล์ทั้งหมดในที่เก็บถาวร ฟิลด์นี้ใช้เพื่อนำคำนำหน้านี้ออกจากไฟล์ที่แยกออกมาได้ แทนที่จะต้องระบุคำนำหน้านี้ซ้ำๆ ใน build_file
เพื่อความเข้ากันได้ คุณอาจใช้พารามิเตอร์นี้ภายใต้ชื่อที่เลิกใช้งานแล้ว
|
rename_files
|
dict;
ค่าเริ่มต้นคือ {}พจนานุกรมที่ไม่บังคับซึ่งระบุไฟล์ที่จะเปลี่ยนชื่อระหว่างการแยก รายการที่เก็บถาวรซึ่งมีชื่อตรงกับคีย์จะได้รับการเปลี่ยนชื่อเป็นค่าก่อนที่จะมีการปรับคำนำหน้าไดเรกทอรี ซึ่งใช้เพื่อแยกไฟล์เก็บถาวรที่มีชื่อไฟล์ที่ไม่ใช่ Unicode หรือมีไฟล์ที่จะแยกไปยังเส้นทางเดียวกันในระบบไฟล์ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ได้ |
watch_archive
|
string;
ค่าเริ่มต้นคือ 'auto'ระบุว่าจะดูไฟล์ที่เก็บถาวรหรือไม่ อาจเป็นสตริง "yes", "no" หรือ "auto" การส่งค่า "yes" จะเทียบเท่ากับการเรียกใช้เมธอด watch() ทันที การส่งค่า "no" จะไม่พยายามดูไฟล์ ส่วนการส่งค่า "auto" จะพยายามดูไฟล์เฉพาะเมื่อทำได้อย่างถูกต้องตามกฎหมายเท่านั้น (ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของ watch())
|
type
|
string;
ค่าเริ่มต้นคือ ''ประเภทที่เก็บถาวรของไฟล์ที่ดาวน์โหลด โดยค่าเริ่มต้น ระบบจะกำหนดประเภทที่เก็บถาวรจากส่วนขยายของไฟล์ใน URL หากไฟล์ไม่มีนามสกุล คุณสามารถระบุ "zip", "jar", "war", "aar", "nupkg", "whl", "tar", "tar.gz", "tgz", "gz", "tar.xz", "txz", "xz", "tar.zst", "tzst", "zst", "tar.bz2", "tbz", "bz2", "ar", "deb" หรือ "7z" ที่นี่ |
ไฟล์
None repository_ctx.file(path, content='', executable=True, legacy_utf8=False)พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
path
|
string หรือ Label หรือ path
ต้องระบุ เส้นทางของไฟล์ที่จะสร้าง ซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ |
content
|
สตริง
ค่าเริ่มต้นคือ ''เนื้อหาของไฟล์ที่จะสร้าง โดยค่าเริ่มต้นจะเป็นค่าว่าง |
executable
|
bool;
ค่าเริ่มต้นคือ Trueตั้งค่าสถานะที่เรียกใช้งานได้ในไฟล์ที่สร้างขึ้น โดยค่าเริ่มต้นจะเป็นจริง |
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
original_name แทนเพื่อรับชื่อที่ระบุเป็น name ในตอนแรกเมื่อสร้างอินสแตนซ์ของกฎที่เก็บนี้
original_name
string repository_ctx.original_name
name เมื่อสร้างอินสแตนซ์ของกฎที่เก็บนี้ ชื่อนี้ไม่จำเป็นต้องไม่ซ้ำกันในที่เก็บข้อมูลภายนอก ให้ใช้ name แทนเพื่อรับชื่อที่แน่นอนของที่เก็บภายนอก
os
repository_os repository_ctx.os
แพตช์
None repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
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)
repository_ctx เส้นทางแบบสัมพัทธ์จะแปลงเป็นเส้นทางที่สัมพันธ์กับไดเรกทอรีที่เก็บ หากเป็น module_ctx เส้นทางแบบสัมพัทธ์จะได้รับการแก้ไขโดยอิงตามไดเรกทอรีการทำงานชั่วคราวสำหรับส่วนขยายโมดูลนี้ หากเส้นทางเป็นป้ายกำกับ ระบบจะเปลี่ยนเส้นทางไปยังเส้นทางของไฟล์ที่เกี่ยวข้อง โปรดทราบว่าที่เก็บข้อมูลระยะไกลและส่วนขยายโมดูลจะทํางานในระยะการวิเคราะห์ จึงไม่สามารถขึ้นอยู่กับผลลัพธ์เป้าหมายได้ (ป้ายกํากับควรชี้ไปยังไฟล์ที่ไม่ได้สร้าง) หาก path เป็นเส้นทาง ฟังก์ชันจะแสดงเส้นทางนั้นตามเดิม
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
path
|
string หรือ Label หรือ 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())
|
เปลี่ยนชื่อ
None repository_ctx.rename(src, dst)src เป็น dst ระบบจะสร้างไดเรกทอรีหลักตามที่จำเป็น ล้มเหลวหากมีเส้นทางปลายทางอยู่แล้ว
ทั้ง 2 เส้นทางต้องอยู่ในที่เก็บ
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
src
|
สตริง หรือ Label หรือ path
ต้องระบุ เส้นทางของไฟล์หรือไดเรกทอรีที่มีอยู่ซึ่งจะเปลี่ยนชื่อ โดยสัมพันธ์ กับไดเรกทอรีที่เก็บ |
dst
|
string หรือ Label หรือ path
ต้องระบุ ชื่อใหม่ที่จะเปลี่ยนชื่อไฟล์หรือไดเรกทอรีให้ สัมพันธ์กับไดเรกทอรีที่เก็บ |
repo_metadata
repo_metadata repository_ctx.repo_metadata(*, reproducible=False, attrs_for_reproducibility={})
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
reproducible
|
bool;
ค่าเริ่มต้นคือ Falseระบุว่าที่เก็บนี้สามารถดึงข้อมูลซ้ำได้ กล่าวคือ หากดึงข้อมูลอีกครั้งด้วยแอตทริบิวต์อินพุต คำจำกัดความของกฎที่เก็บ ไฟล์ที่ดู และตัวแปรสภาพแวดล้อม ฯลฯ ที่เหมือนกันทุกประการ ระบบจะสร้างเอาต์พุตที่เหมือนกันทุกประการ พร็อพเพอร์ตี้นี้ต้องคงอยู่แม้ว่าเงื่อนไขอื่นๆ ที่ไม่ได้ติดตามจะเปลี่ยนแปลงไป เช่น ข้อมูลจากอินเทอร์เน็ต เส้นทางของรูทเวิร์กสเปซ เอาต์พุตจากการเรียกใช้ไฟล์ที่เรียกใช้งานได้โดยพลการ เป็นต้น หากตั้งค่าเป็น True จะทำให้แคชเนื้อหารีโปที่ดึงข้อมูลมาได้ในเวิร์กสเปซต่างๆ โปรดทราบว่าการตั้งค่านี้เป็น True ไม่ได้เป็นการรับประกันการแคชในแคชเนื้อหารีโป เช่น กฎรีโปในเครื่องจะไม่ได้รับการแคช |
attrs_for_reproducibility
|
dict
ค่าเริ่มต้นคือ {}หาก reproducible เป็น False คุณสามารถระบุค่านี้เพื่อบอก Bazel ว่าควรเปลี่ยนแอตทริบิวต์ใดของกฎที่เก็บต้นฉบับเพื่อให้ทำซ้ำได้
|
report_progress
None repository_ctx.report_progress(status='')พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
status
|
string;
ค่าเริ่มต้นคือ ''string อธิบายสถานะปัจจุบันของความคืบหน้าในการดึงข้อมูล
|
ลิงก์สัญลักษณ์
None repository_ctx.symlink(target, link_name)พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
target
|
string หรือ Label หรือ path
ต้องระบุ เส้นทางที่ Symlink ควรชี้ไป |
link_name
|
สตริง หรือ Label หรือ path
ต้องระบุ เส้นทางของ Symlink ที่จะสร้าง |
เทมเพลต
None repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')template ระบบจะแทนที่ทุกครั้งที่คีย์ substitutions ปรากฏใน template ด้วยค่าที่สอดคล้องกัน ผลลัพธ์ที่ได้จะเขียนเป็นภาษา path คุณสามารถตั้งค่าอาร์กิวเมนต์ executable (ค่าเริ่มต้นเป็น true) ที่ไม่บังคับเพื่อเปิดหรือปิดบิตที่เรียกใช้งานได้
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
path
|
string หรือ Label หรือ path
ต้องระบุ เส้นทางของไฟล์ที่จะสร้าง ซึ่งสัมพันธ์กับไดเรกทอรีที่เก็บ |
template
|
สตริง หรือ Label หรือ path
ต้องระบุ เส้นทางไปยังไฟล์เทมเพลต |
substitutions
|
dict;
ค่าเริ่มต้นคือ {}การแทนที่ที่จะทำเมื่อขยายเทมเพลต |
executable
|
bool;
ค่าเริ่มต้นคือ Trueตั้งค่าสถานะที่เรียกใช้งานได้ในไฟล์ที่สร้างขึ้น โดยค่าเริ่มต้นจะเป็นจริง |
watch_template
|
string;
ค่าเริ่มต้นคือ 'auto'ว่าจะดูไฟล์เทมเพลตหรือไม่ อาจเป็นสตริง "yes", "no" หรือ "auto" การส่งค่า "yes" จะเทียบเท่ากับการเรียกใช้เมธอด watch() ทันที การส่งค่า "no" จะไม่พยายามดูไฟล์ ส่วนการส่งค่า "auto" จะพยายามดูไฟล์เฉพาะเมื่อทำได้อย่างถูกต้องตามกฎหมายเท่านั้น (ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของ watch())
|
นาฬิกา
None repository_ctx.watch(path)"การเปลี่ยนแปลง" รวมถึงการเปลี่ยนแปลงเนื้อหาของไฟล์ (หากเส้นทางเป็นไฟล์) หากเส้นทางเคยเป็นไฟล์แต่ตอนนี้เป็นไดเรกทอรี หรือในทางกลับกัน และหากเส้นทางเริ่มหรือหยุดมีอยู่ โปรดทราบว่าการดำเนินการนี้ไม่รวมถึงการเปลี่ยนแปลงไฟล์ใดๆ ในไดเรกทอรีหากเส้นทางเป็นไดเรกทอรี โปรดใช้ path.readdir() แทน
โปรดทราบว่าการพยายามดูเส้นทางภายใน repo ที่กำลังดึงข้อมูล หรือภายในไดเรกทอรีการทำงานของส่วนขยายโมดูลปัจจุบัน จะทำให้เกิดข้อผิดพลาด ส่วนขยายโมดูลที่พยายามดูเส้นทางนอกพื้นที่ทำงาน Bazel ปัจจุบันจะทำให้เกิดข้อผิดพลาดด้วย
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
path
|
สตริง หรือ Label หรือ path
ต้องระบุ เส้นทางของไฟล์ที่จะดู |
watch_tree
None repository_ctx.watch_tree(path)โปรดทราบว่าการพยายามดูเส้นทางภายในที่เก็บที่กำลังดึงข้อมูลจะทำให้เกิดข้อผิดพลาด
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
path
|
string หรือ Label หรือ path
ต้องระบุ เส้นทางของโครงสร้างไดเรกทอรีที่จะดู |
ไหน
path repository_ctx.which(program)
path ของโปรแกรมที่เกี่ยวข้องหรือ None หากไม่มีโปรแกรมดังกล่าวในเส้นทาง
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
program
|
string;
required Program to find in the path. |
None
workspace_root
path repository_ctx.workspace_root