กฎที่เก็บ Git

รายงานปัญหา ดูแหล่งที่มา /3} /4} {3/4} {3/4} {3/4} {3/4} /4.

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

git_repository

git_repository(name, branch, build_file, build_file_content, commit, init_submodules, patch_args,
               patch_cmds, patch_cmds_win, patch_tool, patches, recursive_init_submodules, remote,
               shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)

โคลนที่เก็บ Git ภายนอก

โคลนที่เก็บ Git ตรวจสอบแท็กที่ระบุ หรือคอมมิต และทำให้เป้าหมายพร้อมสำหรับการเชื่อมโยง นอกจากนี้ ให้กำหนดรหัสของคอมมิตที่เช็คเอาต์และวันที่ของ Commit แล้วแสดงผล dict ที่มีพารามิเตอร์ที่ระบุเวอร์ชันที่ทำซ้ำของกฎนี้ (ซึ่งไม่จำเป็นต้องเป็นแท็ก)

Attributes

name ชื่อ ต้องระบุ

ชื่อที่ไม่ซ้ำกันสำหรับที่เก็บนี้

branch สตริง ไม่บังคับ

ในที่เก็บระยะไกลเพื่อเช็คเอาต์ ต้องระบุ Branch, แท็ก หรือคอมมิตอย่างแม่นยำ

build_file ป้ายกำกับ ไม่บังคับ

