lewati_repositori

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

Anggota

attr

struct repository_ctx.attr

Sebuah struct untuk mengakses nilai-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; 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, tanda berupa 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 hasil duplikasi yang merujuk pada file yang sama.
output string; or Label; or path; default = ''
jalur ke file output, relatif terhadap direktori repositori.
sha256 default = ''
{i>hash<i} SHA-256 yang diharapkan dari file yang didownload. Ini harus cocok dengan hash SHA-256 file yang didownload. Menghilangkan SHA-256 karena file jarak jauh dapat berubah merupakan risiko keamanan. Sebaiknya menghilangkan kolom ini akan membuat build Anda menjadi non-hermetik. Hal ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman.
executable default = Salah
mengatur penanda yang dapat dieksekusi pada file yang dibuat, {i>false<i} secara {i>default<i}.
allow_fail default = Salah
Jika ditetapkan, tunjukkan error dalam nilai yang ditampilkan, bukan menampilkan error untuk download yang gagal
canonical_id default = ''
Jika ditetapkan, batasi hit cache ke kasus ketika file ditambahkan ke cache dengan ID kanonis yang sama
auth default = {}
Dikte opsional yang menentukan informasi autentikasi untuk beberapa URL.
integrity default = ''
Checksum yang diharapkan dari file yang didownload, dalam format Integritas Subresource. Ini harus cocok dengan checksum file yang didownload. Menghilangkan checksum karena file jarak jauh dapat berubah merupakan risiko keamanan. Sebaiknya menghilangkan kolom ini akan membuat build Anda menjadi non-hermetik. Hal ini bersifat opsional untuk mempermudah pengembangan, 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, flag berupa 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 hasil duplikasi yang merujuk pada file yang sama.
output string; or Label; or path; default = ''
jalur ke direktori tempat arsip akan dibongkar, relatif terhadap direktori repositori.
sha256 default = ''
{i>hash<i} SHA-256 yang diharapkan dari file yang didownload. Ini harus cocok dengan hash SHA-256 file yang didownload. Menghilangkan SHA-256 karena file jarak jauh dapat berubah merupakan risiko keamanan. Sebaiknya menghilangkan kolom ini akan membuat build Anda menjadi non-hermetik. Hal 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 diunduh. 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 dihapus dari file yang diekstrak. Banyak arsip berisi direktori tingkat atas 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 = Salah
Jika ditetapkan, tunjukkan error dalam nilai yang ditampilkan, bukan menampilkan error untuk download yang gagal
canonical_id default = ''
Jika ditetapkan, batasi hit cache ke kasus ketika file ditambahkan ke cache dengan ID kanonis yang sama
auth default = {}
Dikte opsional yang menentukan informasi autentikasi untuk beberapa URL.
integrity default = ''
Checksum yang diharapkan dari file yang didownload, dalam format Integritas Subresource. Ini harus cocok dengan checksum file yang didownload. Menghilangkan checksum karena file jarak jauh dapat berubah merupakan risiko keamanan. Sebaiknya menghilangkan kolom ini akan membuat build Anda menjadi non-hermetik. Hal ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman.
rename_files default = {}
Dik 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="")

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 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 diatur untuk diteruskan ke proses.
quiet default = Benar
Jika stdout dan stderr harus dicetak ke terminal.
working_directory default = ""
Direktori kerja untuk eksekusi perintah. Dapat 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; wajib
jalur ke arsip yang akan dibuka, relatif terhadap direktori repositori.
output string; or Label; or path; default = ''
jalur ke direktori tempat arsip akan dibongkar, relatif terhadap direktori repositori.
stripPrefix default = ''
awalan direktori yang dihapus dari file yang diekstrak. Banyak arsip berisi direktori tingkat atas 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 = {}
Dik 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; wajib
jalur file yang akan dibuat, relatif terhadap direktori repositori.
content default = ''
isi file yang akan dibuat, kosong secara {i>default<i}.
executable default = Benar
menetapkan penanda yang dapat dieksekusi pada file yang dibuat, {i>true<i} secara {i>default<i}.
legacy_utf8 default = Benar
mengenkode konten file ke UTF-8, true secara default. 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

Sebuah struct 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 perbedaan terpadu standar. Implementasi {i>patch<i} asli Bazel tidak mendukung pencocokan {i>fuzz<i} dan {i>biner patch<i} seperti alat baris perintah {i>patch<i}.

Parameter

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

jalur

path repository_ctx.path(path)

Menampilkan jalur dari string, label, atau jalur. Jika jalur bersifat relatif, jalur tersebut akan diselesaikan secara relatif terhadap direktori repositori. Jika jalur adalah label, jalur itu akan menjadi jalur file yang sesuai. Perlu diperhatikan 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, ini akan mengembalikan jalur tersebut sebagaimana adanya.

Parameter

Parameter Deskripsi
path string; or Label; or path; wajib
{i>string<i}, label, atau jalur yang menjadi asal pembuatan jalur

baca

string repository_ctx.read(path)

Membaca isi file pada sistem file.

Parameter

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

report_progress

None repository_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

None repository_ctx.symlink(target, link_name)

Membuat symlink pada sistem file.

Parameter

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

Parameter

Parameter Deskripsi
path string; or Label; or path; wajib
jalur file yang akan dibuat, relatif terhadap direktori repositori.
template string; or Label; or path; wajib
jalur ke file template.
substitutions default = {}
substitusi yang harus dibuat saat memperluas {i>template<i}.
executable default = Benar
menetapkan penanda yang dapat dieksekusi pada file yang dibuat, {i>true<i} secara {i>default<i}.

yang mana

path repository_ctx.which(program)

Menampilkan jalur program yang sesuai atau Tidak ada jika tidak ada program semacam itu di jalur.

Parameter

Parameter Deskripsi
program wajib
Program yang akan ditemukan di jalur.
Mungkin menampilkan None.

workspace_root

path repository_ctx.workspace_root

Jalur ke ruang kerja root panggilan bazel.