Fungsi berikut dapat dimuat dari
@bazel_tools//tools/build_defs/repo:local.bzl
.
Aturan untuk membuat direktori di sistem file lokal tersedia sebagai repo.
Penyiapan
Untuk menggunakan aturan ini dalam ekstensi modul, muat aturan ini dalam file .bzl, lalu panggil aturan tersebut dari
fungsi implementasi ekstensi. 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 repo 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 yang tersedia sebagai repo. Direktori ini seharusnya sudah berisi file Bazel BUILD dan file batas repo. Jika tidak berisi file ini, sebaiknya gunakan new_local_repository
.
ATRIBUT
name |
Nama; wajib diisi
Nama unik untuk repositori ini. |
path |
String; wajib
Jalur ke direktori yang akan disediakan sebagai repo. Jalur tersebut dapat bersifat absolut atau relatif sesuai root ruang kerja. |
repo_mapping |
Kamus: String -> String; opsional
Hanya dalam konteks `WORKSPACE`: kamus dari nama repositori lokal hingga nama repositori global. Hal ini memungkinkan kontrol atas resolusi dependensi Workspace untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` mendeklarasikan bahwa, setiap kali repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, repositori ini harus benar-benar me-resolve dependensi tersebut dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). Atribut ini _tidak_ didukung dalam konteks `MODULE.bazel` (saat memanggil aturan repositori di dalam fungsi implementasi 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 repo. Direktori ini tidak perlu berisi file BUILD Bazel atau file batas repo; file tersebut akan dibuat oleh aturan repo 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. Hanya satu dari `build_file` dan `build_file_content` yang harus ditentukan. File yang ditangani oleh label ini tidak perlu diberi nama BUILD, tetapi dapat. Opsi seperti `BUILD.new-repo-name` mungkin berfungsi dengan baik untuk membedakannya dari file BUILD yang sebenarnya. |
build_file_content |
String; opsional
Konten file BUILD yang akan dibuat untuk repo ini. Salah satu dari `build_file` dan `build_file_content` harus ditentukan. |
path |
String; wajib diisi
Jalur ke direktori yang akan disediakan sebagai repo. Jalur tersebut dapat bersifat absolut atau relatif sesuai 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 Workspace untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` mendeklarasikan bahwa, setiap kali repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, repositori ini harus benar-benar me-resolve dependensi tersebut dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). Atribut ini _tidak_ didukung dalam konteks `MODULE.bazel` (saat memanggil aturan repositori di dalam fungsi implementasi ekstensi modul). |