ใช้กฎที่เก็บ

ฟังก์ชันต่อไปนี้โหลดได้จาก @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 ที่จะอ่าน

การคืนสินค้า

พจนานุกรมการตรวจสอบสิทธิ์ที่ส่งไปยัง repository_ctx.download ได้

อาจจะ

maybe(repo_rule, name, kwargs)

ฟังก์ชันยูทิลิตีสําหรับการเพิ่มที่เก็บข้อมูลเท่านั้นหากยังไม่มี

การดำเนินการนี้มีไว้เพื่อใช้มาโคร repositories.bzl ที่ปลอดภัยซึ่งมีการอธิบายไว้ใน https://bazel.build/rules/deploying#dependencies

พารามิเตอร์

repo_rule ต้องระบุ

ของกฎที่เก็บ

name ต้องระบุ

ชื่อที่เก็บที่จะสร้าง

kwargs ไม่บังคับ

อาร์กิวเมนต์ที่เหลือซึ่งส่งผ่านไปยังฟังก์ชัน repo_rule

การคืนสินค้า

ไม่มี กำหนดที่เก็บเมื่อจำเป็นเป็นผลข้างเคียง

parse_netrc

parse_netrc(contents, filename)

ฟังก์ชันยูทิลิตีสำหรับแยกวิเคราะห์ไฟล์ .netrc พื้นฐานอย่างน้อย 1 ไฟล์

พารามิเตอร์

contents ต้องระบุ

อินพุตสําหรับโปรแกรมแยกวิเคราะห์

filename ไม่บังคับ ค่าเริ่มต้นคือ None

ชื่อไฟล์ที่จะใช้ในข้อความแสดงข้อผิดพลาด (หากมี)

การคืนสินค้า

เขียนคำสั่งเพื่อแมปชื่อเครื่องกับคำสั่ง พร้อมข้อมูลที่ระบุ

แพตช์

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 ที่จะเรียกใช้เพื่อแพตช์ โดยจะส่งทีละรายการเพื่อ bash -c รายการสตริง

patch_cmds_win ไม่บังคับ ค่าเริ่มต้นคือ None

คำสั่ง PowerShell ที่จะเรียกใช้เพื่อแก้ไข ผ่านทีละรายการไปยัง powershell /c รายการสตริง หากค่าบูลีนของพารามิเตอร์นี้เป็น "เท็จ" ระบบจะใช้ Patch_cmds และละเว้นพารามิเตอร์นี้

patch_tool ไม่บังคับ ค่าเริ่มต้นคือ None

เส้นทางของเครื่องมือแพตช์ที่จะดำเนินการเพื่อใช้แพตช์ สตริง

patch_args ไม่บังคับ ค่าเริ่มต้นคือ None

อาร์กิวเมนต์ที่จะส่งไปยังเครื่องมือแพตช์ รายการสตริง

auth ไม่บังคับ ค่าเริ่มต้นคือ None

คำสั่งที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางส่วน

read_netrc

read_netrc(ctx, filename)

ฟังก์ชันยูทิลิตีสำหรับแยกวิเคราะห์ไฟล์ .netrc พื้นฐานอย่างน้อย 1 ไฟล์

พารามิเตอร์

ctx ต้องระบุ

บริบทที่เก็บของกฎที่เก็บซึ่งเรียกใช้ฟังก์ชันยูทิลิตีนี้

filename ต้องระบุ

ชื่อไฟล์ .netrc ที่จะอ่าน

การคืนสินค้า

dict mapping a machine names to a dict with the information provided about them

read_user_netrc

read_user_netrc(ctx)

อ่านไฟล์ netrc เริ่มต้นของผู้ใช้

พารามิเตอร์

ctx ต้องระบุ

บริบทที่เก็บของกฎที่เก็บซึ่งเรียกใช้ฟังก์ชันยูทิลิตีนี้

การคืนสินค้า

dict ที่แมปชื่อเครื่องกับ dict ที่มีข้อมูลที่ให้ไว้เกี่ยวกับเครื่อง

update_attrs

update_attrs(orig, keys, override)

ฟังก์ชันยูทิลิตีสำหรับการแก้ไขและเพิ่มแอตทริบิวต์ที่ระบุไปยังการเรียกใช้กฎที่เก็บข้อมูลหนึ่งๆ

ข้อมูลนี้ใช้เพื่อให้สร้างกฎซ้ำได้

พารามิเตอร์

orig ต้องระบุ

พจนานุกรมของแอตทริบิวต์ที่ตั้งค่าจริง (ทั้งแบบชัดแจ้งหรือโดยนัย) โดยการเรียกใช้กฎหนึ่งๆ

keys ต้องระบุ

ชุดแอตทริบิวต์ที่สมบูรณ์ซึ่งกําหนดไว้ในกฎนี้

override ต้องระบุ

คำสั่งสำหรับลบล้างหรือเพิ่มลงในต้นฉบับ

การคืนสินค้า

dict ของแอตทริบิวต์ที่มีคีย์จากการลบล้างที่แทรก/อัปเดต

use_netrc

use_netrc(netrc, urls, patterns)

คํานวณคําแนะนําการเข้าสู่ระบบจากไฟล์ netrc ที่แยกวิเคราะห์แล้วและรายการ URL

พารามิเตอร์

netrc ต้องระบุ

ไฟล์ netrc ที่แยกวิเคราะห์เป็นพจนานุกรมแล้ว เช่น ไฟล์ที่ได้มาจาก read_netrc

urls ต้องระบุ

รายการ URL

patterns ต้องระบุ

พจนานุกรมรูปแบบ URL ที่ไม่บังคับสำหรับรูปแบบการให้สิทธิ์

การคืนสินค้า

dict ที่เหมาะสมเป็นอาร์กิวเมนต์การตรวจสอบสิทธิ์สําหรับ ctx.download กล่าวอย่างเจาะจงคือ dict จะแมป URL ทั้งหมดที่ไฟล์ netrc มีข้อมูลเข้าสู่ระบบและรหัสผ่านไปยัง dict ที่มีข้อมูลเข้าสู่ระบบ รหัสผ่าน และรูปแบบการให้สิทธิ์ที่ไม่บังคับที่เกี่ยวข้อง รวมถึงการแมป "type" เป็น "basic" หรือ "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 ต้องระบุ

บริบทที่เก็บของกฎที่เก็บซึ่งเรียกใช้ฟังก์ชันยูทิลิตีนี้