Konteks ekstensi modul yang berisi fungsi bantuan dan informasi tentang tag yang relevan di seluruh grafik dependensi. Anda mendapatkan objek module_ctx sebagai argumen ke fungsi implementation
saat membuat ekstensi modul.
Anggota
- download
- download_and_extract
- execute
- extension_metadata
- file
- is_dev_dependency
- module
- os
- path
- read
- report_progress
- root_module_has_non_dev_dependency
- yang
download
struct module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')
success
, flag yang merupakan true
jika download berhasil diselesaikan, dan jika berhasil, hash file dengan kolom sha256
dan integrity
.
Parameter
Parameter | Deskripsi |
---|---|
url
|
string; atau Iterable dari string;
wajib Daftar URL mirror yang mereferensikan file yang sama. |
output
|
string; atau Label; atau path;
default adalah '' jalur ke file output, relatif terhadap direktori repositori. |
sha256
|
defaultnya adalah '' hash SHA-256 yang diharapkan dari file yang didownload. Hash ini harus cocok dengan hash SHA-256 file yang didownload. Menghapus SHA-256 merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling tidak, menghapus kolom ini akan membuat build Anda tidak hermetis. Ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman. |
executable
|
defaultnya adalah False menetapkan flag yang dapat dieksekusi pada file yang dibuat, salah secara default. |
allow_fail
|
default-nya adalah False Jika ditetapkan, tunjukkan error dalam nilai yang ditampilkan, bukan menampilkan error untuk download yang gagal |
canonical_id
|
default adalah '' Jika ditetapkan, batasi hit cache ke kasus saat file ditambahkan ke cache dengan ID kanonis yang sama |
auth
|
default adalah {} Dict opsional yang menentukan informasi autentikasi untuk beberapa URL. |
integrity
|
defaultnya adalah '' Perkiraan checksum file yang didownload, dalam format Subresource Integrity. Ini harus cocok dengan checksum file yang didownload. Menghapus checksum merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling tidak, menghapus kolom ini akan membuat build Anda tidak hermetis. Ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman. |
download_and_extract
struct module_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})
success
, flag yang merupakan true
jika download berhasil diselesaikan, dan jika berhasil, hash file dengan kolom sha256
dan integrity
.
Parameter
Parameter | Deskripsi |
---|---|
url
|
string; atau Iterable dari string;
wajib Daftar URL mirror 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
|
defaultnya adalah '' hash SHA-256 yang diharapkan dari file yang didownload. Hash ini harus cocok dengan hash SHA-256 file yang didownload. Menghapus SHA-256 merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling tidak, menghapus kolom ini akan membuat build Anda tidak hermetis. Ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman. Jika disediakan, cache repositori akan terlebih dahulu diperiksa untuk file dengan hash yang diberikan; download hanya akan dicoba jika file tidak ditemukan di cache. Setelah berhasil didownload, file akan ditambahkan ke cache. |
type
|
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", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar", atau ".deb" secara eksplisit di sini. |
stripPrefix
|
default adalah '' awalan direktori yang akan dihapus dari file yang diekstrak. Banyak arsip berisi direktori tingkat teratas yang berisi semua file dalam arsip. Daripada harus menentukan awalan ini berulang kali di build_file , kolom ini dapat digunakan untuk menghapusnya dari file yang diekstrak.
|
allow_fail
|
default-nya adalah False Jika ditetapkan, tunjukkan error dalam nilai yang ditampilkan, bukan menampilkan error untuk download yang gagal |
canonical_id
|
default adalah '' Jika ditetapkan, batasi hit cache ke kasus saat file ditambahkan ke cache dengan ID kanonis yang sama |
auth
|
default adalah {} Dict opsional yang menentukan informasi autentikasi untuk beberapa URL. |
integrity
|
defaultnya adalah '' Perkiraan checksum file yang didownload, dalam format Subresource Integrity. Ini harus cocok dengan checksum file yang didownload. Menghapus checksum merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling tidak, menghapus kolom ini akan membuat build Anda tidak hermetis. Ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman. |
rename_files
|
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. 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 module_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
|
required Daftar argumen, elemen pertama harus berupa jalur ke program yang akan dieksekusi. |
timeout
|
default adalah 600 durasi maksimum perintah dalam detik (defaultnya adalah 600 detik). |
environment
|
default adalah {} memaksa beberapa variabel lingkungan ditetapkan untuk diteruskan ke proses. |
quiet
|
default adalah True Jika stdout dan stderr harus dicetak ke terminal. |
working_directory
|
default adalah "" Direktori kerja untuk eksekusi perintah. Dapat bersifat relatif terhadap root repositori atau absolut. |
extension_metadata
extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None)
Parameter
Parameter | Deskripsi |
---|---|
root_module_direct_deps
|
urutan string; atau string; atau None ;
default adalah None Nama repositori yang dianggap ekstensi sebagai dependensi langsung modul root. Jika modul root mengimpor repositori tambahan atau tidak mengimpor semua repositori ini melalui use_repo , Bazel akan mencetak peringatan dan perintah perbaikan saat ekstensi dievaluasi.Jika salah satu dari Hanya satu dari |
root_module_direct_dev_deps
|
urutan string; atau string; atau None ;
default adalah None Nama repositori yang dianggap ekstensi sebagai dependensi developer langsung dari modul root. Jika modul root mengimpor repositori tambahan atau tidak mengimpor semua repositori ini melalui use_repo pada proxy ekstensi yang dibuat dengan use_extension(..., dev_dependency = True) , Bazel akan mencetak peringatan dan perintah perbaikan saat ekstensi dievaluasi.Jika salah satu dari Hanya satu dari |
file
None
module_ctx.file(path, content='', executable=True, legacy_utf8=True)
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; atau Label; atau path;
wajib jalur file yang akan dibuat, relatif terhadap direktori repositori. |
content
|
default adalah '' konten file yang akan dibuat, kosong secara default. |
executable
|
defaultnya adalah True menetapkan tanda yang dapat dieksekusi pada file yang dibuat, benar secara default. |
legacy_utf8
|
defaultnya adalah True mengenkode konten file ke UTF-8, true secara default. Versi mendatang akan mengubah default dan menghapus parameter ini. |
is_dev_dependency
bool module_ctx.is_dev_dependency(tag)
devDependency = True
.
Parameter
Parameter | Deskripsi |
---|---|
tag
|
bazel_module_tag;
required Tag yang diperoleh dari bazel_module.tags. |
modul
list module_ctx.modules
os
repository_os module_ctx.os
jalur
path module_ctx.path(path)
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; atau Label; atau path;
wajib string, label, atau jalur yang akan digunakan untuk membuat jalur |
baca
string module_ctx.read(path)
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; atau Label; atau path;
wajib jalur file yang akan dibaca. |
report_progress
None
module_ctx.report_progress(status='')
Parameter
Parameter | Deskripsi |
---|---|
status
|
string;
default adalah string '' yang menjelaskan status progres pengambilan saat ini |
root_module_has_non_dev_dependency
bool module_ctx.root_module_has_non_dev_dependency
yang mana
path module_ctx.which(program)
Parameter
Parameter | Deskripsi |
---|---|
program
|
required Program yang akan ditemukan di jalur. |
None
.