aturan repositori lokal

Laporkan masalah Lihat sumber

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 aturan tersebut dari fungsi implementasi ekstensi Anda. Sebagai contoh, 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

local_repository(name, path, repo_mapping)

Membuat direktori lokal yang sudah berisi file Bazel tersedia sebagai repositori. Direktori ini seharusnya sudah berisi file Bazel BUILD dan file batas repo. Jika tidak berisi file ini, pertimbangkan untuk menggunakan <a href="#new_local_repository"><code>new_local_repository</code></a> sebagai gantinya.

Atribut

name Nama; wajib diisi

Nama unik untuk repositori ini.

path String; wajib diisi

Jalur ke direktori yang akan disediakan sebagai repo.

Jalur dapat bersifat absolut, atau relatif terhadap root ruang kerja.

repo_mapping Kamus: String -> String; wajib diisi

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, kapan pun repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, dependensi tersebut harus benar-benar menyelesaikan dependensi tersebut dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`).

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 Bazel BUILD atau file batas repo; file tersebut akan dibuat dengan aturan repo ini. Jika direktori sudah berisi file Bazel, pertimbangkan untuk menggunakan <a href="#local_repository"><code>local_repository</code></a> sebagai gantinya.

Atribut

name Nama; wajib diisi

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 ditetapkan.

File yang ditangani oleh label ini tidak perlu diberi nama BUILD, tetapi dapat diberi nama BUILD. Sesuatu 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 repositori ini.

Hanya satu dari build_file dan build_file_content yang harus ditetapkan.

path String; wajib diisi

Jalur ke direktori yang akan disediakan sebagai repo.

Jalur dapat bersifat absolut, atau relatif terhadap root ruang kerja.

repo_mapping Kamus: String -> String; wajib diisi

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, kapan pun repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, dependensi tersebut harus benar-benar menyelesaikan dependensi tersebut dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`).