ไฟล์ที่จะใช้เป็นไฟล์ BUILD สำหรับที่เก็บนี้ แอตทริบิวต์นี้เป็นป้ายกำกับแบบสัมบูรณ์ (ใช้ "@//" สำหรับที่เก็บหลัก) ไฟล์นี้ไม่จำเป็นต้องตั้งชื่อว่า BUILD แต่สามารถเป็น (ชื่ออย่างเช่น BUILD.new-repo-name อาจเหมาะที่จะแยกออกจากไฟล์ BUILD จริงของที่เก็บ ต้องระบุ create_file หรือbuild_file_content

build_file_content สตริง ไม่บังคับ

เนื้อหาของไฟล์ BUILD สำหรับที่เก็บนี้ ต้องระบุ create_file หรือbuild_file_content

commit สตริง ไม่บังคับ

ให้ตรวจสอบ ต้องระบุ Branch, แท็ก หรือคอมมิตอย่างแม่นยำ

init_submodules บูลีน ไม่บังคับ

เลือกว่าจะโคลนโมดูลย่อยในที่เก็บหรือไม่

patch_args รายการสตริง ไม่บังคับ

อาร์กิวเมนต์ที่ให้ในเครื่องมือแพตช์ ค่าเริ่มต้นจะเป็น -p0 แต่โดยปกติแล้วจะต้องใช้ -p1 สำหรับแพตช์ที่สร้างโดย git หากระบุอาร์กิวเมนต์ -p หลายรายการ อาร์กิวเมนต์สุดท้ายจะมีผล หากระบุอาร์กิวเมนต์อื่นที่ไม่ใช่ -p ไว้ Bazel จะกลับไปใช้เครื่องมือบรรทัดคำสั่งแพตช์แทนการใช้งานแพตช์ของ Bazel เมื่อกลับไปใช้เครื่องมือบรรทัดคำสั่งแพตช์และไม่ได้ระบุแอตทริบิวต์ Patch_tool ระบบจะใช้ "patch"

patch_cmds รายการสตริง ไม่บังคับ

ลำดับของคำสั่ง Bash ที่จะใช้กับ Linux/Macos หลังจากใช้แพตช์

patch_cmds_win รายการสตริง ไม่บังคับ

ลำดับของคำสั่ง Powershell ที่จะนำไปใช้ใน Windows หลังจากใช้แพตช์ หากไม่ได้ตั้งค่าแอตทริบิวต์นี้ ระบบจะดำเนินการ Patch_cmds ใน Windows ซึ่งต้องมีไบนารีของ Bash

patch_tool สตริง ไม่บังคับ

โปรแกรมแพตช์(1) ที่จะใช้ หากระบุไว้ Bazel จะใช้เครื่องมือแพตช์ที่ระบุแทนการติดตั้งใช้งานแพตช์ของ Bazel เนทีฟ

patches รายการป้ายกำกับ ไม่บังคับ

รายการไฟล์ที่จะใช้เป็นแพตช์หลังจากแตกไฟล์ที่เก็บถาวร โดยค่าเริ่มต้น โมเดลจะใช้การติดตั้งแพตช์ของ Bazel ซึ่งไม่รองรับการจับคู่ Fuzz Match และแพตช์ไบนารี แต่ Bazel จะกลับไปใช้เครื่องมือบรรทัดคำสั่งแพตช์หากมีการระบุแอตทริบิวต์ "patch_tool" หรือมีอาร์กิวเมนต์อื่นที่ไม่ใช่ "-p" ในแอตทริบิวต์ "patch_args"

recursive_init_submodules บูลีน ไม่บังคับ

เลือกว่าจะโคลนโมดูลย่อยซ้ำในที่เก็บหรือไม่

remote สตริง ต้องระบุ

URI ของที่เก็บ Git ระยะไกล

shallow_since สตริง ไม่บังคับ

วันที่ที่ไม่บังคับ ไม่ใช่หลังคอมมิตที่ระบุ ไม่อนุญาตให้ใช้อาร์กิวเมนต์หากมีการระบุแท็ก (ซึ่งอนุญาตให้มีการโคลนที่มีความลึก 1) การตั้งค่าวันที่ดังกล่าวใกล้กับคอมมิตที่ระบุจะทำให้โคลนที่เก็บในระดับตื้นขึ้น ซึ่งช่วยประหยัดแบนด์วิดท์และเวลาสูงสุด

strip_prefix สตริง ไม่บังคับ

คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก

tag สตริง ไม่บังคับ

ในที่เก็บระยะไกลเพื่อเช็คเอาต์ ต้องระบุ Branch, แท็ก หรือคอมมิตอย่างแม่นยำ

verbose บูลีน ไม่บังคับ
workspace_file ป้ายกำกับ ไม่บังคับ

ไฟล์ที่จะใช้เป็นไฟล์ "WORKSPACE" สำหรับที่เก็บนี้ ต้องระบุ "workspace_file" หรือ "workspace_file_content" หรือจะระบุทั้ง 2 อย่างไม่ได้

workspace_file_content สตริง ไม่บังคับ

เนื้อหาของไฟล์ WORKSPACE สำหรับที่เก็บนี้ ต้องระบุ "workspace_file" หรือ "workspace_file_content" หรือจะระบุทั้ง 2 อย่างไม่ได้

new_git_repository

new_git_repository(name, branch, build_file, build_file_content, commit, init_submodules,
                   patch_args, patch_cmds, patch_cmds_win, patch_tool, patches,
                   recursive_init_submodules, remote, shallow_since, strip_prefix, tag, verbose,
                   workspace_file, workspace_file_content)

โคลนที่เก็บ Git ภายนอก

โคลนที่เก็บ Git ตรวจสอบแท็กที่ระบุ หรือคอมมิต และทำให้เป้าหมายพร้อมสำหรับการเชื่อมโยง นอกจากนี้ ให้กำหนดรหัสของคอมมิตที่เช็คเอาต์และวันที่ของ Commit แล้วแสดงผล dict ที่มีพารามิเตอร์ที่ระบุเวอร์ชันที่ทำซ้ำของกฎนี้ (ซึ่งไม่จำเป็นต้องเป็นแท็ก)

Attributes

name ชื่อ ต้องระบุ

ชื่อที่ไม่ซ้ำกันสำหรับที่เก็บนี้

branch สตริง ไม่บังคับ

ในที่เก็บระยะไกลเพื่อเช็คเอาต์ ต้องระบุ Branch, แท็ก หรือคอมมิตอย่างแม่นยำ

build_file ป้ายกำกับ ไม่บังคับ

ไฟล์ที่จะใช้เป็นไฟล์ BUILD สำหรับที่เก็บนี้ แอตทริบิวต์นี้เป็นป้ายกำกับแบบสัมบูรณ์ (ใช้ "@//" สำหรับที่เก็บหลัก) ไฟล์นี้ไม่จำเป็นต้องตั้งชื่อว่า BUILD แต่สามารถเป็น (ชื่ออย่างเช่น BUILD.new-repo-name อาจเหมาะที่จะแยกออกจากไฟล์ BUILD จริงของที่เก็บ ต้องระบุ create_file หรือbuild_file_content

build_file_content สตริง ไม่บังคับ

เนื้อหาของไฟล์ BUILD สำหรับที่เก็บนี้ ต้องระบุ create_file หรือbuild_file_content

commit สตริง ไม่บังคับ

ให้ตรวจสอบ ต้องระบุ Branch, แท็ก หรือคอมมิตอย่างแม่นยำ

init_submodules บูลีน ไม่บังคับ

เลือกว่าจะโคลนโมดูลย่อยในที่เก็บหรือไม่

patch_args รายการสตริง ไม่บังคับ

อาร์กิวเมนต์ที่ให้ในเครื่องมือแพตช์ ค่าเริ่มต้นจะเป็น -p0 แต่โดยปกติแล้วจะต้องใช้ -p1 สำหรับแพตช์ที่สร้างโดย git หากระบุอาร์กิวเมนต์ -p หลายรายการ อาร์กิวเมนต์สุดท้ายจะมีผล หากระบุอาร์กิวเมนต์อื่นที่ไม่ใช่ -p ไว้ Bazel จะกลับไปใช้เครื่องมือบรรทัดคำสั่งแพตช์แทนการใช้งานแพตช์ของ Bazel เมื่อกลับไปใช้เครื่องมือบรรทัดคำสั่งแพตช์และไม่ได้ระบุแอตทริบิวต์ Patch_tool ระบบจะใช้ "patch"

patch_cmds รายการสตริง ไม่บังคับ

ลำดับของคำสั่ง Bash ที่จะใช้กับ Linux/Macos หลังจากใช้แพตช์

patch_cmds_win รายการสตริง ไม่บังคับ

ลำดับของคำสั่ง Powershell ที่จะนำไปใช้ใน Windows หลังจากใช้แพตช์ หากไม่ได้ตั้งค่าแอตทริบิวต์นี้ ระบบจะดำเนินการ Patch_cmds ใน Windows ซึ่งต้องมีไบนารีของ Bash

patch_tool สตริง ไม่บังคับ

โปรแกรมแพตช์(1) ที่จะใช้ หากระบุไว้ Bazel จะใช้เครื่องมือแพตช์ที่ระบุแทนการติดตั้งใช้งานแพตช์ของ Bazel เนทีฟ

patches รายการป้ายกำกับ ไม่บังคับ

รายการไฟล์ที่จะใช้เป็นแพตช์หลังจากแตกไฟล์ที่เก็บถาวร โดยค่าเริ่มต้น โมเดลจะใช้การติดตั้งแพตช์ของ Bazel ซึ่งไม่รองรับการจับคู่ Fuzz Match และแพตช์ไบนารี แต่ Bazel จะกลับไปใช้เครื่องมือบรรทัดคำสั่งแพตช์หากมีการระบุแอตทริบิวต์ "patch_tool" หรือมีอาร์กิวเมนต์อื่นที่ไม่ใช่ "-p" ในแอตทริบิวต์ "patch_args"

recursive_init_submodules บูลีน ไม่บังคับ

เลือกว่าจะโคลนโมดูลย่อยซ้ำในที่เก็บหรือไม่

remote สตริง ต้องระบุ

URI ของที่เก็บ Git ระยะไกล

shallow_since สตริง ไม่บังคับ

วันที่ที่ไม่บังคับ ไม่ใช่หลังคอมมิตที่ระบุ ไม่อนุญาตให้ใช้อาร์กิวเมนต์หากมีการระบุแท็ก (ซึ่งอนุญาตให้มีการโคลนที่มีความลึก 1) การตั้งค่าวันที่ดังกล่าวใกล้กับคอมมิตที่ระบุจะทำให้โคลนที่เก็บในระดับตื้นขึ้น ซึ่งช่วยประหยัดแบนด์วิดท์และเวลาสูงสุด

strip_prefix สตริง ไม่บังคับ

คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก

tag สตริง ไม่บังคับ

ในที่เก็บระยะไกลเพื่อเช็คเอาต์ ต้องระบุ Branch, แท็ก หรือคอมมิตอย่างแม่นยำ

verbose บูลีน ไม่บังคับ
workspace_file ป้ายกำกับ ไม่บังคับ

ไฟล์ที่จะใช้เป็นไฟล์ "WORKSPACE" สำหรับที่เก็บนี้ ต้องระบุ "workspace_file" หรือ "workspace_file_content" หรือจะระบุทั้ง 2 อย่างไม่ได้

workspace_file_content สตริง ไม่บังคับ

เนื้อหาของไฟล์ WORKSPACE สำหรับที่เก็บนี้ ต้องระบุ "workspace_file" หรือ "workspace_file_content" หรือจะระบุทั้ง 2 อย่างไม่ได้