java_umum

Laporkan masalah Lihat sumber

Utilitas untuk dukungan kompilasi Java di Starlark.

Anggota

Info BootClassPath

Provider java_common.BootClassPathInfo

Penyedia yang digunakan untuk menyediakan informasi bootclasspath

kompilasi

JavaInfo java_common.compile(ctx, *, source_jars=[], source_files=[], output, output_source_jar=None, javac_opts=[], deps=[], runtime_deps=[], exports=[], plugins=[], exported_plugins=[], native_libraries=[], annotation_processor_additional_inputs=[], annotation_processor_additional_outputs=[], strict_deps='ERROR', java_toolchain, host_javabase=None, sourcepath=[], resources=[], resource_jars=[], classpath_resources=[], neverlink=False, enable_annotation_processing=True, enable_compile_jar_action=True, add_exports=[], add_opens=[])

Mengompilasi file/jarak sumber Java dari penerapan aturan Starlark dan menampilkan penyedia yang mewakili hasil kompilasi serta dapat ditambahkan ke kumpulan penyedia yang dikeluarkan oleh aturan ini.

Parameter

Parameter Deskripsi
ctx wajib
Konteks aturan.
source_jars sequence of Files; default = []
Daftar jar yang akan dikompilasi. Setidaknya salah satu source_jars atau source_files harus ditentukan.
source_files sequence of Files; default = []
Daftar file sumber Java yang akan dikompilasi. Setidaknya salah satu source_jars atau source_files harus ditentukan.
output wajib
output_source_jar File; or None; default = None
Jar sumber output. Opsional. Setelan default-nya adalah `{output_jar}-src.jar` jika tidak disetel.
javac_opts sequence of strings; default = []
Daftar opsi javac yang diinginkan. Opsional.
deps sequence of JavaInfos; default = []
Daftar dependensi. Opsional.
runtime_deps sequence of JavaInfos; default = []
Daftar dependensi runtime. Opsional.
exports sequence of JavaInfos; default = []
Daftar ekspor. Opsional.
plugins sequence of JavaPluginInfos; or sequence of JavaInfos; default = []
Daftar plugin. Opsional.
exported_plugins sequence of JavaPluginInfos; or sequence of JavaInfos; default = []
Daftar plugin yang diekspor. Opsional.
native_libraries sequence of CcInfos; default = []
dependensi library native CC yang diperlukan untuk library ini.
annotation_processor_additional_inputs sequence of Files; default = []
Daftar input yang akan diambil oleh tindakan kompilasi Java, selain sumber Java, untuk pemrosesan anotasi.
annotation_processor_additional_outputs sequence of Files; default = []
Daftar output yang akan dihasilkan oleh tindakan kompilasi Java, selain jar class dari pemrosesan anotasi.
strict_deps default = 'ERROR'
String yang menentukan cara menangani dependensi yang ketat. Nilai yang mungkin: 'OFF', 'ERROR', 'WARN', dan 'DEFAULT'. Untuk mengetahui detail selengkapnya, lihat /docs/user-manual#flag--strict_java_deps. Secara default 'ERROR'.
java_toolchain diperlukan
Java toolchainInfo yang akan digunakan untuk kompilasi ini. Wajib.
host_javabase default = None
Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung padanya. Fitur ini dinonaktifkan dengan --+incompatible_java_common_parameters. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera dilakukan.
Tidak digunakan lagi: Anda dapat menghapus parameter ini (host_javabase disediakan dengan java_Toolchain)
sourcepath sequence of Files; default = []
resources sequence of Files; default = []
resource_jars sequence of Files; default = []
classpath_resources sequence of Files; default = []
default = Salah
enable_annotation_processing default = True
Menonaktifkan pemrosesan anotasi dalam kompilasi ini, sehingga menyebabkan pemroses anotasi apa pun yang disediakan dalam plugin atau di dependensi export_plugins akan diabaikan.
enable_compile_jar_action default = True
Mengaktifkan kompilasi header atau pembuatan ijar. Jika disetel ke Salah (False), penggunaan paksa class penuh jar di classpath kompilasi dependensi bergantung. Tindakan ini dimaksudkan untuk digunakan oleh target non-library seperti biner yang tidak memiliki dependensi.
add_exports sequence of strings; default = []
Izinkan library ini mengakses /yang ditentukan. Opsional.
add_opens sequence of strings; default = []
Izinkan library ini mengakses /yang ditentukan secara reflektif. Opsional.

InfoPlugin Java

Provider java_common.JavaPluginInfo

Kunci yang digunakan untuk mengambil penyedia yang berisi informasi tentang plugin Java. Nilai yang sama dapat diakses seperti JavaPluginInfo.
Lebih suka menggunakan JavaPluginInfo dalam kode baru.

