กฎที่เก็บในเครื่อง

รายงานปัญหา ดูแหล่งที่มา Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

กฎสำหรับการทำให้ไดเรกทอรีในระบบไฟล์ในเครื่องพร้อมใช้งานเป็นที่เก็บ

ตั้งค่า

หากต้องการใช้กฎเหล่านี้ในส่วนขยายโมดูล ให้โหลดกฎในไฟล์ .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)

หรือจะเรียกกฎของที่เก็บเหล่านี้ในไฟล์ 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 อยู่แล้วพร้อมใช้งานเป็นที่เก็บ ไดเรกทอรีนี้ควรมีไฟล์ BUILD ของ Bazel และไฟล์ขอบเขตของที่เก็บอยู่แล้ว หากไม่มีไฟล์เหล่านี้ ให้ลองใช้ new_local_repository แทน

แอตทริบิวต์

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

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

path สตริง; ต้องระบุ

เส้นทางไปยังไดเรกทอรีที่จะทำให้พร้อมใช้งานเป็นที่เก็บ เส้นทางอาจเป็นแบบสัมบูรณ์หรือสัมพัทธ์กับรูทของพื้นที่ทำงานก็ได้

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 พร้อมใช้งานเป็นที่เก็บ ไดเรกทอรีนี้ไม่จำเป็นต้องมีไฟล์ Bazel BUILD หรือไฟล์ขอบเขตของที่เก็บ เนื่องจากกฎที่เก็บนี้จะสร้างไฟล์ดังกล่าว หากไดเรกทอรีมีไฟล์ Bazel อยู่แล้ว ให้ลองใช้ local_repository แทน

แอตทริบิวต์

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

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

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

ไฟล์ที่จะใช้เป็นไฟล์ BUILD สำหรับที่เก็บนี้ ต้องระบุ `build_file` หรือ `build_file_content` อย่างใดอย่างหนึ่งเท่านั้น ไฟล์ที่ป้ายกำกับนี้ระบุไม่จำเป็นต้องชื่อ BUILD แต่สามารถตั้งชื่อได้ ชื่ออย่าง `BUILD.new-repo-name` อาจใช้ได้ดีในการแยกความแตกต่างจากไฟล์ BUILD จริง

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

เนื้อหาของไฟล์ BUILD ที่จะสร้างสำหรับที่เก็บนี้ ต้องระบุ `build_file` หรือ `build_file_content` อย่างใดอย่างหนึ่งเท่านั้น

path สตริง; ต้องระบุ

เส้นทางไปยังไดเรกทอรีที่จะทำให้พร้อมใช้งานเป็นที่เก็บ เส้นทางอาจเป็นแบบสัมบูรณ์หรือสัมพัทธ์กับรูทของพื้นที่ทำงานก็ได้