คุณโหลดฟังก์ชันต่อไปนี้ได้จาก
@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
load("@bazel//tools/build_defs/repo:utils.bzl", "download_remote_files")
download_remote_files(ctx, auth)
ฟังก์ชันยูทิลิตีสำหรับการดาวน์โหลดไฟล์ระยะไกล
กฎนี้มีไว้ใช้ในฟังก์ชันการใช้งานของกฎที่เก็บ โดยจะถือว่าพารามิเตอร์ remote_file_urls และ
remote_file_integrity อยู่ใน ctx.attr
ระบบจะเขียนทับไฟล์ที่มีอยู่
พารามิเตอร์
ctx | 
ต้องระบุ
 บริบทที่เก็บของกฎที่เก็บที่เรียกใช้ฟังก์ชันยูทิลิตีนี้  | 
auth | 
ไม่บังคับ
ค่าเริ่มต้นคือ None
พจนานุกรมที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางรายการ  | 
การคืนสินค้า
เส้นทางไฟล์การแมป dict ไปยังข้อมูลการดาวน์โหลด
get_auth
load("@bazel//tools/build_defs/repo:utils.bzl", "get_auth")
get_auth(ctx, urls)
ฟังก์ชันยูทิลิตีเพื่อรับพจนานุกรมการตรวจสอบสิทธิ์ที่ถูกต้องสำหรับรายการ URL จากไฟล์ .netrc
รองรับแอตทริบิวต์ netrc และ auth_patterns ที่ไม่บังคับ หากมี
พารามิเตอร์
ctx | 
ต้องระบุ
 บริบทที่เก็บของกฎที่เก็บที่เรียกใช้ฟังก์ชันยูทิลิตีนี้  | 
urls | 
ต้องระบุ
 รายการ URL ที่จะอ่าน  | 
การคืนสินค้า
พจนานุกรมการตรวจสอบสิทธิ์ที่ส่งไปยัง repository_ctx.download ได้
อาจจะ
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe")
maybe(repo_rule, name, **kwargs)
ฟังก์ชันยูทิลิตีสําหรับการเพิ่มที่เก็บข้อมูลเฉพาะในกรณีที่ยังไม่มี
ซึ่งเป็นการใช้แมโคร safe_repositories.bzl ที่ระบุไว้ใน https://bazel.build/rules/deploying#dependencies
พารามิเตอร์
repo_rule | 
ต้องระบุ
 ฟังก์ชันกฎของที่เก็บ  | 
name | 
ต้องระบุ
 ชื่อของที่เก็บที่จะสร้าง  | 
kwargs | 
ไม่บังคับ
 อาร์กิวเมนต์ที่เหลือซึ่งส่งไปยังฟังก์ชัน repo_rule  | 
การคืนสินค้า
ไม่มีอะไรเลย กำหนดที่เก็บเมื่อจำเป็นเป็นผลข้างเคียง
parse_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "parse_netrc")
parse_netrc(contents, filename)
ฟังก์ชันยูทิลิตีเพื่อแยกวิเคราะห์ไฟล์ .netrc ขั้นพื้นฐานอย่างน้อย
พารามิเตอร์
contents | 
ต้องระบุ
 อินพุตสำหรับตัวแยกวิเคราะห์  | 
filename | 
ไม่บังคับ
ค่าเริ่มต้นคือ "a .netrc file"
ชื่อไฟล์ที่จะใช้ในข้อความแสดงข้อผิดพลาด (หากมี)  | 
การคืนสินค้า
การแมป dict ชื่อเครื่องกับ dict ที่มีข้อมูลที่ระบุ เกี่ยวกับเครื่อง
แพตช์
load("@bazel//tools/build_defs/repo:utils.bzl", "patch")
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 คำสั่งไปยัง bash -c รายการสตริง  | 
patch_cmds_win | 
ไม่บังคับ
ค่าเริ่มต้นคือ None
คำสั่ง Powershell ที่จะเรียกใช้สำหรับการแก้ไข ซึ่งส่ง ทีละคำสั่งไปยัง powershell /c รายการสตริง หาก ค่าบูลีนของพารามิเตอร์นี้เป็นเท็จ ระบบจะใช้ patch_cmds และจะไม่สนใจพารามิเตอร์นี้  | 
patch_tool | 
ไม่บังคับ
ค่าเริ่มต้นคือ None
เส้นทางของเครื่องมือแพตช์ที่จะดำเนินการเพื่อใช้ แพตช์ สตริง  | 
patch_args | 
ไม่บังคับ
ค่าเริ่มต้นคือ None
อาร์กิวเมนต์ที่จะส่งไปยังเครื่องมือแก้ไข รายการสตริง  | 
auth | 
ไม่บังคับ
ค่าเริ่มต้นคือ None
พจนานุกรมที่ไม่บังคับซึ่งระบุข้อมูลการตรวจสอบสิทธิ์สำหรับ URL บางรายการ  | 
การคืนสินค้า
dict mapping remote patch URLs to a download info.
read_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_netrc")
read_netrc(ctx, filename)
ฟังก์ชันยูทิลิตีเพื่อแยกวิเคราะห์ไฟล์ .netrc ขั้นพื้นฐานอย่างน้อย
พารามิเตอร์
ctx | 
ต้องระบุ
 บริบทที่เก็บของกฎที่เก็บที่เรียกใช้ฟังก์ชันยูทิลิตีนี้  | 
