Kurallar
sh_binary
Kural kaynağını göstersh_binary(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, env_inherit, exec_compatible_with, exec_properties, features, 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 terimdir: Çıktı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ından (ör..sh
) çıkarılarak adlandırmanızı öneririz. Kural adı ve dosya adı farklı olmalıdır.
sh_binary
, shebang'lara saygı gösterdiğinden 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
|
Etiketler listesi; varsayılan değer deps ile ilgili genel yorumları Çoğu derleme kuralı tarafından tanımlanan tipik özellikler başlıklı makalede bulabilirsiniz.
Bu özellik, |
srcs
|
Etiketler 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 |
env_inherit
|
Dize listesi; varsayılan değer: |
sh_library
Kural kaynağını görüntülesh_library(name, deps, srcs, data, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
Bu kuralın temel amacı, ilgili komut dosyalarından (Bourne kabuğu gibi derleme veya bağlama gerektirmeyen bir yorumlanmış dilde yazılmış programlar) ve bu programların çalışma zamanında ihtiyaç duyduğu tüm verilerden oluşan mantıksal bir "kitaplık" oluşturmaktır. Bu tür "kitaplıklar" daha sonra bir veya daha fazla sh_binary
kuralının data
özelliğinden kullanılabilir.
Veri dosyalarını birleştirmek için filegroup
kuralını kullanabilirsiniz.
Yorumlanmış programlama dillerinde "kod" ile "veri" arasında her zaman net bir ayrım yoktur: Sonuçta program, yorumlayıcının bakış açısından yalnızca "veridir". Bu nedenle bu kural, tümü temelde eşdeğer olan üç özelliğe sahiptir: srcs
, deps
ve data
.
Mevcut uygulamada bu listelerin öğeleri birbirinden ayırt edilmez.
Bu üç özellik de kuralları, kaynak dosyaları ve oluşturulan dosyaları kabul eder.
Ancak özellikleri normal amaçları için kullanmak (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; gerekli Bu hedef için benzersiz bir ad. |
deps
|
Etiketler listesi; varsayılan değer deps ile ilgili genel yorumları Çoğu derleme kuralı tarafından tanımlanan tipik özellikler başlıklı makalede bulabilirsiniz.
Bu özellik, |
srcs
|
Etiket listesi; varsayılan
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ülesh_test(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, env_inherit, exec_compatible_with, exec_properties, features, flaky, local, restricted_to, shard_count, size, tags, target_compatible_with, testonly, timeout, toolchains, visibility)
sh_binary
kuralı, yürütülebilir kabuk komut dosyalarını bildirmek için kullanılır.
(sh_binary
yanlış bir terimdir: Çıktı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ından (ör..sh
) çıkarılarak adlandırmanızı öneririz. Kural adı ve dosya adı farklı olmalıdır.
sh_binary
, shebang'lara saygı gösterdiğinden mevcut herhangi bir yorumlayıcı kullanılabilir (ör.
#!/bin/zsh
) olarak değiştirildi
Ö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 deps ile ilgili genel yorumları Çoğu derleme kuralı tarafından tanımlanan tipik özellikler başlıklı makalede bulabilirsiniz.
Bu özellik, |
srcs
|
Etiket listesi; varsayılan
Bu özellik, bu kitaplığa ait kabuk komut dosyası kaynak dosyalarını listelemek için kullanılmalıdır. Komut dosyaları, kabuğun |