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

วันที่ รายงานปัญหา ดูแหล่งที่มา ตอนกลางคืน · 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",
)

download_remote_files

download_remote_files(ctx, auth)

ฟังก์ชันยูทิลิตีสำหรับการดาวน์โหลดไฟล์ระยะไกล

กฎนี้มีจุดประสงค์เพื่อใช้ในฟังก์ชันการใช้งานของ กฎที่เก็บ โดยใช้พารามิเตอร์ remote_file_urls และ remote_file_integrity จะแสดงใน ctx.attr

พารามิเตอร์

ctx ต้องระบุ

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

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

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

get_auth

get_auth(ctx, urls)

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

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

พารามิเตอร์

ctx ต้องระบุ

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

urls ต้องระบุ

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

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

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

อาจจะ

maybe(repo_rule, name, kwargs)

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

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

พารามิเตอร์

repo_rule ต้องระบุ

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

name ต้องระบุ

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

kwargs ไม่บังคับ

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

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

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

parse_netrc

parse_netrc(contents, filename)

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

พารามิเตอร์

contents ต้องระบุ

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

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

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

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

dict การแมปชื่อเครื่องกับ 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 ที่จะเรียกใช้เพื่อแพตช์ ส่งผ่าน 1 คำสั่งต่อ ได้เวลาแบช -c รายการสตริง

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

คำสั่ง Powershell สำหรับเรียกใช้เพื่อแพตช์ ผ่านแล้ว ทีละรายการเพื่อ Powershell /c รายการสตริง หาก ค่าบูลีนของพารามิเตอร์นี้คือ false ดังนั้น Patch_cmds จะกลายเป็น และพารามิเตอร์นี้จะถูกละเว้น

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

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

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

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

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

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

read_netrc

read_netrc(ctx, filename)

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

พารามิเตอร์

ctx ต้องระบุ

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

filename ต้องระบุ

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

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

dict การแมปชื่อเครื่องกับ 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 เหมาะสำหรับอาร์กิวเมนต์ auth สำหรับ ctx.download; ได้แม่นยำขึ้น จะแมป URL ทั้งหมดที่ไฟล์ netrc ให้ข้อมูลเข้าสู่ระบบและรหัสผ่านกับ ที่มีการเข้าสู่ระบบ รหัสผ่าน และรูปแบบการให้สิทธิ์ที่เป็นตัวเลือก รวมถึงการแมป "ประเภท" เป็น "พื้นฐาน" หรือ "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 ต้องระบุ

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