Kurallar
sh_binary
Kural kaynağını görüntülesh_binary(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, exec_compatible_with, exec_properties, features, licenses, output_licenses, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
Yürütülebilir kabuk komut dosyalarını bildirmek için sh_binary
kuralı kullanılır.
(sh_binary
yanlış bir terimdir: Çıkışları her zaman ikili sayı olmayabilir.) Bu kural,
oluşturulur ve yürütme zamanında runfiles
alanında görünür.
sh_binary()
kurallarınızı, komut dosyası adından çıkarıldığında almanızı öneririz.
uzantı (ör. .sh
); kural adı ile dosya adı birbirinden farklı olmalıdır.
sh_binary
, tebüllere saygı gösterir, bu nedenle uygun bir çevirmen (ör.
#!/bin/zsh
) olarak değiştirildi
Örnek
Bağımlılığı olmayan basit bir kabuk komut dosyası ve bazı veri dosyaları için:
sh_binary( name = "foo", srcs = ["foo.sh"], data = glob(["datafiles/*.txt"]), )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; zorunlu Bu hedef için benzersiz bir ad. |
deps
|
Etiket listesi; varsayılan değer deps ile ilgili genel yorumları göster
tarafından tanımlanan tipik
çoğu derleme kuralına bakın.
Bu özellik, aşağıdakileri sağlayan diğer |
srcs
|
Etiket listesi; zorunlu Kabuk komut dosyasını içeren dosya.
Bu özellik, öğesi kabuk komut dosyası olan bir tekil liste olmalıdır.
Bu komut dosyası yürütülebilir olmalıdır ve kaynak dosya ya da oluşturulmuş bir dosya olabilir.
Çalışma zamanında gereken diğer tüm dosyalar (komut dosyaları veya veriler)
|
sh_library
Kural kaynağını görüntülesh_library(name, deps, srcs, data, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)
Bu kuralın ana kullanımı, bir mantıksal
"kitaplık" alakalı komut dosyalarından, yani
derleme veya bağlantı gerektirmeyen yorumlanan dil,
örneğin Bourne kabuğu gibi, bu programların
biraz daha belirir. Bunun gibi "kütüphaneler" kullanılabilecek şekilde
Bir veya birkaç öğenin data
özelliği
sh_binary
kural daha var.
Verileri birleştirmek için filegroup
kuralını kullanabilirsiniz
dosyası olarak da kaydedebilir.
Yorumlanan programlama dillerinde her zaman
"kod" arasındaki fark ve "data"dır. Sonuçta program
yalnızca "veriler" çok önemlidir. Bu nedenle
bu kuralın, tümü temelde eşdeğer olan üç özelliği vardır:
srcs
, deps
ve data
.
Mevcut uygulama, bu listelerin öğelerini birbirinden ayırt etmiyor.
Üç özellik de kuralları, kaynak dosyaları ve oluşturulan dosyaları kabul eder.
Bununla birlikte, özelliklerin genel amaçları doğrultusunda kullanılması (diğer kurallarda olduğu gibi) iyi bir uygulamadır.
Örnekler
sh_library( name = "foo", data = [ ":foo_service_script", # an sh_binary with srcs ":deploy_foo", # another sh_binary with srcs ], )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; zorunlu Bu hedef için benzersiz bir ad. |
deps
|
Etiket listesi; varsayılan değer deps ile ilgili genel yorumları göster
tarafından tanımlanan tipik
çoğu derleme kuralına bakın.
Bu özellik, aşağıdakileri sağlayan diğer |
srcs
|
Etiket listesi; varsayılan değer
Bu özellik, hedefine ait kabuk komut dosyası kaynak dosyalarını listelemek için kullanılmalıdır
bu kitaplıktan faydalanabilirsiniz. Komut dosyaları, kabuğun |
sh_test
Kural kaynağını görüntülesh_test(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, env_inherit, exec_compatible_with, exec_properties, features, flaky, licenses, local, restricted_to, shard_count, size, tags, target_compatible_with, testonly, timeout, toolchains, visibility)
sh_test()
kuralı, Bourne kabuk komut dosyası olarak yazılmış bir test oluşturur.
Bkz. tüm test kurallarında ortak olan özellikler (*_test).
Örnekler
sh_test( name = "foo_integration_test", size = "small", srcs = ["foo_integration_test.sh"], deps = [":foo_sh_lib"], data = glob(["testdata/*.txt"]), )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; zorunlu Bu hedef için benzersiz bir ad. |
deps
|
Etiket listesi; varsayılan değer deps ile ilgili genel yorumları göster
tarafından tanımlanan tipik
çoğu derleme kuralına bakın.
Bu özellik, aşağıdakileri sağlayan diğer |
srcs
|
Etiket listesi; zorunlu Kabuk komut dosyasını içeren dosya.
Bu özellik, öğesi kabuk komut dosyası olan bir tekil liste olmalıdır.
Bu komut dosyası yürütülebilir olmalıdır ve kaynak dosya ya da oluşturulmuş bir dosya olabilir.
Çalışma zamanında gereken diğer tüm dosyalar (komut dosyaları veya veriler)
|