InfoJava

Penyedia yang mengenkapsulasi informasi tentang target seperti 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 wajib
Toples yang dibuat sebagai hasil 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, pertimbangkan untuk menggunakan output stamp_ijar. Jika tidak ingin menggunakannya, Anda cukup meneruskan output_jar. Ada beberapa kasus khusus ketika parameter ini dapat ditetapkan ke None, misalnya menambahkan stoples 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 = Tidak ada
Informasi jdeps tentang dependensi waktu kompilasi yang akan digunakan oleh JavaCompileAction. Protokol 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 = Tidak ada
Jar sumber yang dibuat sebagai hasil 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). Solusi 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 = Salah
Jika true (benar), hanya gunakan library ini untuk kompilasi, bukan saat runtime.
deps sequence of JavaInfos; default = []
Mengompilasi dependensi waktu 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 akan disediakan bagi 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). Protokol 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 seperti Java/Java ini.

Tidak digunakan lagi: Sebagai gantinya, gunakan plugins (yang menampilkan informasi tentang pemroses anotasi yang akan diterapkan oleh menggunakan target). Mungkin 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 menghasilkan jar header-nya (yang berisi tanda tangan metode). Jika tidak ada plugin API, header jar akan dibuat 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 seperti Java/Java ini. Mungkin menampilkan None.

compile_jars

depset JavaInfo.compile_jars

Menampilkan Jar yang diperlukan oleh target ini secara langsung pada waktu kompilasi. Dapat berupa jar antarmuka (ijar atau hjar), jar biasa, atau keduanya, tergantung apakah implementasi aturan memilih untuk membuat jar antarmuka atau tidak.

full_compile_jars

depset JavaInfo.full_compile_jars

Menampilkan Jar waktu kompilasi lengkap dan reguler yang diperlukan oleh target ini secara langsung. Dapat berupa

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 (mis.beberapa target Scala). Jika Anda bekerja dengan target khusus Java, sebaiknya gunakan Jars antarmuka melalui JavaInfo.compile_jars

java_outputs

list JavaInfo.java_outputs

Menampilkan informasi tentang output target yang 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 yang mirip Java/Java ini. Tidak digunakan lagi: gunakan java_outputs. Mungkin menampilkan None.

plugin

JavaPluginData JavaInfo.plugins

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

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 yang muncul di atribut deps dan plugins.

runtime_output_jars

sequence JavaInfo.runtime_output_jars

Menampilkan daftar Jar runtime yang dibuat oleh target mirip 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 termasuk sumber dependensi transitif.

to_json

string JavaInfo.to_json()

Tidak digunakan lagi. API ini tidak digunakan lagi dan akan segera dihapus. Harap tidak bergantung padanya. Layanan ini dinonaktifkan dengan ---incompatible_struct_has_no_methods. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera terjadi.
Membuat string JSON dari parameter struct. Metode ini hanya berfungsi jika semua elemen struct (rekursif) adalah string, int, boolean, struct lainnya, daftar jenis ini, atau kamus dengan kunci string dan nilai jenis ini. Tanda kutip 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. Harap tidak bergantung padanya. Layanan ini dinonaktifkan dengan ---incompatible_struct_has_no_methods. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera terjadi.
Membuat pesan teks dari parameter struct. Metode ini hanya berfungsi jika semua elemen struct (rekursif) adalah string, int, boolean, struct atau dict lain, atau daftar jenis ini. Tanda kutip dan baris baru dalam string akan di-escape. Kunci struktur 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: sebagai gantinya, gunakan proto.encode_text(x).

transitive_compile_time_jars

depset JavaInfo.transitive_compile_time_jars

Menampilkan kumpulan Jar transitif yang diperlukan untuk membangun target.

transitive_deps

depset JavaInfo.transitive_deps

Tidak digunakan lagi: Sebagai gantinya, gunakan JavaInfo.transitive_compile_time_jars. {i>Function<i} ini menghasilkan nilai yang sama.

transitive_native_libraries

depset JavaInfo.transitive_native_libraries

Menampilkan kumpulan transitif library native CC yang diperlukan oleh target.

transitive_runtime_deps

depset JavaInfo.transitive_runtime_deps

Tidak digunakan lagi: sebagai gantinya, gunakan JavaInfo.transitive_runtime_jars. {i>Function<i} ini menghasilkan nilai yang sama

transitive_runtime_jars

depset JavaInfo.transitive_runtime_jars

Menampilkan kumpulan Jar 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.