modul_ctx

Konteks ekstensi modul yang berisi fungsi bantuan dan informasi tentang tag terkait di seluruh grafik dependensi. Anda mendapatkan objek module_ctx sebagai argumen ke fungsi implementation saat membuat ekstensi modul.

Anggota

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; wajib
Daftar URL duplikat yang merujuk ke file yang sama.
output string; or Label; or path; default = jalur ''
ke file output, relatif terhadap direktori repositori.
sha256 default = ''
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 baik menghilangkan kolom ini akan membuat build Anda non-hermetic. Pengembangan bersifat opsional, tetapi harus ditetapkan sebelum pengiriman.
executable default = False
menetapkan tanda yang dapat dieksekusi pada file yang dibuat, salah secara default.
allow_fail default = False
Jika ditetapkan, tunjukkan error dalam nilai yang ditampilkan, bukan menampilkan error untuk download yang gagal
canonical_id default = ''
Jika ditetapkan, batasi cache ditemukan 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 checksum adalah risiko keamanan karena file jarak jauh dapat berubah. Paling baik menghilangkan kolom ini akan membuat build Anda non-hermetic. Pengembangan bersifat opsional, 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, yaitu 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; wajib
Daftar 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. Nilai ini harus cocok dengan hash SHA-256 file yang didownload. Menghilangkan SHA-256 merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling baik menghilangkan kolom ini akan membuat build Anda non-hermetic. Pengembangan bersifat opsional, tetapi harus ditetapkan sebelum pengiriman. Jika disediakan, cache repositori akan diperiksa terlebih dahulu apakah ada file dengan hash yang diberikan; download hanya akan dicoba jika file tidak ditemukan di 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 = False
Jika ditetapkan, tunjukkan error dalam nilai yang ditampilkan, bukan menampilkan error untuk download yang gagal
canonical_id default = ''
Jika ditetapkan, batasi cache ditemukan 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 checksum adalah risiko keamanan karena file jarak jauh dapat berubah. Paling baik menghilangkan kolom ini akan membuat build Anda non-hermetic. Pengembangan bersifat opsional, tetapi harus ditetapkan 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.

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 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 berupa jalur ke program yang akan dieksekusi.
timeout default = 600
durasi maksimum perintah dalam detik (defaultnya 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.

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; jalur
file yang diperlukan yang akan dibuat, relatif terhadap direktori repositori.
content default = ''
konten file yang akan dibuat, kosong secara default.
executable default = True
menyetel tanda yang dapat dieksekusi pada file yang dibuat, benar secara default.
legacy_utf8 default = True
mengenkode konten file ke UTF-8, benar secara default. Versi yang akan datang akan mengubah setelan default dan menghapus parameter ini.

modul

list module_ctx.modules

Daftar 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 luas pertama yang dimulai dari modul root.

os

repository_os module_ctx.os

Suatu struct untuk mengakses informasi dari sistem.

jalur

path module_ctx.path(path)

Menampilkan jalur dari string, label, atau jalur. Jika jalurnya relatif, hal itu akan di-resolve secara relatif terhadap direktori repositori. Jika jalurnya adalah 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 jalur berupa jalur, jalur akan menampilkan jalur tersebut sebagaimana adanya.

Parameter

Parameter Deskripsi
path string; or Label; or path; string, label, atau jalur
wajib yang digunakan 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 ekstensi modul atau repositori ini

Parameter

Parameter Deskripsi
status string; string default = ''
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 seperti itu di jalur.

Parameter

Parameter Deskripsi
program diperlukan
Program untuk ditemukan di jalur.
Dapat menampilkan None.