BazelCon 2022 akan hadir pada 16-17 November ke New York dan online.
Daftar sekarang.

repositori_ctx

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.
Konteks aturan repositori yang berisi fungsi bantuan dan informasi tentang atribut. Anda mendapatkan objek repositori_ctx sebagai argumen ke fungsi implementation saat membuat aturan repositori.

Pelanggan

atraktif

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; or path; diperlukan
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 disediakan dan menampilkan struct yang berisi hash file sha256 dan integrity.

Parameter

Parameter Deskripsi
url string; or Iterable of strings; wajib diisi
Daftar URL duplikat yang mereferensikan file yang sama.
output string; or Label; or path; default = ''
jalur ke file output, yang terkait dengan direktori repositori.
sha256 default = ''
hash SHA-256 yang diharapkan dari file yang didownload. Nama ini harus cocok dengan hash SHA-256 file yang didownload. Menghilangkan SHA-256 adalah risiko keamanan karena file jarak jauh dapat berubah. Sebaiknya hapus kolom ini agar build Anda tidak bersifat hermetic. Pengembangan ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman.
executable default = False
menetapkan tanda yang dapat dieksekusi pada file yang dibuat, secara default salah.
allow_fail default = False
Jika ditetapkan, tunjukkan error dalam nilai yang ditampilkan, bukan memunculkan 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 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 hapus kolom ini agar build Anda tidak bersifat hermetic. Pengembangan ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman.

download_dan_ekstrak

struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='')

Mendownload file ke jalur output untuk URL yang disediakan, mengekstraknya, dan menampilkan struct yang berisi hash file yang didownload dengan kolom sha256 dan integrity.

Parameter

Parameter Deskripsi
url string; or Iterable of strings; wajib diisi
Daftar URL duplikat yang mereferensikan file yang sama.
output string; or Label; or path; default = ''
path ke direktori tempat arsip akan dibuka, relatif terhadap direktori repositori.
sha256 default = ''
hash SHA-256 yang diharapkan dari file yang didownload. Nama ini harus cocok dengan hash SHA-256 file yang didownload. Menghilangkan SHA-256 adalah risiko keamanan karena file jarak jauh dapat berubah. Sebaiknya hapus kolom ini agar build Anda tidak bersifat hermetic. Pengembangan ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman. Jika disediakan, cache repositori akan diperiksa terlebih dahulu untuk file dengan hash yang ditentukan; download hanya akan dilakukan jika file 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", ".ar", atau ".deb" di sini.
stripPrefix default = ''
awalan direktori untuk dihapus dari file yang diekstrak. Banyak arsip berisi direktori tingkat teratas yang berisi semua file dalam arsip. Alih-alih menentukan awalan ini terus-menerus 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 memunculkan 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 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 hapus kolom ini agar build Anda tidak bersifat hermetic. Pengembangan ini bersifat opsional untuk mempermudah pengembangan, tetapi harus ditetapkan sebelum pengiriman.

eksekusi

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 menjadi 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 ditetapkan 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='')

Ekstrak arsip ke direktori repositori.

Parameter

Parameter Deskripsi
archive string; or Label; or path; jalur yang diperlukan
ke arsip yang akan dibuka, relatif terhadap direktori repositori.
output string; or Label; or path; default = ''
path ke direktori tempat arsip akan dibuka, relatif terhadap direktori repositori.
stripPrefix default = ''
awalan direktori untuk dihapus dari file yang diekstrak. Banyak arsip berisi direktori tingkat teratas yang berisi semua file dalam arsip. Alih-alih menentukan awalan ini terus-menerus di build_file, kolom ini dapat digunakan untuk menghapusnya dari file yang diekstrak.

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 jalur yang diperlukan
untuk membuat file, terkait dengan direktori repositori.
content default = ''
konten file yang akan dibuat, kosong secara default.
executable default = True
menetapkan flag 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 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 utama repositori eksternal. File patch harus berupa file format berbeda terpadu standar. Penerapan patch native Bazel tidak mendukung pencocokan fuzz dan patch biner seperti alat command line patch.

Parameter

Parameter Deskripsi
patch_file string; or Label; or path; wajib ada
File patch yang akan diterapkan dapat berupa label, jalur relatif, atau jalur absolut. Jika itu adalah jalur relatif, ini akan me-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 jalur bersifat relatif, ini akan diselesaikan secara relatif terhadap direktori repositori. Jika jalurnya adalah label, jalur tersebut akan ditetapkan 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 adalah jalur, jalur tersebut akan menampilkan jalur tersebut sebagaimana adanya.

Parameter

Parameter Deskripsi
path string; or Label; or path; string dan label atau jalur
yang diperlukan untuk membuat jalur

baca

string repository_ctx.read(path)

Membaca konten file pada sistem file.

Parameter

Parameter Deskripsi
path string; or Label; or path; file
yang diperlukan untuk membaca.

report_progress

None repository_ctx.report_progress(status)

Memperbarui status progres untuk pengambilan repositori ini

Parameter

Parameter Deskripsi
status string; string wajib
yang menjelaskan status progres pengambilan saat ini

None repository_ctx.symlink(from, to)

Membuat symlink pada sistem file.

Parameter

Parameter Deskripsi
from string; or Label; or path; jalur wajib
yang harus dituju di symlink yang dibuat.
to string; or Label; or path; jalur
yang diperlukan symlink untuk dibuat, relatif terhadap direktori repositori.

template

None repository_ctx.template(path, template, substitutions={}, executable=True)

Membuat file baru menggunakan template. Setiap kemunculan pada template dari kunci substitutions akan diganti dengan nilai yang sesuai. Hasilnya ditulis dalam bahasa path. Argumen executable opsional (default ke true) dapat disetel untuk mengaktifkan atau menonaktifkan bit yang dapat dieksekusi.

Parameter

Parameter Deskripsi
path string; or Label; or path jalur yang diperlukan
untuk membuat file, terkait dengan direktori repositori.
template string; or Label; or path; jalur yang diperlukan
ke file template.
substitutions default = {}
adalah penggantian yang harus dilakukan saat meluaskan template.
executable default = True
menetapkan flag yang dapat dieksekusi pada file yang dibuat, true 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 wajib
Program untuk ditemukan di jalur.
Dapat menampilkan None.

ruang kerja_akar

path repository_ctx.workspace_root

Jalur ke ruang kerja root pemanggilan bazel.