InfoRuntime Java

Provider java_common.JavaRuntimeInfo

Kunci yang digunakan untuk mengambil penyedia yang berisi informasi tentang runtime Java yang digunakan.

Toolchain JavaJava

Provider java_common.JavaToolchainInfo

Kunci yang digunakan untuk mengambil penyedia yang berisi informasi tentang toolchain Java yang sedang digunakan.

buat_tidak_ketat

JavaInfo java_common.make_non_strict(java_info)

Menampilkan penyedia Java baru yang bagian JAR langsungnya adalah gabungan dari jar langsung dan tidak langsung dari penyedia Java tertentu.

Parameter

Parameter Deskripsi
java_info wajib
Info Java.

gabungkan

JavaInfo java_common.merge(providers, *, merge_java_outputs=True, merge_source_jars=True)

Menggabungkan penyedia yang ditentukan menjadi satu JavaInfo.

Parameter

Parameter Deskripsi
providers sequence of JavaInfos; diperlukan
Daftar penyedia yang akan digabungkan.
merge_java_outputs default = Benar
merge_source_jars default = Benar

sumber_paket

File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)

Mengemas sumber dan jar sumber ke dalam satu file jar sumber. Nilai yang ditampilkan biasanya diteruskan ke

JavaInfo#source_jar

.Setidaknya salah satu dari parameter output_jar atau output_source_jar wajib diisi.

Parameter

Parameter Deskripsi
actions wajib
ctx.actions
output_jar File; or None; default = Tidak ada
Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung padanya. Fitur ini dinonaktifkan dengan --+incompatible_java_common_parameters. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera dilakukan.
Tidak digunakan lagi: Output aturan. Digunakan untuk memberi nama jar sumber yang dihasilkan. Parameter menetapkan parameter output_source_jar ke `{output_jar}-src.jar`.Gunakan parameter output_source_jar secara langsung.
output_source_jar File; or None; default = None
Jar sumber output.
sources sequence of Files; default = []
Daftar file sumber Java yang akan dikemas ke dalam jar sumber.
source_jars sequence of Files; default = []
Daftar jar sumber yang akan dikemas ke dalam jar sumber.
java_toolchain wajib
Java toolchainInfo yang digunakan untuk menemukan alat ijar.
host_javabase default = None
Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung padanya. Fitur ini dinonaktifkan dengan --+incompatible_java_common_parameters. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera dilakukan.
Tidak digunakan lagi: Anda dapat menghapus parameter ini (host_javabase disediakan dengan java_Toolchain)
Dapat menampilkan None.

penyedia

Provider java_common.provider

Menampilkan penyedia yang dideklarasikan Java.
Nilai yang sama dapat diakses JavaInfo.
Lebih suka menggunakan JavaInfo dalam kode baru.

Run_Ijar

File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)

Menjalankan ijar pada jar, melepaskannya dari isi metodenya. Ini membantu mengurangi mem-build ulang jar dependen selama kompilasi ulang yang hanya terdiri dari perubahan sederhana pada implementasi metode. Nilai yang ditampilkan biasanya diteruskan ke JavaInfo#compile_jar.

Parameter

Parameter Deskripsi
actions wajib
ctx.actions
jar wajib
Jar untuk menjalankan ijar.
target_label Label; or None; default = None
Label target untuk memberi stempel pada jar. Digunakan untuk dukungan add_dep. Biasanya, Anda akan meneruskan ctx.label untuk memberi stempel pada jar dengan label aturan saat ini.
java_toolchain wajib
Java toolchainInfo yang digunakan untuk menemukan alat ijar.

stempel_jar

File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)

Memberi stempel pada jar dengan label target untuk dukungan add_dep. Nilai yang ditampilkan biasanya diteruskan ke JavaInfo#compile_jar. Pilih untuk menggunakan run_ijar jika memungkinkan.

Parameter

Parameter Deskripsi
actions wajib
ctx.actions
jar wajib
Jar untuk menjalankan stamp_jar.
target_label wajib
Label target untuk memberi stempel pada jar. Digunakan untuk dukungan add_dep. Biasanya, Anda akan meneruskan ctx.label untuk memberi stempel pada jar dengan label aturan saat ini.
java_toolchain diperlukan
Java toolchainInfo yang digunakan untuk menemukan alat stamp_jar.

ke_java_binary_info

JavaInfo java_common.to_java_binary_info(java_info)

Menampilkan salinan JavaInfo yang diberikan dengan info minimal yang ditampilkan oleh java_binary

Parameter

Parameter Deskripsi
java_info diperlukan
JavaInfo yang akan ditingkatkan.