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

ฟังก์ชันต่อไปนี้โหลดได้จาก @bazel_tools//tools/build_defs/repo:utils.bzl

ใช้สำหรับจัดการที่เก็บภายนอกเมื่อดึงข้อมูลแล้ว

ตั้งค่า

ยูทิลิตีเหล่านี้มีไว้เพื่อใช้กับกฎที่เก็บอื่นๆ ซึ่งสามารถโหลดได้ดังนี้

load(
    "@bazel_tools//tools/build_defs/repo:utils.bzl",
    "workspace_and_buildfile",
    "patch",
    "update_attrs",
)

อาจจะ

maybe(repo_rule, name, kwargs)

ฟังก์ชันยูทิลิตีสำหรับการเพิ่มที่เก็บเฉพาะในกรณีที่ยังไม่มีที่เก็บอยู่

ขั้นตอนนี้คือการใช้มาโคร Safeที่เก็บ.bzl ที่บันทึกไว้ใน https://bazel.build/rules/deploying#dependencies

พารามิเตอร์

repo_rule ต้องระบุ

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

name ต้องระบุ

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

kwargs ไม่บังคับ

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

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

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

parse_netrc

parse_netrc(contents, filename)

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

พารามิเตอร์

contents ต้องระบุ

จากโปรแกรมแยกวิเคราะห์

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

ที่จะใช้ในข้อความแสดงข้อผิดพลาด ถ้ามี

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

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

แพตช์

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 รายการสตริง หากค่าบูลีนของพารามิเตอร์นี้เป็น false ระบบจะใช้แพตช์_cmds และละเว้นพารามิเตอร์นี้

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

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

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

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

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

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

read_netrc

read_netrc(ctx, filename)

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

พารามิเตอร์

ctx ต้องระบุ

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

filename ต้องระบุ

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

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

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

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 มีการแยกวิเคราะห์เป็นดิจิตต์แล้ว เช่น ตามที่ได้รับจาก read_netrc

urls ต้องระบุ

รายการ URL

patterns ต้องระบุ

คำสั่งทางเลือกของ URL ไปยังรูปแบบการให้สิทธิ์

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

dict เป็นอาร์กิวเมนต์การตรวจสอบสิทธิ์สำหรับ ctx.download พูดง่ายๆ คือ ไฟล์ dict จะแมป URL ทั้งหมดที่ไฟล์ netrc ระบุการเข้าสู่ระบบและรหัสผ่านกับดิกชันที่มีการเข้าสู่ระบบ รหัสผ่าน และรูปแบบการให้สิทธิ์ที่ไม่บังคับ ตลอดจนการแมป "ประเภท" กับ "พื้นฐาน" หรือ "รูปแบบ"

workspace_and_buildfile

workspace_and_buildfile(ctx)

ฟังก์ชันยูทิลิตีสำหรับการเขียน WORKSPACE และไฟล์ BUILD หากมี

กฎนี้มีไว้เพื่อใช้ในฟังก์ชันการใช้งานของกฎที่เก็บ โดยสมมติว่าพารามิเตอร์ name, build_file, build_file_content, workspace_file และ workspace_file_content อยู่ใน ctx.attr และ 4 ตัวหลังอาจมีค่า "ไม่มี"

พารามิเตอร์

ctx ต้องระบุ

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