lewati_repositori

Konteks aturan repositori yang berisi fungsi bantuan dan informasi tentang atribut. Anda mendapatkan objek repository_ctx sebagai argumen ke fungsi implementation saat membuat aturan repositori.

Anggota

attr

struct repository_ctx.attr

Struktur 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; atau path; wajib
Jalur 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, yaitu tanda yang bernilai true jika download berhasil diselesaikan, dan jika berhasil, hash file dengan kolom sha256 dan integrity.

Parameter

Parameter Deskripsi
url string; atau Iterable string; wajib
Daftar URL cermin yang mereferensikan file yang sama.
output string; atau Label; atau path; default adalah ''
jalur ke file output, relatif terhadap direktori repositori.
sha256 default adalah ''
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-paling, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Opsional untuk mempermudah pengembangan, tetapi harus disetel sebelum pengiriman.
executable default adalah False
menetapkan tanda yang dapat dieksekusi pada file yang dibuat, secara default salah (false).
allow_fail default adalah False
Jika disetel, tunjukkan error dalam nilai yang ditampilkan, bukan memunculkan error untuk download yang gagal
canonical_id default adalah ''
Jika disetel, batasi hit cache untuk kasus saat file ditambahkan ke cache dengan ID kanonis yang sama
auth default adalah {}
Dict opsional yang menentukan informasi autentikasi untuk beberapa URL.
integrity default adalah ''
Checksum yang diharapkan dari file yang didownload, dalam format Subresource Integrity. Checksum ini harus cocok dengan checksum file yang didownload. Menghilangkan checksum merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling-paling, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Opsional untuk mempermudah pengembangan, tetapi harus disetel 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 yang berupa true jika download berhasil diselesaikan, dan jika berhasil, hash file dengan kolom sha256 dan integrity.

Parameter

Parameter Deskripsi
url string; atau Iterable string; wajib
Daftar URL cermin 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 default adalah ''
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-paling, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Opsional untuk mempermudah pengembangan, tetapi harus disetel sebelum pengiriman. Jika disediakan, cache repositori akan diperiksa terlebih dahulu untuk menemukan file dengan hash tertentu; download hanya akan dicoba jika file tidak ditemukan di cache. Setelah berhasil didownload, file akan ditambahkan ke cache.
type defaultnya 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 adalah False
Jika disetel, tunjukkan error dalam nilai yang ditampilkan, bukan memunculkan error untuk download yang gagal
canonical_id default adalah ''
Jika disetel, batasi hit cache untuk kasus saat file ditambahkan ke cache dengan ID kanonis yang sama
auth default adalah {}
Dict opsional yang menentukan informasi autentikasi untuk beberapa URL.
integrity default adalah ''
Checksum yang diharapkan dari file yang didownload, dalam format Subresource Integrity. Checksum ini harus cocok dengan checksum file yang didownload. Menghilangkan checksum merupakan risiko keamanan karena file jarak jauh dapat berubah. Paling-paling, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Opsional untuk mempermudah pengembangan, tetapi harus disetel 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. Hal 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="")

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 required
Daftar argumen, elemen pertama harus berupa jalur ke program yang akan dieksekusi.
timeout default adalah 600
durasi maksimum perintah dalam detik (default adalah 600 detik).
environment default adalah {}
memaksa beberapa variabel lingkungan ditetapkan untuk diteruskan ke proses.
quiet default-nya 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.

ekstrak

None repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})

Ekstrak arsip ke direktori repositori.

Parameter

Parameter Deskripsi
archive string; atau Label; atau path; wajib
jalur ke arsip yang akan diekstrak, relatif terhadap direktori repositori.
output string; atau Label; atau path; default adalah ''
jalur ke direktori tempat arsip akan diekstrak, relatif terhadap direktori repositori.
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.
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. Hal 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)

Membuat file di direktori repositori dengan konten yang diberikan.

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, defaultnya benar (true).
legacy_utf8 default adalah True
mengenkode konten file ke UTF-8, defaultnya benar (true). Versi mendatang akan mengubah default dan menghapus parameter ini.

nama

string repository_ctx.name

Nama repositori eksternal yang dibuat oleh aturan ini.

os

repository_os repository_ctx.os

Struktur untuk mengakses informasi dari sistem.

patch

None repository_ctx.patch(patch_file, strip=0)

Terapkan file patch ke direktori root repositori eksternal. File patch harus berupa file format diff terpadu standar. Implementasi patch native Bazel tidak mendukung kecocokan fuzz dan patch biner seperti alat command line patch.

Parameter

Parameter Deskripsi
patch_file string; atau Label; atau path; wajib
File patch yang akan diterapkan, dapat berupa label, jalur relatif, atau jalur absolut. Jika berupa jalur relatif, jalur ini akan diselesaikan ke direktori repositori.
strip default adalah 0
menghapus sejumlah komponen awal yang ditentukan dari nama file.

jalur

path repository_ctx.path(path)

Menampilkan jalur dari string, label, atau jalur. Jika jalur bersifat relatif, jalur akan diselesaikan relatif terhadap direktori repositori. Jika jalur adalah label, jalur tersebut akan di-resolve ke jalur file yang sesuai. Perhatikan bahwa repositori jarak jauh dieksekusi selama fase analisis dan oleh karena itu tidak dapat bergantung pada hasil target (label harus mengarah ke file yang tidak dibuat). Jika jalur adalah jalur, jalur tersebut akan ditampilkan apa adanya.

Parameter

Parameter Deskripsi
path string; atau Label; atau path; wajib
string, label, atau jalur yang akan digunakan untuk membuat jalur dari

baca

string repository_ctx.read(path)

Membaca konten file di sistem file.

Parameter

Parameter Deskripsi
path string; atau Label; atau path; wajib diisi
jalur file yang akan dibaca.

report_progress

None repository_ctx.report_progress(status='')

Memperbarui status progres untuk pengambilan ekstensi repositori atau modul ini

Parameter

Parameter Deskripsi
status string; default adalah ''
string yang menjelaskan status saat ini dari progres pengambilan

None repository_ctx.symlink(target, link_name)

Membuat link simbolis pada sistem file.

Parameter

Parameter Deskripsi
target string; atau Label; atau path; required
Jalur yang harus dituju oleh symlink.
string; atau Label; atau path; wajib
Jalur 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 kunci substitutions di template akan diganti dengan nilai yang sesuai. Hasilnya ditulis dalam path. Argumen executable opsional (default ke benar) dapat disetel untuk mengaktifkan atau menonaktifkan bit yang dapat dieksekusi.

Parameter

Parameter Deskripsi
path string; atau Label; atau path; wajib
jalur file yang akan dibuat, relatif terhadap direktori repositori.
template string; atau Label; atau path; wajib
jalur ke file template.
substitutions default adalah {}
substitusi yang akan dilakukan saat memperluas template.
executable defaultnya adalah True
menetapkan tanda yang dapat dieksekusi pada file yang dibuat, defaultnya benar (true).

yang mana

path repository_ctx.which(program)

Menampilkan jalur program yang sesuai atau None jika tidak ada program seperti itu di jalur.

Parameter

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

workspace_root

path repository_ctx.workspace_root

Jalur ke ruang kerja root pemanggilan bazel.