InfoJava

Penyedia yang mengenkapsulasi informasi tentang target yang mirip dengan Java dan Java.

Anggota

JavaInfo

JavaInfo JavaInfo(output_jar, compile_jar, source_jar=None, compile_jdeps=None, generated_class_jar=None, generated_source_jar=None, native_headers_jar=None, manifest_proto=None, neverlink=False, deps=[], runtime_deps=[], exports=[], exported_plugins=[], jdeps=None, native_libraries=[])

Konstruktor JavaInfo.

Parameter

Parameter Deskripsi
output_jar required
Jar yang dibuat sebagai hasil dari kompilasi (misalnya javac, scalac, dll).
compile_jar File; or None; wajib
Jar yang ditambahkan sebagai dependensi waktu kompilasi sebagai pengganti output_jar. Biasanya ini adalah ijar yang dihasilkan oleh run_ijar. Jika Anda tidak dapat menggunakan ijar, sebaiknya gunakan output stamp_ijar. Jika tidak ingin menggunakan salah satunya, Anda cukup meneruskan output_jar. Ada beberapa kasus khusus saat parameter ini dapat ditetapkan ke None, misalnya menambahkan jar dengan resource atau saat digunakan dalam aturan terminal seperti java_binary.
source_jar File; or None; default = Tidak ada
Jar sumber yang digunakan untuk membuat jar output. Gunakan pack_sources untuk membuat jar sumber ini.
compile_jdeps File; or None; default = None
jdeps informasi tentang dependensi waktu kompilasi yang akan digunakan oleh JavaCompileAction. Ini harus berupa proto biner yang dienkode menggunakan protobuf deps.proto yang disertakan dengan Bazel. Jika tersedia, file ini biasanya dihasilkan oleh compiler header.
generated_class_jar File; or None; default = Tidak ada
File jar yang berisi file class yang dikompilasi dari sumber yang dihasilkan selama pemrosesan anotasi.
generated_source_jar File; or None; default = None
jar sumber yang dibuat sebagai hasil dari pemrosesan anotasi.
native_headers_jar File; or None; default = Tidak ada
Jar yang berisi file header CC yang mendukung implementasi metode native (biasanya output javac -h).
manifest_proto File; or None; default = Tidak ada
Informasi manifes untuk output aturan (jika tersedia). Ini harus berupa proto biner yang dienkode menggunakan protobuf manifest.proto yang disertakan dengan Bazel. IDE dan alat lainnya dapat menggunakan informasi ini untuk pemrosesan yang lebih efisien.
default = False
Jika true (benar), hanya gunakan library ini untuk kompilasi dan bukan saat runtime.
deps sequence of JavaInfos; default = []
Dependensi waktu kompilasi yang digunakan untuk membuat jar output.
runtime_deps sequence of JavaInfos; default = []
Dependensi runtime yang diperlukan untuk library ini.
exports sequence of JavaInfos; default = []
Library yang disediakan untuk pengguna library ini. Lihat juga java_library.exports.
exported_plugins sequence of JavaPluginInfos; default = []
Daftar plugin yang diekspor. Opsional.
jdeps File; or None; default = Tidak ada
informasi jdeps untuk output aturan (jika tersedia). Ini harus berupa proto biner yang dienkode menggunakan protobuf deps.proto yang disertakan dengan Bazel. Jika tersedia, file ini biasanya dihasilkan oleh compiler. IDE dan alat lainnya dapat menggunakan informasi ini untuk pemrosesan yang lebih efisien.
native_libraries sequence of CcInfos; default = []
Dependensi library native CC yang diperlukan untuk library ini.

annotation_processing

java_annotation_processing JavaInfo.annotation_processing

Menampilkan informasi tentang pemroses anotasi yang diterapkan pada target yang mirip dengan Java/Java ini.

Tidak digunakan lagi: Sebagai gantinya, gunakan plugins (yang menampilkan informasi tentang pemroses anotasi yang akan diterapkan oleh target yang menggunakan). Dapat menampilkan None.

api_generating_plugins

JavaPluginData JavaInfo.api_generating_plugins

Menampilkan data tentang API yang menghasilkan plugin yang ditentukan atau diekspor oleh target ini.

Pemroses anotasi tersebut diterapkan ke target Java sebelum memproduksi jar header-nya (yang berisi tanda tangan metode). Jika tidak ada plugin API, jar header akan dihasilkan dari sumber, sehingga mengurangi jalur penting.

api_generating_plugins adalah subset dari plugins.

compilation_info

java_compilation_info JavaInfo.compilation_info

Menampilkan informasi kompilasi untuk target mirip Java/Java ini. Dapat menampilkan None.

