işlemler

İşlemler oluşturmak için işlevler sağlayan modül. ctx.actions simgesini kullanarak bu modüle erişin.

Üyeler

args

Args actions.args()

Bellek açısından verimli komut satırları oluşturmak için kullanılabilecek bir Args nesnesi döndürür.

declare_directory

File actions.declare_directory(filename, *, sibling=None)

Kuralın veya yönün, geçerli pakette belirtilen ada sahip bir dizin oluşturduğunu bildirir. Dizini oluşturan bir işlem oluşturmanız gerekir. Dizinin içeriğine Starlark'tan doğrudan erişilemez ancak Args.add_all() ile bir işlem komutunda genişletilebilir. declare_directory'nin genişletilmiş içeriklerinde 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, dosya için temel bir ad (kardeş, bir dizini tanımlar).
sibling Dosya veya None; varsayılan değer None
Yeni bildirilen dizinle aynı dizinde bulunan bir dosya. Dosya, mevcut pakette olmalıdır.

declare_file

File actions.declare_file(filename, *, sibling=None)

Kuralın veya yönün, belirtilen dosya adına sahip bir dosya oluşturduğunu bildirir. sibling belirtilmemişse dosya adı paket dizinine göre belirlenir. Aksi takdirde, dosya sibling ile aynı dizindedir. Dosyalar, geçerli paketin dışında oluşturulamaz.

Bir dosyayı beyan etmenin yanı sıra 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, dosyanın temel adı (kardeş, dizini belirler).
sibling Dosya veya None; varsayılan değer None
Yeni oluşturulan dosya ile aynı dizinde bulunan bir dosya. Dosya, mevcut pakette olmalıdır.

File actions.declare_symlink(filename, *, sibling=None)

Kuralın veya yönün, geçerli pakette verilen adla bir sembolik bağlantı oluşturduğunu belirtir. Bu sembolik bağlantıyı oluşturan bir işlem oluşturmanız gerekir. Bazel bu sembolik bağlantının referansını hiçbir zaman kaldırmaz ve bunu olduğu gibi sanal alanlara veya uzak yürütücülere aktarır. Ağaç yapısı artefaktlarındaki sembolik bağlantılar şu anda desteklenmemektedir.

Parametreler

Parametre Açıklama
filename string; required
"sibling" sağlanmadıysa yeni sembolik bağlantının yolu, mevcut pakete göre. Aksi takdirde, dosya için temel bir ad (kardeş, bir dizini tanımlar).
sibling 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=[])

Ne komut yürüten ne de herhangi bir çıkış üreten boş bir işlem oluşturur ancak "ek işlemler" eklemek için kullanışlıdır.

Parametreler

Parametre Açıklama
mnemonic string; required
İşlemin tek kelimelik açıklaması (örneğin, CppCompile veya GoLink).
inputs File'ların sequence'ı veya depset; varsayılan değer []
İşlemin giriş dosyalarının listesi.

expand_template

None actions.expand_template(*, template, output, substitutions={}, is_executable=False, computed_substitutions=unbound)

Şablon genişletme işlemi oluşturur. İşlem yürütüldüğünde, şablona dayalı bir dosya oluşturulur. Şablondaki bölümler, 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; zorunlu
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)

Bir veya daha fazla giriş dizinindeki dosyalara göre birden fazla işlem oluşturarak bir veya daha fazla çıkış dizini oluşturur.

Parametreler

Parametre Açıklama
input_directories File'ların dict'i; zorunlu
ctx.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şletilmesini 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; zorunlu
ctx.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 {}
Dizeleri ek parametrelerle eşleyen bir sözlük (burada yalnızca dize, boole ve tam sayı değerlerine izin verilir). Değerler, davranışını etkilemek için kullanılabilecek 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 None
Oluş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 None
Oluş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 None
'tır.

Oluş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 None olarak ayarlayın.

Ç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 toolchain hem de exec_group parametresi ayarlandığında exec_group kullanılır. exec_group aynı araç zincirini belirtmediğinde hata oluşur.

use_default_shell_env bool; varsayılan değer False
Oluş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 use_default_shell_env hem de env True olarak ayarlanırsa env içinde ayarlanan değerler varsayılan kabuk ortamının üzerine yazılır.

env dict veya None; varsayılan değer None
Ortam değişkenlerinin sözlüğünü ayarlar.

Hem use_default_shell_env hem de env True olarak ayarlanırsa env içinde ayarlanan değerler varsayılan kabuk ortamının üzerine yazılır.

