implementation saat membuat aturan repositori.
Anggota
- attr
- hapus
- download
- download_and_extract
- execute
- extract
- file
- getenv
- name
- original_name
- os
- patch
- path
- read
- ganti nama
- repo_metadata
- report_progress
- symlink
- template
- tonton
- watch_tree
- yang
- workspace_root
attr
struct repository_ctx.attr
hapus
bool repository_ctx.delete(path)
Parameter
| Parameter | Deskripsi |
|---|---|
path
|
string; atau path;
wajib Jalur file yang akan dihapus, relatif terhadap direktori repositori, atau absolut. Dapat berupa jalur atau string. |
download
unknown repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)success, yaitu tanda yang bernilai true jika download berhasil diselesaikan, dan jika berhasil, hash file dengan kolom sha256 dan integrity. Jika sha256 atau integrity ditentukan pengguna, sebaiknya tetapkan canonical_id secara eksplisit. Misalnya, get_default_canonical_id
Parameter
| Parameter | Deskripsi |
|---|---|
url
|
string; atau Iterable string;
wajib Daftar URL cermin yang mereferensikan file yang sama. |
output
|
string; atau Label; atau path;
default adalah ''jalur ke file output, relatif terhadap direktori repositori. |
sha256
|
string;
default adalah ''Hash SHA-256 yang diharapkan dari file yang didownload. Nilai ini harus cocok dengan hash SHA-256 file yang didownload. Menghilangkan SHA-256 merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling-paling, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Opsional untuk mempermudah pengembangan, tetapi harus disetel sebelum pengiriman. Jika disediakan, cache repositori akan diperiksa terlebih dahulu untuk menemukan file dengan hash tertentu; download hanya akan dicoba jika file tidak ditemukan di cache. Setelah berhasil didownload, file akan ditambahkan ke cache. |
executable
|
bool;
default adalah FalseTetapkan tanda yang dapat dieksekusi pada file yang dibuat, secara default salah (false). |
allow_fail
|
bool;
default adalah FalseJika disetel, tunjukkan error dalam nilai yang ditampilkan, bukan memunculkan error untuk download yang gagal. |
canonical_id
|
string;
default adalah ''Jika disetel, batasi hit cache untuk kasus saat file ditambahkan ke cache dengan ID kanonis yang sama. Secara default, caching menggunakan checksum ( sha256 atau integrity).
|
auth
|
dict;
default adalah {}Dict opsional yang menentukan informasi autentikasi untuk beberapa URL. |
headers
|
dict;
default adalah {}Dict opsional yang menentukan header http untuk semua URL. |
integrity
|
string;
default is ''Checksum yang diharapkan dari file yang didownload, dalam format Subresource Integrity. Checksum ini harus cocok dengan checksum file yang didownload. Menghilangkan checksum merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling-paling, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Opsional untuk mempermudah pengembangan, tetapi harus disetel sebelum pengiriman. Jika disediakan, cache repositori akan diperiksa terlebih dahulu untuk menemukan file dengan checksum tertentu; download hanya akan dicoba jika file tidak ditemukan di cache. Setelah berhasil didownload, file akan ditambahkan ke cache. |
block
|
bool;
default adalah TrueJika disetel ke false, panggilan akan segera ditampilkan dan bukan nilai yang ditampilkan reguler, melainkan menampilkan token dengan satu metode, wait(), yang akan diblokir hingga download selesai dan menampilkan nilai yang ditampilkan biasa atau error seperti biasa. |
download_and_extract
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', strip_prefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})
success, yaitu tanda yang berupa true jika download berhasil diselesaikan, dan jika berhasil, hash file dengan kolom sha256 dan integrity. Jika sha256 atau integrity ditentukan pengguna, sebaiknya tetapkan canonical_id secara eksplisit. Misalnya, get_default_canonical_id
Parameter
| Parameter | Deskripsi |
|---|---|
url
|
string; atau Iterable string;
wajib Daftar URL cermin yang mereferensikan file yang sama. |
output
|
string; atau Label; atau path;
default adalah ''Jalur ke direktori tempat arsip akan diekstrak, relatif terhadap direktori repositori. |
sha256
|
string;
default adalah ''Hash SHA-256 yang diharapkan dari file yang didownload. Nilai ini harus cocok dengan hash SHA-256 file yang didownload. Menghilangkan SHA-256 merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling-paling, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Opsional untuk mempermudah pengembangan, tetapi harus disetel sebelum pengiriman. Jika disediakan, cache repositori akan diperiksa terlebih dahulu untuk menemukan file dengan hash tertentu; download hanya akan dicoba jika file tidak ditemukan di cache. Setelah berhasil didownload, file akan ditambahkan ke cache. |
type
|
string;
default adalah ''Jenis arsip file yang didownload. Secara default, jenis arsip ditentukan dari ekstensi file URL. Jika file tidak memiliki ekstensi, Anda dapat menentukan "zip", "jar", "war", "aar", "nupkg", "whl", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar", atau ".deb" secara eksplisit di sini. |
strip_prefix
|
string;
default is ''Awalan direktori yang akan dihapus dari file yang diekstrak. Banyak arsip berisi direktori tingkat teratas yang berisi semua file dalam arsip. Daripada perlu menentukan awalan ini berulang kali di build_file, kolom ini dapat
digunakan untuk menghapusnya dari file yang diekstrak.
Untuk kompatibilitas, parameter ini juga dapat digunakan dengan nama yang tidak digunakan lagi, yaitu
|
allow_fail
|
bool;
default adalah FalseJika disetel, tunjukkan error dalam nilai yang ditampilkan, bukan memunculkan error untuk download yang gagal. |
canonical_id
|
string;
default adalah ''Jika disetel, batasi hit cache untuk kasus saat file ditambahkan ke cache dengan ID kanonis yang sama. Secara default, caching menggunakan checksum" ( sha256 atau integrity).
|
auth
|
dict;
default adalah {}Dict opsional yang menentukan informasi autentikasi untuk beberapa URL. |
headers
|
dict;
default adalah {}Dict opsional yang menentukan header http untuk semua URL. |
integrity
|
string;
default is ''Checksum yang diharapkan dari file yang didownload, dalam format Subresource Integrity. Checksum ini harus cocok dengan checksum file yang didownload. Menghilangkan checksum merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling-paling, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Opsional untuk mempermudah pengembangan, tetapi harus disetel sebelum pengiriman. Jika disediakan, cache repositori akan diperiksa terlebih dahulu untuk menemukan file dengan checksum tertentu; download hanya akan dicoba jika file tidak ditemukan di cache. Setelah berhasil didownload, file akan ditambahkan ke cache. |
rename_files
|
dict;
default adalah {}Dict opsional yang menentukan file yang akan diganti namanya selama ekstraksi. Entri arsip dengan nama yang sama persis dengan kunci akan diganti namanya menjadi nilai, sebelum penyesuaian awalan direktori. Hal ini dapat digunakan untuk mengekstrak arsip yang berisi nama file non-Unicode, atau yang memiliki file yang akan diekstrak ke jalur yang sama pada sistem file yang tidak peka huruf besar/kecil. |
execute
exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")
timeout (dalam detik, default 600 detik). Metode ini menampilkan struktur exec_result yang berisi output perintah. Peta environment dapat digunakan untuk mengganti beberapa variabel lingkungan yang akan diteruskan ke proses.
Parameter
| Parameter | Deskripsi |
|---|---|
arguments
|
sequence;
required Daftar argumen, elemen pertama harus berupa jalur ke program yang akan dieksekusi. |
timeout
|
int;
default is 600Durasi maksimum perintah dalam detik (default adalah 600 detik). |
environment
|
dict;
default adalah {}Memaksa beberapa variabel lingkungan ditetapkan untuk diteruskan ke proses. Nilainya dapat berupa None untuk menghapus variabel lingkungan.
|
quiet
|
bool;
default adalah TrueJika stdout dan stderr harus dicetak ke terminal. |
working_directory
|
string;
default adalah ""Direktori kerja untuk eksekusi perintah. Dapat bersifat relatif terhadap root repositori atau absolut. Defaultnya adalah root repositori. |
ekstrak
None repository_ctx.extract(archive, output='', strip_prefix='', *, rename_files={}, watch_archive='auto')Parameter
| Parameter | Deskripsi |
|---|---|
archive
|
string; atau Label; atau path;
wajib jalur ke arsip yang akan diekstrak, relatif terhadap direktori repositori. |
output
|
string; atau Label; atau path;
default adalah ''jalur ke direktori tempat arsip akan diekstrak, relatif terhadap direktori repositori. |
strip_prefix
|
string;
default adalah ''awalan direktori yang akan dihapus dari file yang diekstrak. Banyak arsip berisi direktori tingkat teratas yang berisi semua file dalam arsip. Daripada perlu menentukan awalan ini berulang kali di build_file, kolom ini dapat
digunakan untuk menghapusnya dari file yang diekstrak.
Untuk kompatibilitas, parameter ini juga dapat digunakan dengan nama yang tidak digunakan lagi, yaitu
|
rename_files
|
dict;
default adalah {}Dict opsional yang menentukan file yang akan diganti namanya selama ekstraksi. Entri arsip dengan nama yang sama persis dengan kunci akan diganti namanya menjadi nilai, sebelum penyesuaian awalan direktori. Hal ini dapat digunakan untuk mengekstrak arsip yang berisi nama file non-Unicode, atau yang memiliki file yang akan diekstrak ke jalur yang sama pada sistem file yang tidak peka huruf besar/kecil. |
watch_archive
|
string;
default adalah 'auto'apakah akan memantau file arsip. Dapat berupa string 'yes', 'no', atau 'auto'. Meneruskan 'yes' sama dengan segera memanggil metode watch(); meneruskan 'no' tidak akan mencoba memantau file; meneruskan 'auto' hanya akan mencoba memantau file jika hal itu diperbolehkan (lihat dokumentasi watch() untuk mengetahui informasi selengkapnya.
|
file
None repository_ctx.file(path, content='', executable=True, legacy_utf8=False)Parameter
| Parameter | Deskripsi |
|---|---|
path
|
string; atau Label; atau path;
wajib Jalur file yang akan dibuat, relatif terhadap direktori repositori. |
content
|
string;
default adalah ''Konten file yang akan dibuat, kosong secara default. |
executable
|
bool;
default adalah TrueTetapkan flag yang dapat dieksekusi pada file yang dibuat, benar secara default. |
legacy_utf8
|
bool;
default adalah FalseNo-op. Parameter ini tidak digunakan lagi dan akan dihapus di Bazel versi mendatang. |
getenv
string repository_ctx.getenv(name, default=None)
name sebagai string jika ada, atau default jika tidak ada. Saat membangun secara inkremental, setiap perubahan pada nilai variabel yang dinamai oleh name akan menyebabkan repositori ini diambil ulang.
Parameter
| Parameter | Deskripsi |
|---|---|
name
|
string;
wajib diisi Nama variabel lingkungan yang diinginkan. |
default
|
string; atau None;
defaultnya adalah NoneNilai default yang akan ditampilkan jika name tidak ditemukan.
|
None.
nama
string repository_ctx.name
original_name sebagai gantinya untuk mendapatkan nama yang awalnya ditentukan sebagai name saat aturan repositori ini dibuat.
original_name
string repository_ctx.original_name
name saat aturan repositori ini dibuat. Nama ini tidak harus unik di antara repositori eksternal. Gunakan name sebagai gantinya untuk mendapatkan nama kanonis repositori eksternal.
os
repository_os repository_ctx.os
patch
None repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')Parameter
| Parameter | Deskripsi |
|---|---|
patch_file
|
string; atau Label; atau path;
wajib File patch yang akan diterapkan, dapat berupa label, jalur relatif, atau jalur absolut. Jika berupa jalur relatif, jalur ini akan diselesaikan ke direktori repositori. |
strip
|
int;
default adalah 0Menghapus jumlah komponen awal yang ditentukan dari nama file. |
watch_patch
|
string;
default adalah 'auto'Apakah akan memantau file patch. Dapat berupa string 'yes', 'no', atau 'auto'. Meneruskan 'yes' sama dengan segera memanggil metode watch(); meneruskan 'no' tidak akan mencoba memantau file; meneruskan 'auto' hanya akan mencoba memantau file jika hal itu diperbolehkan (lihat dokumentasi watch() untuk mengetahui informasi selengkapnya.
|
jalur
path repository_ctx.path(path)
Parameter
| Parameter | Deskripsi |
|---|---|
path
|
string; atau Label; atau path;
wajibstring, Label, atau path yang akan digunakan untuk membuat jalur.
|
baca
string repository_ctx.read(path, *, watch='auto')
Parameter
| Parameter | Deskripsi |
|---|---|
path
|
string; atau Label; atau path;
wajib diisi Jalur file yang akan dibaca. |
watch
|
string;
defaultnya adalah 'auto'Apakah akan memantau file. Dapat berupa string 'yes', 'no', atau 'auto'. Meneruskan 'yes' sama dengan segera memanggil metode watch(); meneruskan 'no' tidak akan mencoba memantau file; meneruskan 'auto' hanya akan mencoba memantau file jika hal itu diperbolehkan (lihat dokumentasi watch() untuk mengetahui informasi selengkapnya.
|
ganti nama
None repository_ctx.rename(src, dst)src menjadi dst. Direktori induk dibuat sesuai kebutuhan. Gagal jika jalur tujuan sudah ada. Kedua jalur harus berada dalam repositori.
Parameter
| Parameter | Deskripsi |
|---|---|
src
|
string; atau Label; atau path;
wajib diisi Jalur file atau direktori yang ada untuk diganti namanya, relatif terhadap direktori repositori. |
dst
|
string; atau Label; atau path;
wajib Nama baru yang akan digunakan untuk mengganti nama file atau direktori, relatif terhadap direktori repositori. |
repo_metadata
repo_metadata repository_ctx.repo_metadata(reproducible=False, attrs_for_reproducibility={})
Parameter
| Parameter | Deskripsi |
|---|---|
reproducible
|
bool;
default adalah FalseMenyatakan bahwa repo ini dapat diambil ulang secara berulang; artinya, jika repo ini diambil lagi dengan atribut input, definisi aturan repo, file yang dipantau, dan variabel lingkungan yang sama persis, dll., maka output yang sama persis akan dihasilkan. Properti ini harus tetap berlaku meskipun kondisi lain yang tidak dilacak berubah, seperti informasi dari internet, jalur root ruang kerja, output dari menjalankan file yang dapat dieksekusi arbitrer, dll. Jika disetel ke True, konten repo yang diambil dapat di-cache di seluruh ruang kerja. Perhatikan bahwa menyetel ini ke True tidak menjamin penyimpanan dalam cache konten repo; misalnya, aturan repo lokal tidak pernah di-cache. |
attrs_for_reproducibility
|
dict;
default adalah {}Jika reproducible adalah False, ini dapat ditentukan untuk memberi tahu Bazel atribut aturan repo asli mana yang akan diubah agar dapat direproduksi.
|
report_progress
None repository_ctx.report_progress(status='')Parameter
| Parameter | Deskripsi |
|---|---|
status
|
string;
default adalah ''string yang menjelaskan status saat ini dari progres pengambilan.
|
symlink
None repository_ctx.symlink(target, link_name)Parameter
| Parameter | Deskripsi |
|---|---|
target
|
string; atau Label; atau path;
required Jalur yang harus dituju oleh symlink. |
link_name
|
string; atau Label; atau path;
wajib Jalur symlink yang akan dibuat. |
template
None repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')template. Setiap kemunculan kunci substitutions di template akan diganti dengan nilai yang sesuai. Hasilnya ditulis dalam path. Argumen executable opsional (defaultnya benar) dapat disetel untuk mengaktifkan atau menonaktifkan bit yang dapat dieksekusi.
Parameter
| Parameter | Deskripsi |
|---|---|
path
|
string; atau Label; atau path;
wajib Jalur file yang akan dibuat, relatif terhadap direktori repositori. |
template
|
string; atau Label; atau path;
wajib Jalur ke file template. |
substitutions
|
dict;
default adalah {}Substitusi yang akan dilakukan saat meluaskan template. |
executable
|
bool;
default adalah TrueTetapkan flag yang dapat dieksekusi pada file yang dibuat, benar secara default. |
watch_template
|
string;
default-nya adalah 'auto'Apakah akan memantau file template. Dapat berupa string 'yes', 'no', atau 'auto'. Meneruskan 'yes' sama dengan segera memanggil metode watch(); meneruskan 'no' tidak akan mencoba memantau file; meneruskan 'auto' hanya akan mencoba memantau file jika hal itu diperbolehkan (lihat dokumentasi watch() untuk mengetahui informasi selengkapnya.
|
jam tangan
None repository_ctx.watch(path)"Perubahan" mencakup perubahan pada konten file (jika jalur adalah file); jika jalur adalah file tetapi sekarang menjadi direktori, atau sebaliknya; dan jika jalur dimulai atau berhenti ada. Perlu diketahui bahwa perintah ini tidak menyertakan perubahan pada file apa pun di direktori jika jalur adalah direktori. Untuk melakukannya, gunakan path.readdir().
Perhatikan bahwa mencoba memantau jalur di dalam repo yang saat ini sedang diambil, atau di dalam direktori kerja ekstensi modul saat ini, akan menghasilkan error. Ekstensi modul yang mencoba memantau jalur di luar ruang kerja Bazel saat ini juga akan menghasilkan error.
Parameter
| Parameter | Deskripsi |
|---|---|
path
|
string; atau Label; atau path;
wajib diisi Jalur file yang akan dipantau. |
watch_tree
None repository_ctx.watch_tree(path)Perhatikan bahwa mencoba memantau jalur di dalam repo yang saat ini sedang diambil akan menghasilkan error.
Parameter
| Parameter | Deskripsi |
|---|---|
path
|
string; atau Label; atau path;
wajib diisi Jalur pohon direktori yang akan dipantau. |
yang mana
path repository_ctx.which(program)
path program yang sesuai atau None jika tidak ada program seperti itu di jalur.
Parameter
| Parameter | Deskripsi |
|---|---|
program
|
string;
required Program yang akan ditemukan di jalur. |
None.
workspace_root
path repository_ctx.workspace_root