Kabuk Kuralları

. Sorun bildir Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

Kurallar

sh_binary

Kural kaynağını görüntüle
sh_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 []

"library" (kitaplık) listesi bu hedefin bir parçası haline getiriliyor. 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 sh_library kurallarını listelemek için kullanılmalıdır: srcs içindeki koda bağlı olarak yorumlanan program kaynak kodu. Dosyalar bu kurallar tarafından sağlanan uzantılar, bu hedefin runfiles arasında yer alacak.

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) data özelliği için de kullanılmaktadır.

sh_library

Kural kaynağını görüntüle
sh_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, hepsi 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 []

"library" (kitaplık) listesi bu hedefin bir parçası haline getiriliyor. 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 sh_library kurallarını listelemek için kullanılmalıdır: srcs içindeki koda bağlı olarak yorumlanan program kaynak kodu. Dosyalar bu kurallar tarafından sağlanan uzantılar, bu hedefin runfiles arasında yer alacak.

srcs

Etiket listesi; varsayılan değer []

Giriş dosyalarının listesi.

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 source komutunu kullanarak diğer komut dosyalarını yükleyebilir veya . komutunu kullanın.

sh_test

Kural kaynağını görüntüle
sh_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 []

"library" (kitaplık) listesi bu hedefin bir parçası haline getiriliyor. 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 sh_library kurallarını listelemek için kullanılmalıdır: srcs içindeki koda bağlı olarak yorumlanan program kaynak kodu. Dosyalar bu kurallar tarafından sağlanan uzantılar, bu hedefin runfiles arasında yer alacak.

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) data özelliği için de kullanılmaktadır.