Aturan
sh_binary
Lihat sumber aturansh_binary(name, deps, srcs, data, args, aspect_hints, compatible_with, deprecation, env, env_inherit, exec_compatible_with, exec_group_compatible_with, exec_properties, features, output_licenses, package_metadata, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
Aturan sh_binary
digunakan untuk mendeklarasikan skrip shell yang dapat dieksekusi.
(sh_binary
adalah nama yang tidak tepat: outputnya tidak selalu biner.) Aturan ini memastikan
bahwa semua dependensi dibangun, dan muncul di area runfiles
pada waktu eksekusi.
Sebaiknya beri nama aturan sh_binary()
Anda sesuai dengan nama skrip tanpa
ekstensi (misalnya, .sh
); nama aturan dan nama file harus berbeda.
sh_binary
mematuhi shebang, sehingga interpreter yang tersedia dapat digunakan (mis.
#!/bin/zsh
)
Contoh
Untuk skrip shell sederhana tanpa dependensi dan beberapa file data:
sh_binary( name = "foo", srcs = ["foo.sh"], data = glob(["datafiles/*.txt"]), )
Argumen
Atribut | |
---|---|
name |
Nama; wajib Nama unik untuk target ini. |
deps
|
Daftar label; defaultnya adalah deps
di Atribut umum yang ditentukan oleh
sebagian besar aturan build.
Atribut ini harus digunakan untuk mencantumkan aturan |
srcs
|
Daftar label; defaultnya adalah
Atribut ini harus digunakan untuk mencantumkan file sumber skrip shell yang termasuk dalam
library ini. Skrip dapat memuat skrip lain menggunakan perintah |
env_inherit
|
Daftar string; defaultnya adalah |
sh_library
Lihat sumber aturansh_library(name, deps, srcs, data, aspect_hints, compatible_with, deprecation, exec_compatible_with, exec_group_compatible_with, exec_properties, features, package_metadata, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
Penggunaan utama aturan ini adalah untuk menggabungkan
"pustaka" logis yang terdiri dari skrip terkait—program dalam
bahasa yang diinterpretasikan yang tidak memerlukan kompilasi atau penautan,
seperti Bourne shell—dan data apa pun yang dibutuhkan program tersebut saat
runtime. "Pustaka" tersebut kemudian dapat digunakan dari
atribut data
dari satu atau
beberapa aturan sh_binary
.
Anda dapat menggunakan aturan filegroup
untuk menggabungkan data
file.
Dalam bahasa pemrograman yang diinterpretasikan, tidak selalu ada perbedaan yang jelas antara "kode" dan "data": bagaimanapun, program hanyalah "data" dari sudut pandang interpreter. Oleh karena itu, aturan ini memiliki tiga atribut yang pada dasarnya setara:
srcs
, deps
, dan data
.
Implementasi saat ini tidak membedakan elemen-elemen dalam daftar ini.
Ketiga atribut ini menerima aturan, file sumber, dan file yang dihasilkan.
Namun, sebaiknya gunakan atribut untuk tujuan biasanya (seperti pada aturan lainnya).
Contoh
sh_library( name = "foo", data = [ ":foo_service_script", # an sh_binary with srcs ":deploy_foo", # another sh_binary with srcs ], )
Argumen
Atribut | |
---|---|
name |
Nama; wajib Nama unik untuk target ini. |
deps
|
Daftar label; defaultnya adalah deps
di Atribut umum yang ditentukan oleh
sebagian besar aturan build.
Atribut ini harus digunakan untuk mencantumkan aturan |
srcs
|
Daftar label; defaultnya adalah
Atribut ini harus digunakan untuk mencantumkan file sumber skrip shell yang termasuk dalam
library ini. Skrip dapat memuat skrip lain menggunakan perintah |
sh_test
Lihat sumber aturansh_test(name, deps, srcs, data, args, aspect_hints, compatible_with, deprecation, env, env_inherit, exec_compatible_with, exec_group_compatible_with, exec_properties, features, flaky, local, package_metadata, restricted_to, shard_count, size, tags, target_compatible_with, testonly, timeout, toolchains, visibility)
Aturan sh_binary
digunakan untuk mendeklarasikan skrip shell yang dapat dieksekusi.
(sh_binary
adalah nama yang tidak tepat: outputnya tidak selalu biner.) Aturan ini memastikan
bahwa semua dependensi dibangun, dan muncul di area runfiles
pada waktu eksekusi.
Sebaiknya beri nama aturan sh_binary()
Anda sesuai dengan nama skrip tanpa
ekstensi (misalnya, .sh
); nama aturan dan nama file harus berbeda.
sh_binary
mematuhi shebang, sehingga interpreter yang tersedia dapat digunakan (mis.
#!/bin/zsh
)
Contoh
Untuk skrip shell sederhana tanpa dependensi dan beberapa file data:
sh_binary( name = "foo", srcs = ["foo.sh"], data = glob(["datafiles/*.txt"]), )
Argumen
Atribut | |
---|---|
name |
Nama; wajib Nama unik untuk target ini. |
deps
|
Daftar label; defaultnya adalah deps
di Atribut umum yang ditentukan oleh
sebagian besar aturan build.
Atribut ini harus digunakan untuk mencantumkan aturan |
srcs
|
Daftar label; defaultnya adalah
Atribut ini harus digunakan untuk mencantumkan file sumber skrip shell yang termasuk dalam
library ini. Skrip dapat memuat skrip lain menggunakan perintah |