aturan repositori lokal

Fungsi berikut dapat dimuat dari @bazel_tools//tools/build_defs/repo:local.bzl.

Aturan untuk membuat direktori di sistem file lokal tersedia sebagai repositori.

Penyiapan

Untuk menggunakan aturan ini dalam ekstensi modul, muat aturan tersebut dalam file .bzl, lalu panggil dari fungsi penerapan ekstensi Anda. Misalnya, untuk menggunakan 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)

Atau, Anda dapat langsung memanggil aturan repositori ini di file MODULE.bazel dengan 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, repo_mapping)

Membuat direktori lokal yang sudah berisi file Bazel tersedia sebagai repositori. Direktori ini harus sudah berisi file BUILD Bazel dan file batas repositori. Jika tidak berisi file ini, sebaiknya gunakan new_local_repository.

ATRIBUT

name Nama; wajib

Nama unik untuk repositori ini.

path String; wajib

Jalur ke direktori yang akan disediakan sebagai repositori. Jalur dapat berupa absolut atau relatif ke root ruang kerja.

repo_mapping Kamus: String -> String; opsional

Hanya dalam konteks `WORKSPACE`: kamus dari nama repositori lokal ke nama repositori global. Hal ini memungkinkan kontrol atas resolusi dependensi ruang kerja untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` mendeklarasikan bahwa, untuk setiap kali repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, dependensi tersebut harus diselesaikan dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). Atribut ini _tidak_ didukung dalam konteks `MODULE.bazel` (saat memanggil aturan repositori di dalam fungsi penerapan ekstensi modul).

new_local_repository

load("@bazel//tools/build_defs/repo:local.bzl", "new_local_repository")

new_local_repository(name, build_file, build_file_content, path, repo_mapping)

Membuat direktori lokal yang tidak berisi file Bazel tersedia sebagai repositori. Direktori ini tidak harus berisi file BUILD Bazel atau file batas repositori; file tersebut akan dibuat oleh aturan repositori ini. Jika direktori sudah berisi file Bazel, sebaiknya gunakan local_repository.

ATRIBUT

name Nama; wajib

Nama unik untuk repositori ini.

build_file Label; opsional

File yang akan digunakan sebagai file BUILD untuk repositori ini. Tepat satu dari `build_file` dan `build_file_content` harus ditentukan. File yang dialamatkan oleh label ini tidak harus diberi nama BUILD, tetapi dapat diberi nama. Nama seperti `BUILD.new-repo-name` mungkin berguna untuk membedakannya dari file BUILD sebenarnya.

build_file_content String; opsional

Konten file BUILD yang akan dibuat untuk repositori ini. Tepat satu dari `build_file` dan `build_file_content` harus ditentukan.

path String; wajib

Jalur ke direktori yang akan disediakan sebagai repositori. Jalur dapat berupa absolut atau relatif ke root ruang kerja.

repo_mapping Kamus: String -> String; opsional

Hanya dalam konteks `WORKSPACE`: kamus dari nama repositori lokal ke nama repositori global. Hal ini memungkinkan kontrol atas resolusi dependensi ruang kerja untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` mendeklarasikan bahwa, untuk setiap kali repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, dependensi tersebut harus diselesaikan dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). Atribut ini _tidak_ didukung dalam konteks `MODULE.bazel` (saat memanggil aturan repositori di dalam fungsi penerapan ekstensi modul).