Kurallar
sh_binary
Kural kaynağını görüntülemesh_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)
sh_binary
kuralı, yürütülebilir kabuk komut dosyalarını bildirmek için kullanılır.
(sh_binary
yanlış bir adlandırmadır: Çıkışları mutlaka ikili dosyalar değildir.) Bu kural, tüm bağımlılıkların oluşturulmasını ve yürütme sırasında runfiles
alanında görünmesini sağlar.
sh_binary()
kurallarınızı, komut dosyasının adını kullanarak adlandırmanızı öneririz. Uzantı adlandırmaya dahil edilmez (ör. .sh
). Kural adı ve dosya adı farklı olmalıdır.
sh_binary
, shebang'lere saygı gösterir. Bu nedenle, mevcut herhangi bir yorumlayıcı kullanılabilir (ör.
#!/bin/zsh
)
Örnek
Bağımlılığı olmayan ve bazı veri dosyaları içeren basit bir kabuk komut dosyası 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
hakkındaki genel yorumları Çoğu derleme kuralı tarafından tanımlanan
tipik özellikler bölümünde bulabilirsiniz.
Bu özellik, |
srcs
|
Etiket listesi; zorunlu Kabuk komut dosyasını içeren dosya.
Bu özellik, öğesi kabuk komut dosyası olan tek öğeli bir liste olmalıdır.
Bu komut dosyası yürütülebilir olmalı ve kaynak dosya veya oluşturulmuş dosya olabilir.
Çalışma zamanında gerekli olan diğer tüm dosyalar (komut dosyaları veya veriler) |
sh_library
Kural kaynağını görüntülemesh_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 temel kullanım amacı, ilgili komut dosyalarından (yorumlanmış bir dildeki, derleme veya bağlantı gerektirmeyen programlar; örneğin Bourne kabuğu) ve bu programların çalışma zamanında ihtiyaç duyduğu verilerden oluşan mantıksal bir "kitaplığı" bir araya getirmektir. Bu tür "kitaplıklar" daha sonra bir veya daha fazla sh_binary
kuralının data
özelliğinden kullanılabilir.
Veri dosyalarını toplamak için filegroup
kuralını kullanabilirsiniz.
Yorumlanan programlama dillerinde "kod" ve "veri" arasında her zaman net bir ayrım yoktur. Sonuçta program, yorumlayıcının bakış açısıyla yalnızca "veri"dir. Bu nedenle, bu kuralın üç özelliği vardır ve bu özelliklerin hepsi temelde eşdeğerdir: srcs
, deps
ve data
.
Mevcut uygulama, bu listelerdeki öğeler arasında ayrım yapmaz.
Üç özelliğin tümü kuralları, kaynak dosyaları ve oluşturulan dosyaları kabul eder.
Ancak, diğer kurallarda olduğu gibi, özellikleri normal amaçları için kullanmak 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
hakkındaki genel yorumları Çoğu derleme kuralı tarafından tanımlanan
tipik özellikler bölümünde bulabilirsiniz.
Bu özellik, |
srcs
|
Etiket listesi; varsayılan değer
Bu özellik, bu kitaplığa ait kabuk komut dosyası kaynak dosyalarını listelemek için kullanılmalıdır. Komut dosyaları, kabuğun |
sh_test
Kural kaynağını görüntülemesh_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.
Tüm test kurallarında (*_test) ortak olan özellikleri inceleyin.
Ö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
hakkındaki genel yorumları Çoğu derleme kuralı tarafından tanımlanan
tipik özellikler bölümünde bulabilirsiniz.
Bu özellik, |
srcs
|
Etiket listesi; zorunlu Kabuk komut dosyasını içeren dosya.
Bu özellik, öğesi kabuk komut dosyası olan tek öğeli bir liste olmalıdır.
Bu komut dosyası yürütülebilir olmalı ve kaynak dosya veya oluşturulmuş dosya olabilir.
Çalışma zamanında gerekli olan diğer tüm dosyalar (komut dosyaları veya veriler) |