Kurallar
action_listener
Kural kaynağını görüntülemeaction_listener(name, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, extra_actions, features, licenses, mnemonics, restricted_to, tags, target_compatible_with, testonly, visibility)
UYARI: Ek işlemlerin desteği sonlandırıldı. Bunun yerine yönleri kullanın.
Bir action_listener
kuralı kendi başına herhangi bir çıkış üretmez.
Bunun yerine, işlemden extra_action
'ye eşleme sağlayarak araç geliştiricilerin derleme sistemine extra_action
eklemesine olanak tanır.
Bu kuralın bağımsız değişkenleri, işlem anımsatıcılarını extra_action
kurallarıyla eşler.
--experimental_action_listener=<label>
seçeneğini belirterek derlemenin, derleme grafiğine extra_action
eklemek için belirtilen action_listener
öğesini kullanmasını sağlayabilirsiniz.
Örnek
action_listener( name = "index_all_languages", mnemonics = [ "Javac", "CppCompile", "Python", ], extra_actions = [":indexer"], ) action_listener( name = "index_java", mnemonics = ["Javac"], extra_actions = [":indexer"], ) extra_action( name = "indexer", tools = ["//my/tools:indexer"], cmd = "$(location //my/tools:indexer)" + "--extra_action_file=$(EXTRA_ACTION_FILE)", )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; zorunlu Bu hedef için benzersiz bir ad. |
extra_actions
|
Etiket listesi; zorunlu Buaction_listener öğesinin derleme grafiğine eklemesi gereken extra_action hedeflerinin listesi.
Ör. [ "//my/tools:analyzer" ] .
|
mnemonics
|
Dize listesi; zorunlu Buaction_listener öğesinin dinlemesi gereken işlem anımsatıcılarının listesi (ör. [ "Javac" ] ).
Mnemonic'ler herkese açık bir arayüz değildir. Kısaltmaların ve bunların işlemlerinin değişmeyeceğinin garantisi yoktur. |
extra_action
Kural kaynağını görüntülemeextra_action(name, data, cmd, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, out_templates, requires_action_output, restricted_to, tags, target_compatible_with, testonly, toolchains, tools, visibility)
UYARI: Ek işlemlerin desteği sonlandırıldı. Bunun yerine yönleri kullanın.
extra_action
kuralı, normal bir derleme hedefi olarak belirtildiğinde anlamlı bir çıkış üretmez. Bunun yerine, araç geliştiricilerin mevcut işlemleri gölgeleyen ek işlemleri derleme grafiğine eklemesine olanak tanır.
extra_action
'leri etkinleştirme hakkında ayrıntılı bilgi için action_listener
başlıklı makaleye bakın.
extra_action
komut satırı olarak çalışır. Komut satırı aracı, gölgelediği orijinal işlemle ilgili ayrıntılı bilgileri içeren bir protokol arabelleği dosyasını $(EXTRA_ACTION_FILE) olarak alır.
Ayrıca, orijinal işlemin erişebildiği tüm giriş dosyalarına da erişebilir.
Protokol arabelleğinde depolanan verilerle ilgili ayrıntılar için extra_actions_base.proto dosyasına bakın. Her proto dosyası bir ExtraActionInfo mesajı içerir.
Diğer tüm işlemler gibi, ek işlemler de korumalı alanda çalışır ve bu şekilde tasarlanmalıdır.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; zorunlu Bu hedef için benzersiz bir ad. action_listener kurallarının extra_actions bağımsız değişkeninde label ile bu kurala başvurabilirsiniz.
|
cmd
|
Dize; zorunlu Çalıştırılacak komut.Aşağıdaki farklılıklar dışında genrule cmd özelliği gibi:
|
out_templates
|
Dizelerin listesi; varsayılan değer extra_action komutuyla oluşturulan dosyalar için şablonların listesi.
Şablonda aşağıdaki değişkenler kullanılabilir:
|
requires_action_output
|
Boole değeri; varsayılan değer extra_action için orijinal işlemin çıktısının bu extra_action 'ya giriş olarak sağlanması gerektiğini gösterir.
Doğru olduğunda (varsayılan olarak yanlış), extra_action, orijinal işlemin çıkışlarının girişlerinin bir parçası olarak kullanılabileceğini varsayabilir. |
tools
|
Etiket listesi; varsayılan değer tool bağımlılıklarının listesi.
Daha fazla bilgi için bağımlılıklar tanımına bakın.
Derleme sistemi, Tüm araçlar ve veri bağımlılıkları, komutun göreli yolları kullanabileceği tek bir ağaçta birleştirilir. Çalışma dizini, birleştirilmiş ağacın kökü olur. |