คุณโหลดฟังก์ชันต่อไปนี้ได้จาก @bazel_tools//tools/build_defs/repo:local.bzl
กฎสำหรับการทำให้ไดเรกทอรีในระบบไฟล์ในเครื่องพร้อมใช้งานเป็น repo
ตั้งค่า
หากต้องการใช้กฎเหล่านี้ในส่วนขยายโมดูล ให้โหลดกฎในไฟล์ .bzl แล้วเรียกใช้จากฟังก์ชันการใช้งานของส่วนขยาย ตัวอย่างเช่น หากต้องการใช้ local_repository ให้ทำดังนี้
load("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
def _my_extension_impl(mctx):
local_repository(name = "foo", path = "foo")
my_extension = module_extension(implementation = _my_extension_impl)
หรือคุณจะเรียกใช้กฎ repo เหล่านี้ในไฟล์ MODULE.bazel โดยตรงด้วย use_repo_rule ก็ได้
local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
local_repository(name = "foo", path = "foo")
local_repository
load("@bazel//tools/build_defs/repo:local.bzl", "local_repository")
local_repository(name, path)
ทำให้ไดเรกทอรีในเครื่องที่มีไฟล์ Bazel อยู่แล้วพร้อมใช้งานเป็น repo ไดเรกทอรีนี้ควรมีไฟล์ Bazel BUILD และไฟล์ขอบเขต repo อยู่แล้ว หากไม่มีไฟล์เหล่านี้ ให้ลองใช้ new_local_repository แทน
แอตทริบิวต์
name |
ชื่อ (ต้องระบุ)
ชื่อที่ไม่ซ้ำกันสำหรับที่เก็บนี้ |
path |
สตริง (ต้องระบุ)
เส้นทางไปยังไดเรกทอรีที่จะทำให้พร้อมใช้งานเป็น repo เส้นทางอาจเป็นแบบสัมบูรณ์หรือสัมพัทธ์กับรูทของพื้นที่ทำงาน |
new_local_repository
load("@bazel//tools/build_defs/repo:local.bzl", "new_local_repository")
new_local_repository(name, build_file, build_file_content, path)
ทำให้ไดเรกทอรีในเครื่องที่ไม่มีไฟล์ Bazel พร้อมใช้งานเป็น repo ไดเรกทอรีนี้ไม่จำเป็นต้องมีไฟล์ Bazel BUILD หรือไฟล์ขอบเขต repo เนื่องจากกฎ repo นี้จะสร้างไฟล์ดังกล่าว หากไดเรกทอรีมีไฟล์ Bazel อยู่แล้ว ให้ลองใช้ local_repository แทน
แอตทริบิวต์
name |
ชื่อ (ต้องระบุ)
ชื่อที่ไม่ซ้ำกันสำหรับที่เก็บนี้ |
build_file |
ป้ายกำกับ (ไม่บังคับ)
ไฟล์ที่จะใช้เป็นไฟล์ BUILD สำหรับ repo นี้ ต้องระบุ `build_file` หรือ `build_file_content` อย่างใดอย่างหนึ่ง ไฟล์ที่ระบุโดยป้ายกำกับนี้ไม่จำเป็นต้องชื่อ BUILD แต่จะตั้งชื่อ BUILD ก็ได้ การตั้งชื่อไฟล์ เช่น `BUILD.new-repo-name` อาจช่วยแยกไฟล์นี้ออกจากไฟล์ BUILD จริงได้ |
build_file_content |
สตริง (ไม่บังคับ)
เนื้อหาของไฟล์ BUILD ที่จะสร้างขึ้นสำหรับ repo นี้ ต้องระบุ `build_file` หรือ `build_file_content` อย่างใดอย่างหนึ่ง |
path |
สตริง (ต้องระบุ)
เส้นทางไปยังไดเรกทอรีที่จะทำให้พร้อมใช้งานเป็น repo เส้นทางอาจเป็นแบบสัมบูรณ์หรือสัมพัทธ์กับรูทของพื้นที่ทำงาน |