Kabuk Kuralları

Sorun bildir Kaynağı görüntüle Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Kurallar

sh_binary

Kural kaynağını görüntüleme
sh_binary(name, deps, srcs, data, args, 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)

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ından sonra uzantı olmadan adlandırmanızı öneririz (ö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 []'dir.

Bu hedefte toplanacak "kitaplık" hedeflerinin listesi. deps ile ilgili genel yorumları Çoğu derleme kuralı tarafından tanımlanan tipik özellikler bölümünde bulabilirsiniz.

Bu özellik, sh_library içindeki kodun bağlı olduğu yorumlanmış program kaynak kodunu sağlayan diğer srcs kurallarını listelemek için kullanılmalıdır. Bu kurallar tarafından sağlanan dosyalar, bu hedefin runfiles arasında yer alır.

srcs

Etiket listesi; varsayılan değer []'dir.

Giriş dosyalarının listesi.

Bu özellik, bu kitaplığa ait kabuk komut dosyası kaynak dosyalarını listelemek için kullanılmalıdır. Komut dosyaları, kabuğun source veya . komutunu kullanarak diğer komut dosyalarını yükleyebilir.

env_inherit

Dizelerin listesi; varsayılan değer []'dır.

sh_library

Kural kaynağını görüntüleme
sh_library(name, deps, srcs, data, compatible_with, deprecation, exec_compatible_with, exec_group_compatible_with, exec_properties, features, package_metadata, restricted_to, tags, target_compatible_with, testonly, toolchains, 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 []'dir.

Bu hedefte toplanacak "kitaplık" hedeflerinin listesi. deps ile ilgili genel yorumları Çoğu derleme kuralı tarafından tanımlanan tipik özellikler bölümünde bulabilirsiniz.

Bu özellik, sh_library içindeki kodun bağlı olduğu yorumlanmış program kaynak kodunu sağlayan diğer srcs kurallarını listelemek için kullanılmalıdır. Bu kurallar tarafından sağlanan dosyalar, bu hedefin runfiles arasında yer alır.

srcs

Etiket listesi; varsayılan değer []'dir.

Giriş dosyalarının listesi.

Bu özellik, bu kitaplığa ait kabuk komut dosyası kaynak dosyalarını listelemek için kullanılmalıdır. Komut dosyaları, kabuğun source veya . komutunu kullanarak diğer komut dosyalarını yükleyebilir.

sh_test

Kural kaynağını görüntüleme
sh_test(name, deps, srcs, data, args, 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)

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ından sonra uzantı olmadan adlandırmanızı öneririz (ö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 []'dir.

Bu hedefte toplanacak "kitaplık" hedeflerinin listesi. deps ile ilgili genel yorumları Çoğu derleme kuralı tarafından tanımlanan tipik özellikler bölümünde bulabilirsiniz.

Bu özellik, sh_library içindeki kodun bağlı olduğu yorumlanmış program kaynak kodunu sağlayan diğer srcs kurallarını listelemek için kullanılmalıdır. Bu kurallar tarafından sağlanan dosyalar, bu hedefin runfiles arasında yer alır.

srcs

Etiket listesi; varsayılan değer []'dir.

Giriş dosyalarının listesi.

Bu özellik, bu kitaplığa ait kabuk komut dosyası kaynak dosyalarını listelemek için kullanılmalıdır. Komut dosyaları, kabuğun source veya . komutunu kullanarak diğer komut dosyalarını yükleyebilir.