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

รายงานปัญหา ดูแหล่งที่มา

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

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

ตั้งค่า

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

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

get_auth

get_auth(ctx, urls)

ฟังก์ชันยูทิลิตีในการรับคำสั่งการตรวจสอบสิทธิ์ที่ถูกต้องสำหรับรายการ URL จากไฟล์ .netrc

รองรับแอตทริบิวต์ netrc และ auth_patterns ที่ไม่บังคับ หากมี

พารามิเตอร์

ctx ต้องระบุ

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

urls ต้องระบุ

รายการ URL ที่จะอ่าน

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

โปรแกรมรับรองความถูกต้องซึ่งส่งผ่านไปยัง record_ctx.download ได้

อาจจะ

maybe(repo_rule, name, kwargs)

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

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

พารามิเตอร์

repo_rule ต้องระบุ

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

name ต้องระบุ

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

kwargs ไม่บังคับ

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

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

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

parse_netrc

parse_netrc(contents, filename)

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

พารามิเตอร์

contents ต้องระบุ

สำหรับโปรแกรมแยกวิเคราะห์

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

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

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

คำสั่งที่จะจับคู่ชื่อเครื่องกับ 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 ที่จะเรียกใช้เพื่อแพตช์ โดยจะส่งทีละรายการเพื่อ 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 พื้นฐานเป็นอย่างน้อย

พารามิเตอร์

ctx ต้องระบุ

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

filename ต้องระบุ

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

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

คำสั่งที่จะจับคู่ชื่อเครื่องกับ 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 เหมาะสำหรับอาร์กิวเมนต์การตรวจสอบสิทธิ์สำหรับ 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 ต้องระบุ

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