implementation
saat membuat aturan repositori.
Anggota
- attr
- hapus
- download
- download_and_extract
- eksekusi
- ekstrak
- file
- name
- os
- patch
- path
- baca
- report_progress
- symlink
- template
- yang
- workspace_root
attr
struct repository_ctx.attr
hapus
bool repository_ctx.delete(path)
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='')
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 ;
wajibDaftar 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={})
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 ;
wajibDaftar 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="")
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={})
Parameter
Parameter | Deskripsi |
---|---|
archive
|
string; or Label; or path ;
wajibjalur 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)
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; or Label; or path ;
wajibjalur 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
OS
repository_os repository_ctx.os
patch
None repository_ctx.patch(patch_file, strip=0)
Parameter
Parameter | Deskripsi |
---|---|
patch_file
|
string; or Label; or path ;
wajibFile 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)
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)
Parameter
Parameter | Deskripsi |
---|---|
path
|
string; or Label; or path ;
wajibjalur file yang akan dibaca. |
report_progress
None repository_ctx.report_progress(status='')
Parameter
Parameter | Deskripsi |
---|---|
status
|
string ;
default = ''string yang menjelaskan status progres pengambilan saat ini |
symlink
None repository_ctx.symlink(target, link_name)
Parameter
Parameter | Deskripsi |
---|---|
target
|
string; or Label; or path ;
wajibJalur yang harus dituju 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)
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 ;
wajibjalur file yang akan dibuat, relatif terhadap direktori repositori. |
template
|
string; or Label; or path ;
wajibjalur 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)
Parameter
Parameter | Deskripsi |
---|---|
program
|
wajib Program yang akan ditemukan di jalur. |
None
.
workspace_root
path repository_ctx.workspace_root