Kurallar
action_listener
Kural kaynağını gösteraction_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: Ekstra işlemler kullanımdan kaldırılmıştır. Bunun yerine yönleri kullanın.
action_listener
kuralı kendiliğinden çıkış sağlamaz.
Bunun yerine, araç geliştiricilerinin işlemden extra_action
öğesine eşleme sağlayarak derleme sistemine extra_action
eklemelerine olanak tanır.
Bu kuralın bağımsız değişkenleri, işlem hatırlatıcılarını extra_action
kurallarıyla eşler.
--experimental_action_listener=<label>
seçeneği belirtildiğinde derleme, derleme grafiğine extra_action
eklemek için belirtilen action_listener
öğesini kullanır.
Ö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; gerekli 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" ] .
Anımsatıcılar herkese açık bir arayüz değildir. Anımsatıcıların ve eylemlerinin değişmeyeceğinin garantisi yoktur. |
extra_action
Kural kaynağını gösterextra_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: Ekstra işlemler kullanımdan kaldırılmıştır. Bunun yerine yönleri kullanın.
extra_action
kuralı, normal derleme hedefi olarak belirtildiğinde anlamlı bir çıkış üretmez. Bunun yerine, araç geliştiricilerinin derleme grafiğine mevcut işlemleri gölgeleyen ek işlemler eklemelerine olanak tanır.
extra_action
öğelerini etkinleştirmeyle ilgili ayrıntılar için bkz. action_listener
.
extra_action
'ler komut satırı olarak çalışır. Komut satırı aracı, $(Extra_ACTION_FILE) biçiminde bir protokol arabelleği içeren ve gölgelediği orijinal işlemle ilgili ayrıntılı bilgi içeren bir dosyaya erişim sağlar.
Ayrıca, orijinal işlemin erişebildiği tüm giriş dosyalarına da erişebilir.
Protokol arabelleğinde depolanan veriler hakkında ayrıntılı bilgi için extra_actions_base.proto sayfasına bakın. Her proto dosyası bir ExtraActionInfo mesajı içerir.
Diğer tüm işlemlerde olduğu gibi ekstra işlemler de korumalı alana alınır ve buna uygun şekilde tasarlanmalıdır.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; gerekli Bu hedef için benzersiz bir ad. Bu kurala, action_listener kurallarının extra_actions bağımsız değişkeninde label tarafından başvurabilirsiniz.
|
cmd
|
Dize; zorunlu Çalıştırılacak komut.Aşağıdaki farklılıklara sahip genrule cmd özelliği gibi:
|
out_templates
|
Dize listesi; varsayılan değer: extra_action komutuyla oluşturulan dosyalar için şablon listesi.
Şablonda aşağıdaki değişkenler kullanılabilir:
|
requires_action_output
|
Boole; varsayılan değer extra_action öğesinin, orijinal işlem çıkışının bu extra_action için giriş olarak mevcut olmasını gerektirdiğini belirtir.
True (varsayılan false) değerine ayarlandığında extra_action, orijinal işlem çıkışlarının girişlerinin bir parçası olarak kullanılabileceğini varsayabilir. |
tools
|
Etiket listesi; varsayılan tool bağımlılıkların listesi.
Daha fazla bilgi için bağımlılıkların tanımına bakın.
Derleme sistemi, bu ön koşulların Tüm araçlar ve bunların veri bağımlılıkları, komutun göreli yolları kullanabileceği tek bir ağaçta birleştirilir. Çalışma dizini, bu birleştirilmiş ağacın kökü olur. |