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 Anda, 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 repo ini dalam 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 repo. Direktori ini harus berisi file BUILD Bazel dan file batas repositori. Jika tidak berisi file ini, pertimbangkan untuk menggunakan new_local_repository
.
ATRIBUT
name |
Nama; wajib
Nama unik untuk repositori ini. |
path |
String; wajib
Jalur ke direktori yang akan tersedia sebagai repo. Jalur dapat bersifat absolut, atau relatif terhadap root ruang kerja. |
repo_mapping |
Dictionary: String -> String; opsional
Hanya dalam konteks `WORKSPACE`: kamus dari nama repositori lokal ke nama repositori global. Hal ini memungkinkan kontrol atas penyelesaian dependensi ruang kerja untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` menyatakan bahwa, untuk setiap waktu saat repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, dependensi tersebut sebenarnya 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 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 repo ini. Tepatnya salah satu dari `build_file` dan `build_file_content` harus ditentukan. File yang ditandai dengan label ini tidak harus diberi nama BUILD, tetapi bisa diberi nama demikian. 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 repo ini. Tepatnya salah satu dari `build_file` dan `build_file_content` harus ditentukan. |
path |
String; wajib
Jalur ke direktori yang akan tersedia sebagai repo. Jalur dapat bersifat absolut, atau relatif terhadap root ruang kerja. |
repo_mapping |
Dictionary: String -> String; opsional
Hanya dalam konteks `WORKSPACE`: kamus dari nama repositori lokal ke nama repositori global. Hal ini memungkinkan kontrol atas penyelesaian dependensi ruang kerja untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` menyatakan bahwa, untuk setiap waktu saat repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, dependensi tersebut sebenarnya 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). |