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 çıkış oluşturmaz.
Bunun yerine, araç geliştiricilerinin işlemden extra_action
öğesine bir eşleme sağlayarak extra_action
öğelerini derleme sistemine 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ğini belirttiğinizde derleme, derleme grafiğine extra_action
eklemek için belirtilen action_listener
kodunu 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 hedeflerin listesi.
Ör. [ "//my/tools:analyzer" ] .
|
mnemonics
|
action_listener kullanıcısının dinlemesi gereken eylem anımsatıcılarının listesi, ör. [ "Javac" ] .
Anımsatıcılar herkese açık bir arayüz değildir. Hatırlatı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ştiricilerinin 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
adresine bakın.
extra_action
komut satırı olarak çalışır. Komut satırı aracı, gölgelediği orijinal işlemle ilgili ayrıntılı bilgilerin yer aldığı $(EXTRA_ACTION_FILE) protokol arabelleği içeren bir dosyaya erişim elde eder.
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 bölümüne bakın. Her proto dosyası bir ExtraActionInfo mesajı içerir.
Diğer tüm işlemler gibi ekstra işlemler de korumalı alana alınır ve bunu halledecek şekilde tasarlanmalıdır.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
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
|
Aşağıdaki farklılıklarla birlikte genrule cmd özelliğinde olduğu gibi:
|
out_templates
|
extra_action komutuyla oluşturulan dosyalar için şablonların listesidir.
Ş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 olmasını gerektirdiğini belirtir.
True (varsayılan false) değerine ayarlandığında, extra_action, girişlerin bir parçası olarak orijinal işlem çıkışlarının kullanılabileceğini varsayabilir. |
tools
|
tool bağımlılıklarını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ü olacaktır. |