.
İşlem oluşturma işlevleri sağlayan modül. Bu modüle ctx.actions
adresinden erişebilirsiniz.
Üyeler
- bağımsız değişkenler
- declare_directory
- declare_file
- declare_symlink
- do_nothing
- expand_template
- koşu
- run_shell
- sembolik bağlantı
- template_dict
- yazma
bağımsız değişkenler
Args actions.args()
declare_directory
File actions.declare_directory(filename, *, sibling=None)
Args.add_all()
kullanılarak genişletilebilir. declare_directory öğesinin genişletilmiş içeriğinde yalnızca normal dosyalar ve dizinler bulunabilir.
Parametreler
Parametre | Açıklama |
---|---|
filename
|
zorunlu "Kardeş" yoksa sağlanan yeni dizin yolunu gösterir. Aksi takdirde, dosya için temel bir ad ('sibling' bir dizini tanımlar). |
sibling
|
File (Dosya); veya None ;
varsayılan değer: None Yeni bildirilen dizinle aynı dizinde bulunan bir dosya. Dosya geçerli pakette olmalıdır. |
declare_file
File actions.declare_file(filename, *, sibling=None)
sibling
belirtilmezse dosya adı paket dizinine göre belirlenir. Aksi takdirde dosya, sibling
ile aynı dizinde olur. Dosyalar, geçerli paketin dışında oluşturulamaz.Bir dosyayı bildirmeye ek olarak, dosyayı yayınlayan bir işlem de oluşturmanız gerektiğini unutmayın. Bu işlemin oluşturulması, döndürülen File
nesnesinin işlemin oluşturma işlevine iletilmesini gerektirir.
Önceden bildirilmiş çıkış dosyalarının bu işlev kullanılarak bildirilmesinin gerekmediğini (ve bildirilemeyeceğini) unutmayın. Bunun yerine, ctx.outputs
öğesinden File
nesnesini alabilirsiniz. Kullanım örneğini inceleyin.
Parametreler
Parametre | Açıklama |
---|---|
filename
|
zorunlu "Kardeş" yoksa sağlanan yeni dosyanın yolunu gösterir. Aksi takdirde, dosyanın temel adı ('sibling' bir dizini belirler). |
sibling
|
File (Dosya); veya None ;
varsayılan değer: None Yeni oluşturulan dosyayla aynı dizinde bulunan bir dosya. Dosya geçerli pakette olmalıdır. |
declare_symlink
File actions.declare_symlink(filename, *, sibling=None)
Parametreler
Parametre | Açıklama |
---|---|
filename
|
zorunlu "Kardeş" yoksa sağlanan yeni sembolik bağlantının mevcut pakete göre yolunu gösterir. Aksi takdirde, dosya için temel bir ad ('sibling' bir dizini tanımlar). |
sibling
|
File (Dosya); veya None ;
varsayılan değer: None Yeni bildirilen sembolik bağlantıyla aynı dizinde bulunan bir dosya. |
do_nothing
None
actions.do_nothing(mnemonic, inputs=[])
Parametreler
Parametre | Açıklama |
---|---|
mnemonic
|
zorunlu İşlemin tek kelimelik bir açıklaması, örneğin, CppCompile veya GoLink. |
inputs
|
sequence of Files; veya depset;
varsayılan ayar [] İşlemin giriş dosyalarının listesi. |
expand_template
None
actions.expand_template(template, output, substitutions={}, is_executable=False, computed_substitutions=unbound)
substitutions
sözlüğü kullanılarak değiştirilecek. Şablonda bir sözlük anahtarı göründüğünde (veya önceki bir değiştirme işleminin sonucunda), söz konusu anahtar ilişkili değerle değiştirilir. Anahtarlar için özel bir söz dizimi yoktur. Örneğin, çakışmaları önlemek için küme parantezleri kullanabilirsiniz (örneğin, {KEY}
). Kullanım örneğini inceleyin.
Parametreler
Parametre | Açıklama |
---|---|
template
|
zorunlu UTF-8 olarak kodlanmış bir metin dosyası olan şablon dosyası. |
output
|
zorunlu UTF-8 olarak kodlanmış bir metin dosyası olan çıkış dosyası. |
substitutions
|
varsayılan değer {} Şablonu genişletirken yapılacak değişiklikler. |
is_executable
|
varsayılan değer False Çıkış dosyasının yürütülebilir olup olmayacağı. |
computed_substitutions
|
TemplateDict;
varsayılan değer: unbound Şablonu genişletirken yapılacak değişiklikler. |
run
None
actions.run(outputs, inputs=[], unused_inputs_list=None, executable, tools=unbound, arguments=[], mnemonic=None, progress_message=None, use_default_shell_env=False, env=None, execution_requirements=None, input_manifests=None, exec_group=None, shadowed_action=None, resource_set=None, toolchain=unbound)
Parametreler
Parametre | Açıklama |
---|---|
outputs
|
sequence of Files;
gerekli İşlemin çıkış dosyalarının listesi. |
inputs
|
sequence of Files; veya depset;
varsayılan ayar [] İşlemin giriş dosyalarının listesi veya görünüşü. |
unused_inputs_list
|
File (Dosya); veya None ;
varsayılan değer: None İşlem tarafından kullanılmayan girişlerin listesini içeren dosya. Bu dosyanın içeriği (genellikle işlemin çıkışlarından biri), işlemin tamamı sırasında kullanılmayan giriş dosyalarının listesine karşılık gelir. Bu dosyalarda yapılan değişiklikler, eylemin sonuçlarını hiçbir şekilde etkilememelidir. |
executable
|
File (Dosya); veya string; veya FilesToRunProvider;
gerekli İşlem tarafından çağrılacak yürütülebilir dosya. |
tools
|
sequence; veya depset;
varsayılan değer unbound İşlem için gereken tüm araçları listeleyin veya tanımlayın. Araçlar, işlem için otomatik olarak kullanıma sunulan ek çalıştırma dosyalarına sahip girişlerdir. Bir liste sağlandığında, Files'ın, FilesToRunProvider örneklerinin veya Files'ın alt kümelerinin heterojen bir koleksiyonu olabilir. Doğrudan listede bulunan ve ctx.executable öğesinden gelen dosyaların çalıştırma dosyaları otomatik olarak eklenir. Bir tanımlayıcı sağlandığında yalnızca Dosyalar içermelidir. Her iki durumda da, depsets içindeki dosyalara çalıştırma dosyaları için ctx.executable ile çapraz referans verilmez. |
arguments
|
sequence;
varsayılan değer: [] İşlemin komut satırı bağımsız değişkenleri. Dize veya actions.args() nesnelerinden oluşan bir liste olmalıdır.
|
mnemonic
|
string; veya None ;
varsayılan değer: None İşlemin tek kelimelik bir açıklaması, örneğin, CppCompile veya GoLink. |
progress_message
|
string; veya None ;
varsayılan değer: None Derleme sırasında kullanıcıya gösterilecek ilerleme mesajı. Örneğin, "foo.o oluşturmak için foo.cc dosyası derleniyor". Mesaj, sırasıyla etiket dizesi, ilk giriş veya çıkış yolu ile değiştirilen %{label} , %{input} veya %{output} kalıpları içerebilir. Statik dizeler daha verimli olduğundan bu dizeler yerine kalıplar kullanmayı tercih edin.
|
use_default_shell_env
|
varsayılan değer False İşlemin, işletim sistemine bağlı birkaç değişkenden ve --action_env aracılığıyla ayarlanan değişkenlerden oluşan varsayılan kabuk ortamını kullanıp kullanmayacağı.Hem |
env
|
dict; veya None ;
varsayılan değer: None Ortam değişkenleri sözlüğünü ayarlar. Hem |
execution_requirements
|
dict; veya None ;
varsayılan değer: None İşlemi programlama bilgileri. Faydalı anahtarlar için etiketlere bakın. |
input_manifests
|
sequence; veya None ;
varsayılan değer: None (Deneysel) giriş çalıştırma dosyaları meta verilerini ayarlar; genellikle çözümleme_komutu ile oluşturulurlar. |
exec_group
|
string; veya None ;
varsayılan değer: None İşlemi belirtilen yönetici grubunun yürütme platformunda çalıştırır. Yoksa hedefin varsayılan yürütme platformunu kullanır. |
shadowed_action
|
İşlem;
varsayılan değer: None İşlemi, belirtilen gölgelendirilmiş işlemin girişlerini ve işlemin giriş listesine ve ortamına eklenen ortamı kullanarak çalıştırır. İşlem ortamı, gölgelendirilen işlemin ortam değişkenlerinin üzerine yazabilir. Yoksa yalnızca işlemin girişlerini ve belirtilen ortamı kullanır. |
resource_set
|
çağrılabilir; veya None ;
varsayılan değer None Bu işlem yerel olarak çalıştırılırsa yürütme zamanında kaynak kullanımını tahmin etmek için kullanılan, kaynak grubu sözlüğü döndüren bir geri çağırma işlevi. İşlev, iki konum bağımsız değişkenini kabul eder: OS adını temsil eden bir dize (ör. "osx") ve işleme yönelik giriş sayısını temsil eden bir tam sayı. Döndürülen sözlük, her biri kayan nokta veya tam sayı olabilen aşağıdaki girişleri içerebilir:
Bu parametre Geri çağırma üst düzey olmalıdır (lambda ve iç içe yerleştirilmiş işlevlere izin verilmez). |
toolchain
|
Etiket; veya string; veya None ;
varsayılan değer unbound Yürütülebilir dosyanın veya bu işlemde kullanılan araçların araç zinciri türü. İşlemin doğru yürütme platformunda yürütülebilmesi için parametrenin ayarlanması gerekir. Şu anda herhangi bir işlem yapılmasına gerek yoktur ancak gelecekteki Bazel sürümlerinde gerekli olacağı için araç zinciri kullanıldığında bunu ayarlamanızı öneririz. Bu işlemi oluşturan kuralın bu araç zincirini "rule()" içinde tanımlaması gerektiğini unutmayın. işlevini kullanın. "toolchain" ve "exec_group" parametrelerinin ikisi de ayarlandığında "exec_group" kullanılır. "exec_group" tarafından aynı belirtilmediği durumlarda hata oluşur. |
run_shell
None
actions.run_shell(outputs, inputs=[], tools=unbound, arguments=[], mnemonic=None, command, progress_message=None, use_default_shell_env=False, env=None, execution_requirements=None, input_manifests=None, exec_group=None, shadowed_action=None, resource_set=None, toolchain=unbound)
Parametreler
Parametre | Açıklama |
---|---|
outputs
|
sequence of Files;
gerekli İşlemin çıkış dosyalarının listesi. |
inputs
|
sequence of Files; veya depset;
varsayılan ayar [] İşlemin giriş dosyalarının listesi veya görünüşü. |
tools
|
sequence of Files; veya depset;
varsayılan ayar unbound İşlem için gereken tüm araçları listeleyin veya tanımlayın. Araçlar, işlem için otomatik olarak kullanıma sunulan ek çalıştırma dosyalarına sahip girişlerdir. Liste, Files veya FilesToRunProvider örneklerini içerebilir. |
arguments
|
sequence;
varsayılan değer: [] İşlemin komut satırı bağımsız değişkenleri. Dize veya actions.args() nesnelerinden oluşan bir liste olmalıdır.Bazel, bu özellikteki öğeleri komuta bağımsız değişken olarak iletir. Komut,
|
mnemonic
|
string; veya None ;
varsayılan değer: None İşlemin tek kelimelik bir açıklaması, örneğin, CppCompile veya GoLink. |
command
|
string; dize dizisi veya
gerekli Yürütülecek kabuk komutu. Bu, bir dize (tercih edilen) veya dize (desteği sonlandırılmış) dizisi olabilir.
(Kullanımdan kaldırıldı) Bazel, komutu yürütmek için genrules ile aynı kabuğu kullanır. |
progress_message
|
string; veya None ;
varsayılan değer: None Derleme sırasında kullanıcıya gösterilecek ilerleme mesajı. Örneğin, "foo.o oluşturmak için foo.cc dosyası derleniyor". Mesaj, sırasıyla etiket dizesi, ilk giriş veya çıkış yolu ile değiştirilen %{label} , %{input} veya %{output} kalıpları içerebilir. Statik dizeler daha verimli olduğundan bu dizeler yerine kalıplar kullanmayı tercih edin.
|
use_default_shell_env
|
varsayılan değer False İşlemin, işletim sistemine bağlı birkaç değişkenden ve --action_env aracılığıyla ayarlanan değişkenlerden oluşan varsayılan kabuk ortamını kullanıp kullanmayacağı.Hem |
env
|
dict; veya None ;
varsayılan değer: None Ortam değişkenleri sözlüğünü ayarlar. Hem |
execution_requirements
|
dict; veya None ;
varsayılan değer: None İşlemi programlama bilgileri. Faydalı anahtarlar için etiketlere bakın. |
input_manifests
|
sequence; veya None ;
varsayılan değer: None (Deneysel) giriş çalıştırma dosyaları meta verilerini ayarlar; genellikle çözümleme_komutu ile oluşturulurlar. |
exec_group
|
string; veya None ;
varsayılan değer: None İşlemi belirtilen yönetici grubunun yürütme platformunda çalıştırır. Yoksa hedefin varsayılan yürütme platformunu kullanır. |
shadowed_action
|
İşlem;
varsayılan değer: None Belirtilen gölgelendirilmiş işlemin, işlemin giriş listesine eklenen keşfedilen girişleri kullanarak işlemi çalıştırır. Yoksa yalnızca işlemin girişlerini kullanır. |
resource_set
|
çağrılabilir; veya None ;
varsayılan değer None Yerel olarak çalıştırıldığında kaynak kullanımını tahmin etmek için kullanılan bir geri çağırma işlevi. ctx.actions.run() başlıklı makaleyi inceleyin.
|
toolchain
|
Etiket; veya string; veya None ;
varsayılan değer unbound Yürütülebilir dosyanın veya bu işlemde kullanılan araçların araç zinciri türü. İşlemin doğru yürütme platformunda yürütülebilmesi için parametrenin ayarlanması gerekir. Şu anda herhangi bir işlem yapılmasına gerek yoktur ancak gelecekteki Bazel sürümlerinde gerekli olacağı için araç zinciri kullanıldığında bunu ayarlamanızı öneririz. Bu işlemi oluşturan kuralın bu araç zincirini "rule()" içinde tanımlaması gerektiğini unutmayın. işlevini kullanın. "toolchain" ve "exec_group" parametrelerinin ikisi de ayarlandığında "exec_group" kullanılır. "exec_group" tarafından aynı belirtilmediği durumlarda hata oluşur. kullanabilirsiniz. |
sembolik bağlantı
None
actions.symlink(output, target_file=None, target_path=None, is_executable=False, progress_message=None)
Bu işlev, target_file
veya target_path
değerlerinden tam olarak biri belirtilerek çağrılmalıdır.
target_file
türünü kullanırken output
öğesini declare_file()
veya declare_directory()
ile tanımlayın ve target_file
türünü eşleştirin. Bu, sembolik bağlantıyı target_file
işaret eder. Sembolik bağlantının hedefi veya içeriği her değiştiğinde Bazel bu işlemin çıkışını geçersiz kılar.
Aksi takdirde, target_path
kullandığınızda declare_symlink()
ile output
bildiriminde bulunun. Bu durumda sembolik bağlantı target_path
işaretini gösteriyor. Bazel, sembolik bağlantıyı hiçbir zaman çözümlemez ve bu işlemin çıkışı yalnızca sembolik bağlantının metin içeriği (yani readlink()
değeri) değiştiğinde geçersiz kılınır. Bu, özellikle, sallanan bir sembolik bağlantı oluşturmak için kullanılabilir.
Parametreler
Parametre | Açıklama |
---|---|
output
|
zorunlu Bu işlemin sonucu. |
target_file
|
File (Dosya); veya None ;
varsayılan değer: None Çıkış sembolik bağlantısının işaret edeceği dosya. |
target_path
|
string; veya None ;
varsayılan değer: None Çıkış sembolik bağlantısının işaret edeceği tam yol. Normalleştirme veya başka işlemler uygulanmaz. |
is_executable
|
varsayılan değer False target_path ile değil, yalnızca target_file ile kullanılabilir. True (doğru) ise, işlem yürütüldüğünde, yürütülebilir olduğunu onaylamak için target_file yolunun yolu kontrol edilir ve değilse bir hata bildirilir. is_executable politikasının Yanlış değerine ayarlanması hedefin yürütülebilir olmadığı anlamına gelmez, yalnızca doğrulama yapılmadığını gösterir.Derleme sırasında sarkan sembolik bağlantılar mevcut olmayabileceğinden bu özellik |
progress_message
|
string; veya None ;
varsayılan değer: None Derleme sırasında kullanıcıya gösterilecek ilerleme mesajı. |
template_dict
TemplateDict actions.template_dict()
write
None
actions.write(output, content, is_executable=False)
expand_template
kullanabilirsiniz.
Parametreler
Parametre | Açıklama |
---|---|
output
|
zorunlu Çıkış dosyası. |
content
|
string; veya Args;
gerekli dosyanın içeriği hakkında daha fazla bilgi edinin. Bir dize veya actions.args() nesnesi olabilir.
|
is_executable
|
varsayılan değer False Çıkış dosyasının yürütülebilir olup olmayacağı. |