filename | 
ต้องระบุ
 ชื่อของไฟล์ .netrc ที่จะอ่าน  | 
การคืนสินค้า
การแมป dict ชื่อเครื่องกับ dict ที่มีข้อมูลที่ระบุ เกี่ยวกับเครื่อง
read_user_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc")
read_user_netrc(ctx)
อ่านไฟล์ .netrc เริ่มต้นของผู้ใช้
พารามิเตอร์
ctx | 
ต้องระบุ
 บริบทที่เก็บของกฎที่เก็บที่เรียกใช้ฟังก์ชันยูทิลิตีนี้  | 
การคืนสินค้า
การแมป dict ชื่อเครื่องกับ dict ที่มีข้อมูลที่ระบุเกี่ยวกับเครื่อง
symlink_files
load("@bazel//tools/build_defs/repo:utils.bzl", "symlink_files")
symlink_files(ctx)
ฟังก์ชันยูทิลิตีสำหรับการลิงก์สัญลักษณ์ของไฟล์ในเครื่อง
โดยมีวัตถุประสงค์เพื่อใช้ในฟังก์ชันการใช้งานของกฎที่เก็บ โดยจะถือว่ามีพารามิเตอร์ files ใน ctx.attr
ระบบจะเขียนทับไฟล์ที่มีอยู่
พารามิเตอร์
ctx | 
ต้องระบุ
 บริบทที่เก็บของกฎที่เก็บที่เรียกใช้ฟังก์ชันยูทิลิตีนี้  | 
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs")
update_attrs(orig, keys, override)
ฟังก์ชันยูทิลิตีสำหรับการแก้ไขและเพิ่มแอตทริบิวต์ที่ระบุในการเรียกใช้กฎที่เก็บที่เฉพาะเจาะจง
ซึ่งใช้เพื่อทำให้กฎสามารถทำซ้ำได้
พารามิเตอร์
orig | 
ต้องระบุ
 พจนานุกรมของแอตทริบิวต์ที่ตั้งค่าจริง (โดยชัดแจ้งหรือโดยนัย) โดยการเรียกใช้กฎที่เฉพาะเจาะจง  | 
keys | 
ต้องระบุ
 ชุดแอตทริบิวต์ทั้งหมดที่กำหนดไว้ในกฎนี้  | 
override | 
ต้องระบุ
 พจนานุกรมของแอตทริบิวต์ที่จะลบล้างหรือเพิ่มลงใน orig  | 
การคืนสินค้า
พจนานุกรมของแอตทริบิวต์ที่มีคีย์จากการแทนที่ที่แทรก/อัปเดต
use_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "use_netrc")
use_netrc(netrc, urls, patterns)
คำนวณพจนานุกรมการตรวจสอบสิทธิ์จากไฟล์ .netrc ที่แยกวิเคราะห์แล้วและรายการ URL
พารามิเตอร์
netrc | 
ต้องระบุ
 ไฟล์ netrc ที่แยกวิเคราะห์เป็น dict แล้ว เช่น ที่ได้จาก read_netrc  | 
urls | 
ต้องระบุ
 รายการ URL  | 
patterns | 
ต้องระบุ
 พจนานุกรมที่ไม่บังคับของ URL ไปยังรูปแบบการให้สิทธิ์  | 
การคืนสินค้า
dict เหมาะสมเป็นอาร์กิวเมนต์การตรวจสอบสิทธิ์สำหรับ ctx.download กล่าวคือ dict จะแมป URL ทั้งหมดที่ไฟล์ .netrc ระบุข้อมูลเข้าสู่ระบบและรหัสผ่านไปยัง dict ที่มีข้อมูลเข้าสู่ระบบ รหัสผ่าน และรูปแบบการให้สิทธิ์ที่ไม่บังคับที่เกี่ยวข้อง รวมถึงการแมป "type" เป็น "basic" หรือ "pattern"
workspace_and_buildfile
load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile")
workspace_and_buildfile(ctx)
ฟังก์ชันยูทิลิตีสำหรับการเขียนไฟล์ BUILD
กฎนี้มีไว้ใช้ในฟังก์ชันการใช้งานของกฎที่เก็บ
โดยจะถือว่าพารามิเตอร์ name, build_file และ build_file_content อยู่ใน ctx.attr โดย 2 พารามิเตอร์หลังอาจมีค่าเป็น None
พารามิเตอร์
ctx | 
ต้องระบุ
 บริบทที่เก็บของกฎที่เก็บที่เรียกใช้ฟังก์ชันยูทิลิตีนี้  |