ctx.actions kullanarak bu modüle erişin.
Üyeler
- args
- declare_directory
- declare_file
- declare_symlink
- do_nothing
- expand_template
- map_directory
- run
- run_shell
- symlink
- template_dict
- yaz
args
Args actions.args()
declare_directory
File actions.declare_directory(filename, *, sibling=None)
Args.add_all() ile bir işlem komutunda genişletilebilir. Bir declare_directory'nin genişletilmiş içeriğinde yalnızca normal dosyalar ve dizinler olabilir.
Parametreler
| Parametre | Açıklama |
|---|---|
filename
|
string;
required Kardeş öğe sağlanmadıysa yeni dizinin yolu (mevcut pakete göre). Aksi takdirde, bir dosyanın temel adı (kardeş, bir dizini tanımlar). |
sibling
|
Dosya veya None;
varsayılan değer NoneYeni bildirilen dizinle aynı dizinde bulunan bir dosya. Dosya, mevcut pakette olmalıdır. |
declare_file
File actions.declare_file(filename, *, sibling=None)
sibling belirtilmemişse dosya adı paket dizinine göre belirlenir. Aksi takdirde dosya, sibling ile aynı dizinde bulunur. Dosyalar mevcut 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şlemi oluşturmak için döndürülen File nesnesinin işlemin oluşturma işlevine iletilmesi gerekir.
Önceden bildirilmiş çıkış dosyalarının bu işlev kullanılarak bildirilmesi gerekmediğini (ve bildirilemeyeceğini) unutmayın. Bunun yerine, ctx.outputs adresinden File nesnelerini edinebilirsiniz. Kullanım örneğini inceleyin.
Parametreler
| Parametre | Açıklama |
|---|---|
filename
|
string;
required Kardeş öğe sağlanmadıysa yeni dosyanın yolu (mevcut pakete göre). Aksi takdirde, dosya için temel bir ad (kardeş, dizini belirler). |
sibling
|
Dosya veya None;
varsayılan değer NoneYeni oluşturulan dosya ile aynı dizinde bulunan bir dosya. Dosya, mevcut pakette olmalıdır. |
declare_symlink
File actions.declare_symlink(filename, *, sibling=None)
Parametreler
| Parametre | Açıklama |
|---|---|
filename
|
string;
required Kardeş sağlanmazsa yeni sembolik bağlantının yolu, mevcut pakete göre. Aksi takdirde, bir dosyanın temel adı (kardeş, bir dizini tanımlar). |
sibling
|
Dosya veya None;
varsayılan değer NoneYeni bildirilen sembolik bağlantıyla aynı dizinde bulunan bir dosya. |
do_nothing
None actions.do_nothing(*, mnemonic, inputs=[])Parametreler
| Parametre | Açıklama |
|---|---|
mnemonic
|
string;
required İşlemin tek kelimelik açıklaması (ör. CppCompile veya GoLink). |
inputs
|
sequence of Files; or depset;
default is []List of the input files of the action. |
expand_template
None actions.expand_template(*, template, output, substitutions={}, is_executable=False, computed_substitutions=unbound)substitutions sözlüğü kullanılarak ve değiştirmelerin belirtildiği sırayla değiştirilir. Sözlüğün bir anahtarı şablonda (veya önceki bir değiştirme sonucunda) her göründüğünde, 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 (ör. {KEY}). Kullanım örneğini inceleyin.
Parametreler
| Parametre | Açıklama |
|---|---|
template
|
Dosya;
zorunlu UTF-8 olarak kodlanmış metin dosyası olan şablon dosyası. |
output
|
Dosya;
gerekli UTF-8 olarak kodlanmış metin dosyası olan çıkış dosyası. |
substitutions
|
dict;
varsayılan değer {}Şablon genişletilirken yapılacak değiştirmeler. |
is_executable
|
bool;
varsayılan değer FalseÇıkış dosyasının yürütülebilir olup olmayacağı. |
computed_substitutions
|
TemplateDict;
varsayılan değer unboundŞablon genişletilirken yapılacak değiştirmeler. |
map_directory
None actions.map_directory(*, input_directories, additional_inputs={}, output_directories, tools, additional_params={}, execution_requirements=None, exec_group=None, toolchain=None, use_default_shell_env=False, env=None, mnemonic=None, implementation)Parametreler
| Parametre | Açıklama |
|---|---|
input_directories
|
File'ların dict'i;
zorunluctx.actions.declare_directory() tarafından belirtildiği şekilde, dizeleri giriş dizinleriyle eşleyen bir sözlük (burada yalnızca dizinlere değer olarak izin verilir). Değerler, uygulama işlevinde dosyalarına erişmek için genişletmek istediğimiz dizinleri belirtir. Anahtarlar (dizeler), uygulama işlevinde belirli bir dizine kolayca referans vermek için tanımlayıcı olarak işlev görür.
|
additional_inputs
|
dict;
varsayılan değer {}Dizelerin ek girişlerle eşlenmesinin sözlüğü (burada yalnızca dosyalar, FilesToRunProvider'lar ve Depset'ler izinlidir). Değerler, uygulama işlevi tarafından oluşturulan işlemlerin erişebilmesini istediğimiz ek girişleri belirtir. Anahtarlar (dizeler), uygulama işlevindeki belirli bir girişe kolayca referans vermek için tanımlayıcı olarak işlev görür. |
output_directories
|
File'ların dict'i;
zorunluctx.actions.declare_directory() tarafından belirtildiği şekilde, dizelerin çıkış dizinleriyle eşlendiği bir sözlük. Değerler, uygulama işlevi tarafından oluşturulan işlemlerle oluşturmak istediğimiz çıkış dizinlerini belirtir. Anahtarlar (dizeler), uygulama işlevinde belirli bir çıkış dizinine kolayca referans vermek için tanımlayıcı olarak işlev görür.
|
tools
|
dict;
required Dizeleri araçlarla eşleyen bir sözlük (burada yalnızca dosyalar, FilesToRunProvider'lar ve Depset'ler kullanılabilir). Değerler, uygulama işlevi tarafından oluşturulan işlemlerin erişebileceği araçları belirtir. Anahtarlar (dizeler), uygulama işlevinde belirli bir araca kolayca referans vermek için tanımlayıcı olarak işlev görür. |
additional_params
|
dict;
varsayılan değer {}Dizelerin ek parametrelerle eşlendiği bir sözlük. Değerler, davranışını etkilemek için kullanılabilecek ve uygulama işlevine erişilebilir kılmak istediğimiz ek parametreleri belirtir. Anahtarlar (dizeler), uygulama işlevinde belirli bir parametreye kolayca referans vermek için tanımlayıcı olarak işlev görür. |
execution_requirements
|
dict veya None;
varsayılan değer NoneOluşturulan işlemlerin planlanmasıyla ilgili bilgiler. Faydalı anahtarlar için etiketler bölümüne bakın. |
exec_group
|
string; veya None;
varsayılan değer NoneOluşturulan işlemleri, belirtilen exec grubunun yürütme platformunda çalıştırın. Hiçbiri yoksa hedefin varsayılan yürütme platformunu kullanır. |
toolchain
|
Etiket veya dize veya None;
varsayılan değer NoneOluşturulan işlemler tarafından kullanılan yürütülebilir dosyanın veya araçların araç zinciri türü. Çalıştırılabilir dosyalar ve araçlar bir araç zincirinden gelmiyorsa bu parametreyi Çalıştırılabilir dosyalar ve araçlar bir araç zincirinden geliyorsa oluşturulan işlemlerin doğru yürütme platformunda yürütülmesi için araç zinciri türü ayarlanmalıdır. Bu işlemleri oluşturan kuralın, bu araç zincirini "rule()" işlevi içinde tanımlaması gerektiğini unutmayın. Hem |
use_default_shell_env
|
bool;
varsayılan değer FalseOluşturulan işlemlerin, --action_env aracılığıyla ayarlanan değişkenlerin yanı sıra işletim sistemine bağlı birkaç değişkenden oluşan varsayılan kabuk ortamını kullanıp kullanmayacağı.Hem |
env
|
dict; veya None;
varsayılan değer NoneOrtam değişkenlerinin sözlüğünü ayarlar. Hem |
mnemonic
|
string; veya None;
varsayılan değer NoneOluşturulan işlemlerin tek kelimelik açıklaması (ör. CppCompile veya GoLink). |
implementation
|
function;
required Giriş dizinleri oluşturulduktan sonra, belirtilen çıkış dizinlerine dosya çıkışı veren işlemler oluşturmak için çağrılan bir Starlark işlevi. Bu işleve aşağıdaki bağımsız değişkenler iletilir:
|
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
|
Dosyaların sırası;
gerekli İşlemin çıkış dosyalarının listesi. |
inputs
|
File'ların sequence'ı veya depset;
varsayılan değer []İşlemin giriş dosyalarının listesi veya depset'i. |
unused_inputs_list
|
File 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 çıktılarından biri), işlem yürütülmesinin tamamı sırasında kullanılmayan giriş dosyalarının listesine karşılık gelir. Bu dosyalarda yapılan değişiklikler, işlemin sonuçlarını hiçbir şekilde etkilememelidir. |
executable
|
File; veya string; veya FilesToRunProvider;
gerekli Eylem 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ın listesi veya depset. Araçlar, kendi çalıştırılabilir dosyalarına sahip olabilen ve işleme otomatik olarak sunulan çalıştırılabilir girişlerdir. Liste verildiğinde, aşağıdakilerin heterojen bir koleksiyonu olabilir:
Files from ctx.executable and FilesToRunProviders which are directly in the list will have their runfiles automatically added. Tüm araçlar, giriş olarak örtülü bir şekilde eklenir.
|
arguments
|
sequence;
default is []Command line arguments of the action. Dize listesi veya actions.args() nesnesi olmalıdır.
|
mnemonic
|
string; veya None;
varsayılan değer Noneİşlemin tek kelimelik açıklaması (ör. CppCompile veya GoLink). |
progress_message
|
string; veya None;
varsayılan değer NoneDerleme sırasında kullanıcıya gösterilecek ilerleme mesajı (örneğin, "foo.cc, foo.o oluşturmak için derleniyor"). İleti; sırasıyla etiket dizesi, ilk giriş veya çıkış yolu ile değiştirilen %{label}, %{input} ya da %{output} kalıplarını içerebilir. Statik dizeler yerine kalıpları kullanmayı tercih edin. Kalıplar daha verimlidir.
|
use_default_shell_env
|
bool;
varsayılan değer Falseİşlemin, --action_env aracılığıyla ayarlanan değişkenlerin yanı sıra işletim sistemine bağlı birkaç değişkenden oluşan varsayılan kabuk ortamını kullanıp kullanmayacağı.Hem |
env
|
dict; veya None;
varsayılan değer NoneOrtam değişkenlerinin sözlüğünü ayarlar. Hem |
execution_requirements
|
dict; veya None;
varsayılan değer Noneİşlemi planlama bilgileri. Faydalı anahtarlar için etiketler bölümüne bakın. |
input_manifests
|
sequence veya None;
varsayılan değer NoneEski bağımsız değişken. Yoksayıldı. |
exec_group
|
string; veya None;
varsayılan değer Noneİşlemi, belirtilen yürütme grubunun yürütme platformunda çalıştırır. Hiçbiri yoksa hedefin varsayılan yürütme platformunu kullanır. |
shadowed_action
|
İşlem;
varsayılan değer Noneİşlemi, verilen gölgeli işlemin girişlerini ve işlemin giriş listesine ve ortama eklenen ortamı kullanarak çalıştırır. İşlem ortamı, gölgelenen işlemin ortam değişkenlerinin herhangi birinin üzerine yazabilir. Yoksa yalnızca işlemin girişlerini ve verilen ortamı kullanır. |
resource_set
|
callable; veya None;
default is NoneBu işlem yerel olarak çalıştırılırsa yürütme sırasında kaynak kullanımını tahmin etmek için kullanılan, kaynak kümesi sözlüğü döndüren bir geri çağırma işlevi. İşlev iki konumsal bağımsız değişken kabul eder: bir işletim sistemi adını temsil eden dize (ör. "osx") ve işleme yönelik giriş sayısını temsil eden bir tam sayı. Döndürülen sözlük aşağıdaki girişleri içerebilir. Bu girişlerin her biri float veya int olabilir:
Bu parametre Geri çağırma üst düzey olmalıdır (lambda ve iç içe işlevlere izin verilmez). |
toolchain
|
Etiket veya dize veya None;
varsayılan değer unbound'dir. Bu işlemde kullanılan yürütülebilir dosyanın veya araçların araç zinciri türü. Çalıştırılabilir dosyalar ve araçlar bir araç zincirinden gelmiyorsa bu parametreyi "None" olarak ayarlayın. Çalıştırılabilir dosyalar ve araçlar bir araç zincirinden geliyorsa işlemin doğru yürütme platformunda yürütülmesi için araç zinciri türü ayarlanmalıdır. Bu işlemi oluşturan kuralın, bu araç zincirini "rule()" işlevi içinde tanımlaması gerektiğini unutmayın. Hem "toolchain" hem de "exec_group" parametreleri ayarlandığında "exec_group" kullanılır. "exec_group" aynı araç zincirini belirtmiyorsa 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
|
Dosyaların sırası;
gerekli İşlemin çıkış dosyalarının listesi. |
inputs
|
File'ların sequence'ı veya depset;
varsayılan değer []İşlemin giriş dosyalarının listesi veya depset'i. |
tools
|
Dosya'ların sırası veya depset;
varsayılan değer unboundİşlem için gereken tüm araçların listesi veya depset. Araçlar, kendi çalıştırılabilir dosyalarına sahip olabilen ve işleme otomatik olarak sunulan çalıştırılabilir girişlerdir. Liste verildiğinde, aşağıdakilerin heterojen bir koleksiyonu olabilir:
Files from ctx.executable and FilesToRunProviders which are directly in the list will have their runfiles automatically added. Tüm araçlar, giriş olarak örtülü bir şekilde eklenir.
|
arguments
|
sequence;
default is []Command line arguments of the action. Dize listesi veya actions.args() nesnesi 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 açıklaması (ör. CppCompile veya GoLink). |
command
|
string veya string dizisi sequence;
zorunlu Yürütülecek kabuk komutu. Bu, bir dize (tercih edilen) veya bir dize dizisi (kullanımdan kaldırıldı) 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 NoneDerleme sırasında kullanıcıya gösterilecek ilerleme mesajı (örneğin, "foo.cc, foo.o oluşturmak için derleniyor"). İleti; sırasıyla etiket dizesi, ilk giriş veya çıkış yolu ile değiştirilen %{label}, %{input} ya da %{output} kalıplarını içerebilir. Statik dizeler yerine kalıpları kullanmayı tercih edin. Kalıplar daha verimlidir.
|
use_default_shell_env
|
bool;
varsayılan değer Falseİşlemin, --action_env aracılığıyla ayarlanan değişkenlerin yanı sıra işletim sistemine bağlı birkaç değişkenden oluşan varsayılan kabuk ortamını kullanıp kullanmayacağı.Hem |
env
|
dict; veya None;
varsayılan değer NoneOrtam değişkenlerinin sözlüğünü ayarlar. Hem |
execution_requirements
|
dict; veya None;
varsayılan değer Noneİşlemi planlama bilgileri. Faydalı anahtarlar için etiketler bölümüne bakın. |
input_manifests
|
sequence veya None;
varsayılan değer NoneEski bağımsız değişken. Yoksayıldı. |
exec_group
|
string; veya None;
varsayılan değer Noneİşlemi, belirtilen yürütme grubunun yürütme platformunda çalıştırır. Hiçbiri yoksa hedefin varsayılan yürütme platformunu kullanır. |
shadowed_action
|
İşlem;
varsayılan değer Noneİşlemi, işlemin girişler listesine eklenen, gölgelenen işlemin keşfedilen girişlerini kullanarak çalıştırır. Yoksa yalnızca işlemin girişlerini kullanır. |
resource_set
|
çağrılabilir; veya None;
varsayılan değer NoneYerel olarak çalıştırılırsa kaynak kullanımını tahmin etmek için kullanılan bir geri çağırma işlevi. ctx.actions.run() sayfasına göz atın.
|
toolchain
|
Etiket veya dize veya None;
varsayılan değer unbound'dir. Bu işlemde kullanılan yürütülebilir dosyanın veya araçların araç zinciri türü. Çalıştırılabilir dosyalar ve araçlar bir araç zincirinden gelmiyorsa bu parametreyi "None" olarak ayarlayın. Çalıştırılabilir dosyalar ve araçlar bir araç zincirinden geliyorsa işlemin doğru yürütme platformunda yürütülmesi için araç zinciri türü ayarlanmalıdır. Bu işlemi oluşturan kuralın, bu araç zincirini "rule()" işlevi içinde tanımlaması gerektiğini unutmayın. Hem "toolchain" hem de "exec_group" parametreleri ayarlandığında "exec_group" kullanılır. "exec_group" aynı araç zincirini belirtmiyorsa hata oluşur. |
sembolik bağlantı
None actions.symlink(*, output, target_file=None, target_path=None, target_type=None, is_executable=False, progress_message=None)Bu işlev, tam olarak bir target_file veya target_path belirtilerek çağrılmalıdır.
target_file kullandığınızda declare_file() veya declare_directory() ile output öğesini bildirin ve target_file türüyle eşleştirin. Bu işlem, sembolik bağlantının target_file konumunu işaret etmesini sağlar. Bazel, sembolik bağlantının hedefi veya içeriği her değiştiğinde bu işlemin çıkışını geçersiz kılar.
Aksi takdirde, target_path kullanırken output öğesini declare_symlink() ile bildirin. Bu durumda sembolik bağlantı target_path öğesini işaret eder. Bazel, sembolik bağlantıyı hiçbir zaman çözmez 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 özellik özellikle askıda kalan sembolik bağlantılar oluşturmak için kullanılabilir.
Parametreler
| Parametre | Açıklama |
|---|---|
output
|
Dosya;
gerekli Bu işlemin çıkışı. |
target_file
|
File; veya None;
varsayılan değer NoneÇıkış sembolik bağlantısının işaret edeceği dosya. |
target_path
|
dize; 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 bir işlem uygulanmaz. |
target_type
|
dize veya None;
varsayılan değer None'dür. Yalnızca target_path ile kullanılabilir, target_file ile kullanılamaz. Belirtilmişse hedef yolun beklenen türünü gösteren "file" veya "directory" değerlerinden biri olmalıdır.Windows'da bu, hangi tür dosya sistemi nesnesinin oluşturulacağını belirler (dizin için bağlantı, dosya için sembolik bağlantı). Diğer işletim sistemleri bu durumdan etkilenmez. |
is_executable
|
bool;
varsayılan değer FalseYalnızca target_file ile kullanılabilir, target_path ile kullanılamaz. Doğruysa işlem yürütüldüğünde target_file'nın yolu yürütülebilir olup olmadığını onaylamak için kontrol edilir ve yürütülebilir değilse hata bildirilir. is_executable değerinin False olarak ayarlanması, hedefin yürütülemez olduğu anlamına gelmez. Yalnızca doğrulama yapılmadığı anlamına gelir.Bu özellik, derleme sırasında askıda kalan sembolik bağlantılar mevcut olmayabileceğinden |
progress_message
|
string; veya None;
varsayılan değer NoneDerleme sırasında kullanıcıya gösterilecek ilerleme mesajı. |
template_dict
TemplateDict actions.template_dict()
yardım et
None actions.write(output, content, is_executable=False, *, mnemonic=None)expand_template kullanmayı düşünebilirsiniz.
Parametreler
| Parametre | Açıklama |
|---|---|
output
|
File;
required Çıkış dosyası. |
content
|
string veya Args;
required the contents of the file. Dize veya actions.args() nesnesi olabilir.
|
is_executable
|
bool;
varsayılan değer FalseÇıkış dosyasının yürütülebilir olup olmayacağı. |
mnemonic
|
string; veya None;
varsayılan değer Noneİşlemin tek kelimelik açıklaması (ör. CppCompile veya GoLink). |