mnemonic string; veya None; varsayılan değer None
Oluş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:
  • template_ctx (konumsal): İşlem oluşturmak için kullanılabilen bir template_ctx nesnesi.
  • input_directories (yalnızca anahtar kelime): actions.map_directory() öğesinin input_directories bağımsız değişkeninin dize anahtarlarından, değerlerinin karşılık gelen ExpandedDirectory nesnelerine kadar olan bir sözlük eşlemesi.
  • output_directories (yalnızca anahtar kelime): actions.map_directory() öğesinin output_directories bağımsız değişkeninin değeri; dizelerden çıkış dizinlerine eşleme sözlüğü.
  • additional_inputs (yalnızca anahtar kelime): actions.map_directory() öğesinin additional_inputs bağımsız değişkeninin değeri; dizelerden giriş dosyalarına eşleme yapan bir sözlük.
  • tools (yalnızca anahtar kelime): actions.map_directory() işlevinin tools bağımsız değişkeninin değeri; dizelerden araçlara eşleme yapan bir sözlük.
  • additional_params (yalnızca anahtar kelime): actions.map_directory() işlevinin additional_params bağımsız değişkeninin değeri; dizelerden dizelere, Boole değerlerine veya tam sayılara eşleme yapan bir sözlük.
Bu işlev üst düzey olmalıdır. Diğer bir deyişle, lambda'lara ve iç içe yerleştirilmiş işlevlere izin verilmez.

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)

Yürütülebilir bir dosya çalıştıran bir işlem oluşturur. Kullanım örneğini inceleyin.

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şlemin yürütülmesi sırasında kullanılmayan giriş dosyalarının listesine karşılık gelir. Bu dosyalarda yapılan hiçbir değişiklik, işlemin çıkışlarını etkilememelidir.

executable File; veya string; veya FilesToRunProvider; gerekli
Eylemin çağıracağı 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:

  • File sn
  • FilesToRunProvider örnek
  • depset File
