implementation
saat membuat ekstensi modul.
Anggota
- download
- download_and_extract
- eksekusi
- file
- dependensi_adalah_dev
- modul
- os
- jalur
- baca
- report_progress
- 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 disediakan dan menampilkan struct yang berisi
success
, tanda yang true
jika download berhasil, dan jika berhasil, hash file dengan kolom sha256
dan integrity
.
Parameter
Parameter | Deskripsi |
---|---|
url
|
string; or Iterable of strings ;
diperlukanDaftar URL duplikat yang mereferensikan 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. Risiko SHA-256 dapat hilang karena file jarak jauh dapat berubah. Sebaiknya menghapus kolom ini akan membuat build Anda tidak bersifat hermetik. Opsional untuk membuat pengembangan lebih mudah, tetapi harus disetel sebelum pengiriman. |
executable
|
default = False menetapkan flag yang dapat dieksekusi di file yang dibuat, false secara default. |
allow_fail
|
default = False Jika ditetapkan, tentukan error dalam nilai yang ditampilkan, bukan memunculkan error untuk download yang gagal |
canonical_id
|
default = '' Jika ditetapkan, batasi cache ditemukan dalam kasus ketika file ditambahkan ke cache dengan ID kanonis yang sama |
auth
|
default = {} Perintah opsional yang menentukan informasi autentikasi untuk beberapa URL. |
integrity
|
default = '' Checksum yang diharapkan untuk file yang didownload, dalam format Integritas Subresource. Ini harus cocok dengan checksum file yang didownload. Merupakan risiko keamanan untuk menghilangkan checksum karena file jarak jauh dapat berubah. Sebaiknya menghapus kolom ini akan membuat build Anda tidak bersifat hermetik. Opsional untuk membuat pengembangan lebih mudah, tetapi harus disetel sebelum pengiriman. |
download_dan_ekstrak
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 disediakan, mengekstraknya, dan menampilkan struct yang berisi
success
, tanda yang merupakan true
jika download berhasil, dan jika berhasil, hash file dengan kolom sha256
dan integrity
.
Parameter
Parameter | Deskripsi |
---|---|
url
|
string; or Iterable of strings ;
diperlukanDaftar URL duplikat yang mereferensikan 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. Risiko SHA-256 dapat hilang karena file jarak jauh dapat berubah. Sebaiknya menghapus kolom ini akan membuat build Anda tidak bersifat hermetik. Opsional untuk membuat pengembangan lebih mudah, tetapi harus disetel sebelum pengiriman. Jika disediakan, cache repositori akan terlebih dahulu diperiksa filenya dengan hash yang ditentukan; download hanya akan dicoba jika file tersebut 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", ".tbz", ".ar", atau ".deb" di sini. |
stripPrefix
|
default = '' awalan direktori untuk dihapus dari file yang diekstrak. Banyak arsip berisi direktori tingkat atas yang berisi semua file di arsip. Daripada harus menentukan awalan ini berulang kali di build_file , kolom ini dapat digunakan untuk menghapusnya dari file yang diekstrak.
|
allow_fail
|
default = False Jika ditetapkan, tentukan error dalam nilai yang ditampilkan, bukan memunculkan error untuk download yang gagal |
canonical_id
|
default = '' Jika ditetapkan, batasi cache ditemukan dalam kasus ketika file ditambahkan ke cache dengan ID kanonis yang sama |
auth
|
default = {} Perintah opsional yang menentukan informasi autentikasi untuk beberapa URL. |
integrity
|
default = '' Checksum yang diharapkan untuk file yang didownload, dalam format Integritas Subresource. Ini harus cocok dengan checksum file yang didownload. Merupakan risiko keamanan untuk menghilangkan checksum karena file jarak jauh dapat berubah. Sebaiknya menghapus kolom ini akan membuat build Anda tidak bersifat hermetik. Opsional untuk membuat pengembangan lebih mudah, tetapi harus disetel sebelum pengiriman. |
rename_files
|
default = {} Perintah 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. |
eksekusi
exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")Menjalankan 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
|
wajib Daftar argumen, elemen pertama harus menjadi jalur untuk program yang akan dieksekusi. |
timeout
|
default = 600 durasi maksimum perintah dalam detik (defaultnya adalah 600 detik). |
environment
|
default = {} memaksa beberapa variabel lingkungan ditetapkan untuk diteruskan ke proses. |
quiet
|
default = True Jika stdout dan stderr harus dicetak ke terminal. |
working_directory
|
default = "" Direktori kerja untuk eksekusi perintah. Dapat berhubungan dengan root repositori atau absolut. |
file
None module_ctx.file(path, content='', executable=True, legacy_utf8=True)Menghasilkan file di direktori repositori dengan konten yang disediakan.
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; or Label; or path ;
diperlukanjalur file yang akan dibuat, relatif terhadap direktori repositori. |
content
|
default = '' konten file yang akan dibuat, kosong secara default. |
executable
|
default = True menetapkan tanda yang dapat dieksekusi pada file yang dibuat, true secara default. |
legacy_utf8
|
default = True mengenkode konten file ke UTF-8, true secara default. Versi yang akan datang akan mengubah default-nya dan menghapus parameter ini. |
dependensi_dev_is
bool module_ctx.is_dev_dependency(tag)Menampilkan apakah tag tertentu telah ditentukan pada hasil panggilan use_extension dengan
devDependency = True
.
Parameter
Parameter | Deskripsi |
---|---|
tag
|
bazel_module_tag ;
wajib diisiTag yang diperoleh dari bazel_module.tags. |
modul
list module_ctx.modulesDaftar semua modul Bazel dalam grafik dependensi eksternal, yang masing-masing merupakan objek bazel_module yang mengekspos semua tag yang ditentukan untuk ekstensi modul ini. Urutan iterasi kamus ini dijamin sama dengan penelusuran yang mengutamakan luas mulai dari modul root.
os
repository_os module_ctx.osStruktur untuk mengakses informasi dari sistem.
jalur
path module_ctx.path(path)Menampilkan jalur dari string, label, atau jalur. Jika jalur tersebut bersifat relatif, jalur tersebut akan diselesaikan secara relatif terhadap direktori repositori. Jika jalur diberi label, jalur ini akan menjadi 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 jalur adalah jalur, jalur akan ditampilkan sebagaimana adanya.
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; or Label; or path ;
string, label, atau jalur yang diperlukan untuk membuat jalur |
baca
string module_ctx.read(path)Membaca isi file di sistem file.
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; or Label; or path ;
diperlukanjalur file 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 ;
default = ''string yang menjelaskan status progres pengambilan saat ini |
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
|
wajib Program untuk ditemukan di jalur. |
None
.