implementation
saat membuat ekstensi modul.
Pelanggan
- download
- download_and_extract
- execute
- extension_metadata
- file
- is_dev_dependency
- module
- os
- path
- baca
- 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='')Mendownload file ke jalur output untuk URL yang diberikan dan menampilkan struct yang berisi
success
, tanda true
jika download berhasil diselesaikan, dan jika berhasil, hash file dengan kolom sha256
dan integrity
.
Parameter
Parameter | Deskripsi |
---|---|
url
|
string; or Iterable of strings ;
diperlukanDaftar URL duplikat yang merujuk ke file yang sama. |
output
|
string; or Label; or path ;
jalur default = ''ke file output, relatif terhadap direktori repositori. |
sha256
|
default = '' hash SHA-256 yang diharapkan dari file yang didownload. Ini harus cocok dengan hash SHA-256 file yang didownload. Menghilangkan SHA-256 merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling tidak, menghilangkan kolom ini akan membuat build Anda non-hermetic. Atribut ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman. |
executable
|
default = False menetapkan tanda yang dapat dieksekusi pada file yang dibuat, false secara default. |
allow_fail
|
default = Salah Jika ditetapkan, tunjukkan error dalam nilai yang ditampilkan, bukan memunculkan error untuk download yang gagal |
canonical_id
|
default = '' Jika ditetapkan, batasi hit cache pada kasus ketika file ditambahkan ke cache dengan ID kanonis yang sama |
auth
|
default = {} Dikte opsional yang menetapkan informasi autentikasi untuk beberapa URL. |
integrity
|
default = '' Checksum yang diharapkan dari file yang didownload, dalam format Subresource Integrity. Nilai ini harus cocok dengan checksum file yang didownload. Menghilangkan {i>checksum<i} merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling tidak, menghilangkan kolom ini akan membuat build Anda non-hermetic. Atribut 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={})Mendownload file ke jalur output untuk URL yang diberikan, mengekstraknya, dan menampilkan struct yang berisi
success
, tanda true
jika download berhasil diselesaikan, dan jika berhasil, hash file dengan kolom sha256
dan integrity
.
Parameter
Parameter | Deskripsi |
---|---|
url
|
string; or Iterable of strings ;
diperlukanDaftar URL duplikat yang merujuk ke file yang sama. |
output
|
string; or Label; or path ;
default = ''jalur ke direktori tempat arsip akan diekstrak, relatif terhadap direktori repositori. |
sha256
|
default = '' hash SHA-256 yang diharapkan dari file yang didownload. Ini harus cocok dengan hash SHA-256 file yang didownload. Menghilangkan SHA-256 merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling tidak, menghilangkan kolom ini akan membuat build Anda non-hermetic. Atribut ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman. Jika disediakan, cache repositori akan diperiksa terlebih dahulu untuk menemukan file dengan hash yang diberikan; download hanya akan dicoba jika file tidak ditemukan dalam cache. Setelah download berhasil, file akan ditambahkan ke cache. |
type
|
default = '' jenis arsip file yang didownload. Secara default, jenis arsip ditentukan dari ekstensi file URL. Jika file tidak memiliki ekstensi, Anda dapat secara eksplisit menentukan "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".ar", atau ".deb" di sini. |
stripPrefix
|
default = '' awalan direktori yang akan dihapus dari file yang diekstrak. Banyak arsip berisi direktori tingkat atas yang berisi semua file dalam arsip. Daripada harus menentukan awalan ini berulang-ulang di build_file , kolom ini dapat digunakan untuk menghapusnya dari file yang diekstrak.
|
allow_fail
|
default = Salah Jika ditetapkan, tunjukkan error dalam nilai yang ditampilkan, bukan memunculkan error untuk download yang gagal |
canonical_id
|
default = '' Jika ditetapkan, batasi hit cache pada kasus ketika file ditambahkan ke cache dengan ID kanonis yang sama |
auth
|
default = {} Dikte opsional yang menetapkan informasi autentikasi untuk beberapa URL. |
integrity
|
default = '' Checksum yang diharapkan dari file yang didownload, dalam format Subresource Integrity. Nilai ini harus cocok dengan checksum file yang didownload. Menghilangkan {i>checksum<i} merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling tidak, menghilangkan kolom ini akan membuat build Anda non-hermetic. Atribut ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman. |
rename_files
|
default = {} Dikte 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 apa pun. 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="")Mengeksekusi perintah yang diberikan oleh daftar argumen. Waktu eksekusi perintah dibatasi oleh
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
|
diperlukan Daftar argumen, elemen pertama harus berupa jalur ke program yang akan dieksekusi. |
timeout
|
default = 600 durasi maksimum perintah dalam detik (default-nya adalah 600 detik). |
environment
|
default = {} memaksa beberapa variabel lingkungan untuk disetel agar diteruskan ke proses. |
quiet
|
default = True Jika stdout dan stderr harus dicetak ke terminal. |
working_directory
|
default = "" Direktori yang berfungsi 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)Membuat objek buram yang dapat ditampilkan dari fungsi implementasi ekstensi modul untuk memberikan metadata tentang repositori yang dihasilkan oleh ekstensi ke Bazel.
Parameter
Parameter | Deskripsi |
---|---|
root_module_direct_deps
|
sequence of strings; or string; or None ;
default = Tidak adaNama repositori yang dianggap ekstensi sebagai dependensi langsung dari 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 Tepat satu dari |
root_module_direct_dev_deps
|
sequence of strings; or string; or None ;
default = Tidak adaNama repositori yang dianggap ekstensi sebagai dependensi dev 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 Tepat satu dari |
file
None module_ctx.file(path, content='', executable=True, legacy_utf8=True)Membuat file dalam direktori repositori dengan konten yang disediakan.
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; or Label; or path ;
jalurfile yang akan dibuat, relatif terhadap direktori repositori. |
content
|
default = '' konten file yang akan dibuat, kosong secara default. |
executable
|
default = True menyetel flag yang dapat dieksekusi pada file yang dibuat, benar (true) secara default. |
legacy_utf8
|
default = 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)Menampilkan apakah tag tertentu ditentukan pada hasil panggilan use_extension dengan
devDependency = True
.
Parameter
Parameter | Deskripsi |
---|---|
tag
|
bazel_module_tag ;
wajibTag yang diperoleh dari bazel_module.tags. |
modul
list module_ctx.modulesDaftar semua modul Bazel dalam grafik dependensi eksternal yang menggunakan ekstensi modul ini, yang masing-masing merupakan objek bazel_module yang mengekspos semua tag yang ditentukan untuk ekstensi ini. Urutan iterasi kamus ini dijamin sama dengan penelusuran pengutamaan luas yang dimulai dari modul root.
os
repository_os module_ctx.osSebuah struct untuk mengakses informasi dari sistem.
jalur
path module_ctx.path(path)Menampilkan jalur dari string, label, atau jalur. Jika jalur relatif, jalur akan di-resolve relatif terhadap direktori repositori. Jika jalur berupa label, jalur akan di-resolve ke jalur file yang sesuai. Perhatikan bahwa repositori jarak jauh dijalankan selama fase analisis, sehingga tidak dapat bergantung pada hasil target (label harus mengarah ke file yang tidak dihasilkan). Jika path berupa jalur, fungsi ini akan menampilkan jalur tersebut apa adanya.
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; or Label; or path ; string, label, atau jalur yang diperlukan untuk membuat jalur |
read
string module_ctx.read(path)Membaca konten file pada sistem file.
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; or Label; or path ;
jalur file yang diperlukan untuk dibaca. |
report_progress
None module_ctx.report_progress(status='')Memperbarui status progres untuk pengambilan repositori atau ekstensi modul ini
Parameter
Parameter | Deskripsi |
---|---|
status
|
string ;
string default = ''yang menjelaskan status progres pengambilan saat ini |
root_module_has_non_dev_dependency
bool module_ctx.root_module_has_non_dev_dependencyApakah modul root menggunakan ekstensi ini sebagai dependensi non-dev.
yang mana
path module_ctx.which(program)Menampilkan jalur program yang sesuai atau Tidak ada jika tidak ada program tersebut dalam jalur.
Parameter
Parameter | Deskripsi |
---|---|
program
|
diperlukan Program untuk menemukan jalur. |
None
.