Aturan
action_pemroses
Lihat sumber aturanaction_listener(name, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, extra_actions, features, licenses, mnemonics, restricted_to, tags, target_compatible_with, testonly, visibility)
PERINGATAN: Tindakan tambahan tidak digunakan lagi. Gunakan aspek sebagai gantinya.
Aturan action_listener
tidak menghasilkan output itu sendiri.
Sebaliknya, alat ini memungkinkan developer alat menyisipkan
extra_action
ke dalam sistem build,
dengan menyediakan pemetaan dari tindakan ke extra_action
.
Argumen aturan ini memetakan mnemonik tindakan ke aturan extra_action
.
Dengan menentukan opsi
--experimental_action_listener=<label>
,
build akan menggunakan action_listener
yang ditentukan untuk menyisipkan
extra_action
ke dalam grafik build.
Contoh
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)", )
Argumen
Atribut | |
---|---|
name |
Nama unik untuk target ini. |
extra_actions
|
extra_action target
yang harus ditambahkan action_listener ini ke grafik build.
Misalnya, [ "//my/tools:analyzer" ] .
|
mnemonics
|
action_listener ini, mis., [ "Javac" ] .
Mnemonik bukanlah antarmuka publik. Tidak ada jaminan bahwa mnemonik dan tindakannya tidak berubah. |
tindakan_tambahan
Lihat sumber aturanextra_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)
PERINGATAN: Tindakan tambahan tidak digunakan lagi. Gunakan aspek sebagai gantinya.
Aturan extra_action
tidak menghasilkan output yang bermakna
jika ditentukan sebagai target build reguler. Sebagai gantinya, alat ini memungkinkan developer alat
menyisipkan tindakan tambahan ke dalam grafik build yang membayangi tindakan yang ada.
Lihat action_listener
untuk mengetahui detail
tentang cara mengaktifkan extra_action
.
extra_action
berjalan sebagai command line. Alat command line mendapatkan
akses ke file yang berisi buffering protokol sebagai $(EXTRA_ACTION_FILE)
dengan informasi mendetail tentang tindakan asli yang dibayangi.
Class ini juga memiliki akses ke semua file input yang dapat diakses oleh tindakan asli.
Lihat extra_actions_base.proto
untuk mengetahui detail tentang data yang disimpan di dalam buffering protokol. Setiap file proto berisi pesan ExtraActionInfo.
Sama seperti semua tindakan lainnya, tindakan tambahan di-sandbox, dan harus didesain untuk menanganinya.
Argumen
Atribut | |
---|---|
name |
Nama unik untuk target ini. Anda dapat merujuk ke aturan ini denganlabel dalam argumen extra_actions
aturan action_listener .
|
cmd
|
Seperti atribut cmd aturan dengan perbedaan berikut:
|
out_templates
|
extra_action .
Template dapat menggunakan variabel berikut:
|
requires_action_output
|
extra_action memerlukan output
tindakan asli sebagai input ke extra_action ini.
Jika true (salah default), tindakan ini dapat mengasumsikan bahwa output tindakan asli tersedia sebagai bagian dari inputnya. |
tools
|
tool untuk aturan ini.
Lihat definisi dependensi untuk mengetahui informasi selengkapnya.
Sistem build memastikan prasyarat ini di-build sebelum menjalankan perintah
Semua alat dan dependensi datanya digabungkan menjadi satu hierarki tempat perintah dapat menggunakan jalur relatif. Direktori yang berfungsi akan menjadi root hierarki terpadu tersebut. |