ฟังก์ชันต่อไปนี้สามารถโหลดได้จาก
@bazel_tools//tools/build_defs/repo:utils.bzl
ยูทิลิตีสำหรับการจัดการที่เก็บภายนอก เมื่อดึงข้อมูลแล้ว
ตั้งค่า
ยูทิลิตีเหล่านี้มีไว้เพื่อใช้โดยกฎที่เก็บอื่นๆ โฆษณาเหล่านี้ สามารถโหลดได้ดังนี้
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
download_remote_files
download_remote_files(ctx, auth)
ฟังก์ชันยูทิลิตีสำหรับการดาวน์โหลดไฟล์ระยะไกล
กฎนี้มีจุดประสงค์เพื่อใช้ในฟังก์ชันการใช้งานของ
กฎที่เก็บ โดยใช้พารามิเตอร์ remote_file_urls
และ
remote_file_integrity
จะแสดงใน ctx.attr
พารามิเตอร์
ctx |
ต้องระบุ
บริบทที่เก็บของกฎที่เก็บซึ่งเรียกใช้ยูทิลิตีนี้ |
auth |
ไม่บังคับ
ค่าเริ่มต้นคือ None
คำสั่งที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางส่วน |
get_auth
get_auth(ctx, urls)
ฟังก์ชันยูทิลิตีในการรับคำสั่งการตรวจสอบสิทธิ์ที่ถูกต้องสำหรับรายการ URL จากไฟล์ .netrc
รองรับแอตทริบิวต์ netrc และ auth_patterns ที่ไม่บังคับ หากมี
พารามิเตอร์
ctx |
ต้องระบุ
บริบทที่เก็บของกฎที่เก็บซึ่งเรียกใช้ยูทิลิตีนี้ |
urls |
ต้องระบุ
รายการ URL ที่จะอ่าน |
การคืนสินค้า
โปรแกรมตรวจสอบความถูกต้องซึ่งส่งผ่านไปยัง identifier_ctx.download ได้
อาจจะ
maybe(repo_rule, name, kwargs)
ฟังก์ชันยูทิลิตีสำหรับการเพิ่มที่เก็บเฉพาะกรณีที่ยังไม่มีที่เก็บอยู่
เพื่อใช้มาโคร Datastore.bzl ที่ปลอดภัยซึ่งบันทึกไว้ใน https://bazel.build/rules/deploying#dependencies.
พารามิเตอร์
repo_rule |
ต้องระบุ
ของกฎที่เก็บ |
name |
ต้องระบุ
ของที่เก็บที่จะสร้าง |
kwargs |
ไม่บังคับ
อาร์กิวเมนต์ที่เหลือซึ่งส่งผ่านไปยังฟังก์ชัน repo_rule |
การคืนสินค้า
ไม่มี กำหนดที่เก็บเมื่อจำเป็นเป็นผลข้างเคียง
parse_netrc
parse_netrc(contents, filename)
ฟังก์ชันยูทิลิตีในการแยกวิเคราะห์ไฟล์ .netrc พื้นฐานเป็นอย่างน้อย
พารามิเตอร์
contents |
ต้องระบุ
สำหรับโปรแกรมแยกวิเคราะห์ |
filename |
ไม่บังคับ
ค่าเริ่มต้นคือ None
ชื่อไฟล์ที่จะใช้ในข้อความแสดงข้อผิดพลาด (หากมี) |
การคืนสินค้า
dict การแมปชื่อเครื่องกับ dict พร้อมข้อมูลที่ระบุ เกี่ยวกับพวกเขา
แพตช์
patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
การใช้งานแพตช์ที่เก็บที่ดึงข้อมูลแล้ว
กฎนี้มีจุดประสงค์เพื่อใช้ในฟังก์ชันการใช้งานของ
กฎที่เก็บ หากพารามิเตอร์ patches
, patch_tool
,
ไม่ได้ระบุ patch_args
, patch_cmds
และ patch_cmds_win
ก็จะนำมาจาก ctx.attr
พารามิเตอร์
ctx |
ต้องระบุ
บริบทที่เก็บของกฎที่เก็บซึ่งเรียกใช้ยูทิลิตีนี้ |
patches |
ไม่บังคับ
ค่าเริ่มต้นคือ None
ไฟล์แพตช์ที่จะใช้ รายการสตริง ป้ายกำกับ หรือเส้นทาง |
patch_cmds |
ไม่บังคับ
ค่าเริ่มต้นคือ None
คำสั่ง Bash ที่จะเรียกใช้เพื่อแพตช์ ส่งผ่าน 1 คำสั่งต่อ ได้เวลาแบช -c รายการสตริง |
patch_cmds_win |
ไม่บังคับ
ค่าเริ่มต้นคือ None
คำสั่ง Powershell สำหรับเรียกใช้เพื่อแพตช์ ผ่านแล้ว ทีละรายการเพื่อ Powershell /c รายการสตริง หาก ค่าบูลีนของพารามิเตอร์นี้คือ false ดังนั้น Patch_cmds จะกลายเป็น และพารามิเตอร์นี้จะถูกละเว้น |
patch_tool |
ไม่บังคับ
ค่าเริ่มต้นคือ None
เส้นทางของเครื่องมือแพตช์ที่จะดำเนินการเพื่อนำไปใช้ แพตช์ สตริง |
patch_args |
ไม่บังคับ
ค่าเริ่มต้นคือ None
อาร์กิวเมนต์ที่จะส่งผ่านไปยังเครื่องมือแพตช์ รายการสตริง |
auth |
ไม่บังคับ
ค่าเริ่มต้นคือ None
คำสั่งที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางส่วน |
read_netrc
read_netrc(ctx, filename)
ฟังก์ชันยูทิลิตีในการแยกวิเคราะห์ไฟล์ .netrc พื้นฐานเป็นอย่างน้อย
พารามิเตอร์
ctx |
ต้องระบุ
บริบทที่เก็บของกฎที่เก็บซึ่งเรียกใช้ยูทิลิตีนี้ |
filename |
ต้องระบุ
ชื่อไฟล์ .netrc ที่จะอ่าน |
การคืนสินค้า
dict การแมปชื่อเครื่องกับ dict พร้อมข้อมูลที่ระบุ เกี่ยวกับพวกเขา
read_user_netrc
read_user_netrc(ctx)
อ่านไฟล์ netrc เริ่มต้นของผู้ใช้
พารามิเตอร์
ctx |
ต้องระบุ
บริบทที่เก็บของกฎที่เก็บซึ่งเรียกใช้ฟังก์ชันยูทิลิตีนี้ |
การคืนสินค้า
คำสั่งจะแมปชื่อเครื่องกับคำสั่งพร้อมข้อมูลที่ระบุ
update_attrs
update_attrs(orig, keys, override)
ฟังก์ชันยูทิลิตีสำหรับการแก้ไขและเพิ่มแอตทริบิวต์ที่ระบุลงในการเรียกใช้กฎที่เก็บเฉพาะ
ระบบจะใช้ค่านี้เพื่อทำให้กฎเกิดซ้ำได้
พารามิเตอร์
orig |
ต้องระบุ
คำสั่งของแอตทริบิวต์ที่ตั้งค่าจริง (ไม่ว่าจะโดยชัดแจ้งหรือโดยนัย) โดยการเรียกใช้กฎหนึ่งๆ |
keys |
ต้องระบุ
ชุดแอตทริบิวต์ที่สมบูรณ์ที่กำหนดไว้ในกฎนี้ |
override |
ต้องระบุ
คำสั่งสำหรับลบล้างหรือเพิ่มลงในต้นฉบับ |
การคืนสินค้า
คำสั่งของแอตทริบิวต์ที่มีคีย์จากการแทนที่ที่แทรก/อัปเดต
use_netrc
use_netrc(netrc, urls, patterns)
ประมวลผลคำสั่งการตรวจสอบสิทธิ์จากไฟล์ netrc ที่แยกวิเคราะห์และรายการ URL
พารามิเตอร์
netrc |
ต้องระบุ
ไฟล์ netrc มีการแยกวิเคราะห์เป็น dict แล้ว เช่น ที่ได้รับจาก read_netrc |
urls |
ต้องระบุ
รายการ URL |
patterns |
ต้องระบุ
คำสั่งที่ไม่บังคับของ URL ไปยังรูปแบบการให้สิทธิ์ |
การคืนสินค้า
dict เหมาะสำหรับอาร์กิวเมนต์ auth สำหรับ ctx.download; ได้แม่นยำขึ้น จะแมป URL ทั้งหมดที่ไฟล์ netrc ให้ข้อมูลเข้าสู่ระบบและรหัสผ่านกับ ที่มีการเข้าสู่ระบบ รหัสผ่าน และรูปแบบการให้สิทธิ์ที่เป็นตัวเลือก รวมถึงการแมป "ประเภท" เป็น "พื้นฐาน" หรือ "pattern"
workspace_and_buildfile
workspace_and_buildfile(ctx)
ฟังก์ชันยูทิลิตีสำหรับการเขียน WORKSPACE และไฟล์ BUILD หากมีการขอ
กฎนี้มีไว้เพื่อใช้ในฟังก์ชันการติดตั้งใช้งาน
กฎที่เก็บ
โดยสมมติว่าพารามิเตอร์ name
, build_file
, build_file_content
,
workspace_file
และ workspace_file_content
จะเป็น
มีอยู่ใน ctx.attr
4 รายการหลังอาจมีค่าเป็น "ไม่มี"
พารามิเตอร์
ctx |
ต้องระบุ
บริบทที่เก็บของกฎที่เก็บซึ่งเรียกใช้ยูทิลิตีนี้ |