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

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

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

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

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

ไม่แน่

maybe(repo_rule, name, kwargs)

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

การดำเนินการนี้คือการใช้มาโคร MRSS.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 รายการสตริง หากค่าบูลีน (boolean) ของพารามิเตอร์นี้เป็นเท็จ ระบบจะใช้ patch_cmds และละเว้นพารามิเตอร์นี้

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

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

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

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

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

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

read_netrc

read_netrc(ctx, filename)

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

พารามิเตอร์

ctx ต้องระบุ

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

filename ต้องระบุ

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

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

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

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

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