compile_jars

depset JavaInfo.compile_jars

Menampilkan Jar yang diperlukan oleh target ini langsung pada waktu kompilasi. Pengendali dapat berupa jar antarmuka (ijar atau hjar), jar reguler, atau keduanya, bergantung pada apakah penerapan aturan memilih untuk membuat jar antarmuka atau tidak.

full_compile_jars

depset JavaInfo.full_compile_jars

Menampilkan Jars waktu kompilasi reguler dan penuh yang diperlukan oleh target ini secara langsung. Status bisa

Catatan: JavaInfo.compile_jars dapat menampilkan campuran Jar antarmuka dan Jar biasa.

Hanya gunakan metode ini jika Jar antarmuka tidak berfungsi dengan kumpulan aturan Anda (misalnya beberapa target Scala). Jika Anda bekerja dengan target khusus Java, sebaiknya gunakan Jar antarmuka melalui JavaInfo.compile_jars

java_outputs

list JavaInfo.java_outputs

Menampilkan informasi tentang output target mirip Java/Java ini.

module_flags_info

JavaModuleFlagsProvider JavaInfo.module_flags_info

Menampilkan konfigurasi flag modul Java.

output

java_output_jars JavaInfo.outputs

Menampilkan informasi tentang output target mirip Java/Java ini. Tidak digunakan lagi: use java_outputs. Dapat menampilkan None.

plugin

JavaPluginData JavaInfo.plugins

Menampilkan data tentang semua plugin yang harus diterapkan oleh target yang menggunakan.

File ini biasanya berupa java_plugin itu sendiri atau java_library yang mengekspor satu atau beberapa plugin.

java_library menjalankan pemrosesan anotasi dengan semua plugin dari kolom ini muncul di atribut deps dan plugins.

runtime_output_jars

sequence JavaInfo.runtime_output_jars

Menampilkan daftar Jar runtime yang dibuat oleh target seperti Java/Java ini.

source_jars

sequence JavaInfo.source_jars

Menampilkan daftar Jar dengan semua file sumber (termasuk yang dihasilkan oleh anotasi) dari target itu sendiri, yaitu TIDAK menyertakan sumber dependensi transitif.

to_json

string JavaInfo.to_json()

Tidak digunakan lagi. API ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal itu. Fungsi ini dinonaktifkan dengan ---incompatible_struct_has_no_methods. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera dilakukan.
Membuat string JSON dari parameter struct. Metode ini hanya berfungsi jika semua elemen struct (secara rekursif) berupa string, int, boolean, struct lainnya, daftar jenis ini atau kamus dengan kunci string dan nilai jenis ini. Kutipan dan baris baru dalam string akan di-escape. Contoh:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
.

Tidak digunakan lagi: sebagai gantinya, gunakan json.encode(x) atau json.encode_indent(x), yang berfungsi untuk nilai selain struct dan tidak mencemari namespace kolom struct.

to_proto

string JavaInfo.to_proto()

Tidak digunakan lagi. API ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal itu. Fungsi ini dinonaktifkan dengan ---incompatible_struct_has_no_methods. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera dilakukan.
Membuat pesan teks dari parameter struct. Metode ini hanya berfungsi jika semua elemen struct (secara rekursif) berupa string, int, boolean, struct atau dikte lain, atau daftar berjenis ini. Kutipan dan baris baru dalam string akan di-escape. Kunci struct diiterasi dalam urutan yang diurutkan. Contoh:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

Tidak digunakan lagi: gunakan proto.encode_text(x) sebagai gantinya.

transitive_compile_time_jars

depset JavaInfo.transitive_compile_time_jars

Menampilkan kumpulan Jar transit yang diperlukan untuk membuat target.

transitive_deps

depset JavaInfo.transitive_deps

Tidak digunakan lagi: Sebagai gantinya, gunakan JavaInfo.transitive_compile_time_jars. Metode ini menampilkan nilai yang sama.

transitive_native_libraries

depset JavaInfo.transitive_native_libraries

Menampilkan kumpulan library native CC transitif yang diperlukan oleh target.

transitive_runtime_deps

depset JavaInfo.transitive_runtime_deps

Tidak digunakan lagi: sebagai gantinya, gunakan JavaInfo.transitive_runtime_jars. Metode ini menampilkan nilai yang sama

transitive_runtime_jars

depset JavaInfo.transitive_runtime_jars

Menampilkan kumpulan Jars transitif yang diperlukan pada classpath runtime target.

transitive_source_jars

depset JavaInfo.transitive_source_jars

Menampilkan Jar yang berisi file sumber target saat ini dan semua dependensi transitifnya.