Files from ctx.executable and FilesToRunProviders which are directly in the list will have their runfiles automatically added. Tüm araçlar dolaylı olarak giriş olarak 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 None
Derleme sırasında kullanıcıya gösterilecek ilerleme mesajı (ör. "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. Daha verimli oldukları için statik dizeler yerine kalıpları kullanmayı tercih edin.
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 use_default_shell_env hem de env True olarak ayarlanırsa env içinde ayarlanan değerler varsayılan kabuk ortamının üzerine yazılır.

env dict veya None; varsayılan değer None
Ortam değişkenlerinin sözlüğünü ayarlar.

Hem use_default_shell_env hem de env True olarak ayarlanırsa env içinde ayarlanan değerler varsayılan kabuk ortamının üzerine yazılır.

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 None
Eski bağımsız değişken. Yoksayıldı.
exec_group string; veya None; varsayılan değer None
İşlemi, belirtilen exec grubunun yürütme platformunda çalıştırır. Hiçbiri yoksa hedefin varsayılan yürütme platformunu kullanır.
shadowed_action Action; varsayılan değer None
İşlemi, verilen gölgeli işlemin girişlerini ve işlemin giriş listesine ve ortamına eklenen ortamı kullanarak çalıştırır. İşlem ortamı, gölgelenen işlemin ortam değişkenlerinin üzerine yazabilir. Yoksa yalnızca işlemin girişlerini ve verilen ortamı kullanır.
resource_set callable; veya None; default is None
Bu 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 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 aşağıdaki girişleri içerebilir. Bu girişlerin her biri float veya int olabilir:

  • "cpu": CPU sayısı; varsayılan değer 1
  • "memory": MB cinsinden; varsayılan değer 250
  • "local_test": yerel test sayısı; varsayılan değer 1

Bu parametre None olarak ayarlanırsa varsayılan değerler kullanılır.

Geri çağırma üst düzey olmalıdır (lambda ve iç içe geçmiş 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, "rule()" işlevinde bu araç zincirini 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 belirtmediğinde 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)

Bir kabuk komutunu çalıştıran bir işlem oluşturur. Kullanım örneğini inceleyin.

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:

  • File sn
  • FilesToRunProvider örnek
  • depset File
Files from ctx.executable and FilesToRunProviders which are directly in the list will have their runfiles automatically added. Tüm araçlar dolaylı olarak giriş olarak 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, $1, $2 gibi kabuk değişkeni değiştirmelerini kullanarak bu bağımsız değişkenlere erişebilir. Args nesneleri dizine eklenmeden önce düzleştirildiğinden, boyutu bilinmeyen bir Args nesnesi varsa sonraki tüm dizelerin tahmin edilemeyen dizinlerde olacağını unutmayın. Belirsiz boyuttaki Args nesneleriyle birlikte $@ (tüm bağımsız değişkenleri almak için) kullanmak faydalı olabilir.

command bir dizeler listesi olduğunda bu parametre kullanılamayabilir.

mnemonic string; veya None; varsayılan değer None
İşlemin tek kelimelik açıklaması (ör. CppCompile veya GoLink).
command string veya string'lerin sequence'ı; zorunlu
Yürütülecek kabuk komutu. Bu, dize (tercih edilen) veya dize dizisi (kullanımdan kaldırıldı) olabilir.

command bir dizeyse sh -c <command> "" <arguments> tarafından yürütülmüş gibi yürütülür. Yani arguments içindeki öğeler komuta $1, $2 (veya Windows toplu iş kullanılıyorsa %1, %2) vb. olarak sunulur. arguments herhangi bir actions.args() nesnesi içeriyorsa içerikleri komut satırına tek tek eklenir. Bu nedenle $i, bir Args nesnesindeki tek tek dizelere başvurabilir. arguments kapsamında boyutu bilinmeyen bir Args nesnesi iletilirse dizelerin bilinmeyen dizinlerde olacağını unutmayın. Bu durumda $@ kabuk değiştirme (tüm bağımsız değişkenleri alma) işlevi yararlı olabilir.

(Kullanımdan kaldırıldı) command bir dize dizisiyse ilk öğe çalıştırılacak yürütülebilir dosya, kalan öğeler ise bu dosyanın bağımsız değişkenleridir. Bu form kullanılıyorsa arguments parametresi sağlanmamalıdır. Bu formun artık kullanılmadığını ve yakında kaldırılacağını unutmayın. Bu kural, `--incompatible_run_shell_command_string` ile devre dışı bırakılır. Kodunuzun uyumlu olduğunu doğrulamak için bu işareti kullanın.

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ı (ör. "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. Daha verimli oldukları için statik dizeler yerine kalıpları kullanmayı tercih edin.
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 use_default_shell_env hem de env True olarak ayarlanırsa env içinde ayarlanan değerler varsayılan kabuk ortamının üzerine yazılır.

env dict veya None; varsayılan değer None
Ortam değişkenlerinin sözlüğünü ayarlar.

Hem use_default_shell_env hem de env True olarak ayarlanırsa env içinde ayarlanan değerler varsayılan kabuk ortamının üzerine yazılır.

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 None
Eski bağımsız değişken. Yoksayıldı.
exec_group string; veya None; varsayılan değer None
İşlemi, belirtilen exec 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 callable; veya None; default is None
Yerel olarak çalıştırılırsa kaynak kullanımını tahmin etmek için 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, "rule()" işlevinde bu araç zincirini 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 belirtmediğinde hata oluşur.

None actions.symlink(*, output, target_file=None, target_path=None, is_executable=False, progress_message=None)

Dosya sistemine sembolik bağlantı yazan bir işlem oluşturur.

Bu işlev, tam olarak bir target_file veya target_path belirtilerek çağrılmalıdır.

target_file kullandığınızda output öğesini declare_file() veya declare_directory() ile birlikte 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 gösterir. 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ı oluşturmak için kullanılabilir.

Parametreler

Parametre Açıklama
output Dosya; gerekli
Bu işlemin çıktısı.
target_file Dosya 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.
is_executable bool; varsayılan değer False
Yalnı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ı doğrulamak 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 target_path için anlamlı değildir.

progress_message string; veya None; varsayılan değer None
Derleme sırasında kullanıcıya gösterilecek ilerleme durumu mesajı.

template_dict

TemplateDict actions.template_dict()

Bellek açısından verimli şablon genişletme için bir TemplateDict nesnesi döndürür.

yardım et

None actions.write(output, content, is_executable=False, *, mnemonic=None)

Dosya yazma işlemi oluşturur. İşlem yürütüldüğünde, verilen içerik bir dosyaya yazılır. Bu, analiz aşamasında mevcut bilgiler kullanılarak dosyalar oluşturmak için kullanılır. Dosya büyükse ve çok fazla statik içerik varsa 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).