implementation
saat membuat aturan repositori.
Anggota
- attr
- hapus
- download
- download_and_extract
- execute
- ekstrak
- file
- name
- os
- patch
- path
- baca
- report_progress
- symlink
- template
- yang mana
- workspace_root
atr
struct repository_ctx.attrStruct untuk mengakses nilai atribut. Nilai diberikan oleh pengguna (jika tidak, nilai default akan digunakan).
hapus
bool repository_ctx.delete(path)Menghapus file atau direktori. Menampilkan bool, yang menunjukkan apakah file atau direktori benar-benar dihapus oleh panggilan ini.
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; or path ;
wajibJalur file yang akan dihapus, relatif terhadap direktori repositori, atau absolut. Dapat berupa jalur atau string. |
download
struct repository_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 ;
wajibDaftar 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 repository_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 ;
wajibDaftar 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 repository_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. |
ekstrak
None repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})Ekstrak arsip ke direktori repositori.
Parameter
Parameter | Deskripsi |
---|---|
archive
|
string; or Label; or path ;
jalurwajib ke arsip yang akan dibongkar, relatif terhadap direktori repositori. |
output
|
string; or Label; or path ;
default = ''jalur ke direktori tempat arsip akan diekstrak, relatif terhadap direktori repositori. |
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.
|
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. |
file
None repository_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 ;
jalurfile 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. |
name
string repository_ctx.nameNama repositori eksternal yang dibuat oleh aturan ini.
os
repository_os repository_ctx.osSuatu struct untuk mengakses informasi dari sistem.
patch
None repository_ctx.patch(patch_file, strip=0)Terapkan file patch ke direktori utama repositori eksternal. File patch harus berupa file format diff terpadu standar. Implementasi patch berbasis Bazel tidak mendukung pencocokan fuzz dan patch biner seperti alat command line patch.
Parameter
Parameter | Deskripsi |
---|---|
patch_file
|
string; or Label; or path ;
wajibFile patch yang akan diterapkan dapat berupa label, jalur relatif, atau jalur absolut. Jika jalur tersebut relatif, maka akan di-resolve ke direktori repositori. |
strip
|
default = 0 menghapus jumlah komponen utama yang ditentukan dari nama file. |
jalur
path repository_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 repository_ctx.read(path)Membaca konten file pada sistem file.
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; or Label; or path ;
jalurfile yang diperlukan untuk dibaca. |
report_progress
None repository_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 |
symlink
None repository_ctx.symlink(target, link_name)Membuat symlink pada sistem file.
Parameter
Parameter | Deskripsi |
---|---|
target
|
string; or Label; or path ;
wajibJalur yang harus diarahkan symlink. |
link_name
|
string; or Label; or path ;
wajibJalur symlink yang akan dibuat, relatif terhadap direktori repositori. |
template
None repository_ctx.template(path, template, substitutions={}, executable=True)Membuat file baru menggunakan
template
. Setiap kemunculan dalam template
dari kunci substitutions
akan diganti dengan nilai yang sesuai. Hasilnya ditulis dalam bahasa path
. Argumen executable
opsional (default-nya adalah true) dapat disetel untuk mengaktifkan atau menonaktifkan bit yang dapat dieksekusi.
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; or Label; or path ;
jalurfile yang diperlukan yang akan dibuat, relatif terhadap direktori repositori. |
template
|
string; or Label; or path ;
jaluryang diperlukan ke file template. |
substitutions
|
default = {} substitusi yang harus dibuat saat memperluas template. |
executable
|
default = True menyetel tanda yang dapat dieksekusi pada file yang dibuat, benar secara default. |
yang mana
path repository_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. |
None
.
workspace_root
path repository_ctx.workspace_rootJalur ke ruang kerja root pemanggilan bazel.