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

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

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

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

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

พารามิเตอร์

repo_rule ต้องระบุ

ฟังก์ชันกฎของที่เก็บ

name ต้องระบุ

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

kwargs ไม่บังคับ

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

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

ไม่มี กำหนดที่เก็บเมื่อจำเป็น

parse_netrc

parse_netrc(contents, filename)

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

พารามิเตอร์

contents ต้องระบุ

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

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

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

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

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

แพตช์

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 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 ต้องระบุ

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