Kurallar
action_listener
action_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ı herhangi bir çıktı üretmez.
Bunun yerine, araç geliştiricilerin derleme sistemine extra_action
öğeleri eklemesine olanak tanır. Bunun yerine, işlemden extra_action
noktasına eşleme sağlar.
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ği belirtildiğinde derleme, derleme grafiğine extra_action
öğeleri 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 |
Bu hedef için benzersiz bir ad. |
extra_actions
|
action_listener öğesinin derleme grafiğine eklemesi gereken extra_action hedefleri içeren bir liste.
Ör. [ "//my/tools:analyzer" ] .
|
mnemonics
|
action_listener tarafından 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
extra_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ştiricilerin derleme grafiğine mevcut işlemleri gölgeleyen ek işlemler eklemelerine olanak tanır.
extra_action
etkinleştirmelerinin nasıl yapılacağıyla ilgili ayrıntılar için action_listener
bölümüne 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 $(EXTRA_ACTION_FILE) protokol arabelleği içeren bir dosyaya erişim elde eder.
Ayrıca, orijinal işlemin erişim sahibi olduğu tüm giriş dosyalarına da erişebilir.
Protokol arabelleğinde depolanan veriler ile ilgili ayrıntılar için extra_actions_base.proto bölümüne bakın. Her proto dosyasında bir ExtraActionInfo mesajı bulunur.
Diğer tüm işlemler gibi ek işlemler de korumalı alana alınır ve bunu işleyecek şekilde tasarlanmalıdır.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. action_listener kurallarının extra_actions bağımsız değişkeninde label tarafından bu kurala başvurabilirsiniz.
|
cmd
|
genrule cmd özelliğinde olduğu gibi, aşağıdaki farklılıklar söz konusudur:
|
out_templates
|
extra_action komutuyla oluşturulan dosyalar için şablon listesi.
Şablon aşağıdaki değişkenleri kullanabilir:
|
requires_action_output
|
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, girişlerinin bir parçası olarak orijinal işlem çıkışlarının mevcut olduğunu varsayabilir. |
tools
|
tool bağımlılıklarının listesi.
Daha fazla bilgi için dependencies 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, söz konusu birleştirilmiş ağacın kökü olacaktır. |