Anggota
- JavaInfo
- annotation_processing
- api_generating_plugins
- compilation_info
- compile_jars
- full_compile_jars
- java_outputs
- module_flags_info
- output
- plugin
- runtime_output_jars
- source_jars
- to_json
- to_proto
- transitive_compile_time_jars
- transitive_deps
- transitive_native_libraries
- transitive_runtime_deps
- transitive_runtime_jars
- transitive_source_jars
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 ;
wajibJar 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 adaJar sumber yang digunakan untuk membuat jar output. Gunakan pack_sources untuk membuat jar sumber ini.
|
compile_jdeps
|
File; or None ;
default = Nonejdeps 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 adaFile jar yang berisi file class yang dikompilasi dari sumber yang dihasilkan selama pemrosesan anotasi. |
generated_source_jar
|
File; or None ;
default = Nonejar sumber yang dibuat sebagai hasil dari pemrosesan anotasi. |
native_headers_jar
|
File; or None ;
default = Tidak adaJar yang berisi file header CC yang mendukung implementasi metode native (biasanya output javac -h). |
manifest_proto
|
File; or None ;
default = Tidak adaInformasi 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. |
neverlink
|
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 adainformasi 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_processingMenampilkan 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_pluginsMenampilkan 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_infoMenampilkan informasi kompilasi untuk target mirip Java/Java ini. Dapat menampilkan
None
.
compile_jars
depset JavaInfo.compile_jarsMenampilkan 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_jarsMenampilkan Jars waktu kompilasi reguler dan penuh yang diperlukan oleh target ini secara langsung. Status bisa
- Jar reguler yang sesuai dari antarmuka Jars yang ditampilkan oleh
JavaInfo.compile_jars
- Jar biasa (lengkap) yang ditampilkan oleh
JavaInfo.compile_jars
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_outputsMenampilkan informasi tentang output target mirip Java/Java ini.
module_flags_info
JavaModuleFlagsProvider JavaInfo.module_flags_infoMenampilkan konfigurasi flag modul Java.
output
java_output_jars JavaInfo.outputsMenampilkan informasi tentang output target mirip Java/Java ini. Tidak digunakan lagi: use java_outputs. Dapat menampilkan
None
.
plugin
JavaPluginData JavaInfo.pluginsMenampilkan 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_jarsMenampilkan daftar Jar runtime yang dibuat oleh target seperti Java/Java ini.
source_jars
sequence JavaInfo.source_jarsMenampilkan 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_jarsMenampilkan kumpulan Jar transit yang diperlukan untuk membuat target.
transitive_deps
depset JavaInfo.transitive_depsTidak digunakan lagi: Sebagai gantinya, gunakan
JavaInfo.transitive_compile_time_jars
. Metode ini menampilkan nilai yang sama.
transitive_native_libraries
depset JavaInfo.transitive_native_librariesMenampilkan kumpulan library native CC transitif yang diperlukan oleh target.
transitive_runtime_deps
depset JavaInfo.transitive_runtime_depsTidak digunakan lagi: sebagai gantinya, gunakan
JavaInfo.transitive_runtime_jars
. Metode ini menampilkan nilai yang sama
transitive_runtime_jars
depset JavaInfo.transitive_runtime_jarsMenampilkan kumpulan Jars transitif yang diperlukan pada classpath runtime target.
transitive_source_jars
depset JavaInfo.transitive_source_jarsMenampilkan Jar yang berisi file sumber target saat ini dan semua dependensi transitifnya.