java_umum

. 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Utilitas untuk dukungan kompilasi Java di Starlark.

Anggota

BootClassPathInfo

Provider java_common.BootClassPathInfo

Penyedia yang digunakan untuk menyediakan informasi bootclasspath

compile

struct 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, bootclasspath=None, 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/jar sumber Java dari implementasi aturan Starlark dan menampilkan penyedia yang mewakili hasil kompilasi dan dapat ditambahkan ke kumpulan penyedia yang dikeluarkan oleh aturan ini.

Parameter

Parameter Deskripsi
ctx required
Konteks aturan.
source_jars Urutan File; defaultnya adalah []
Daftar jar yang akan dikompilasi. Setidaknya salah satu dari source_jars atau source_files harus ditentukan.
source_files Urutan File; defaultnya adalah []
Daftar file sumber Java yang akan dikompilasi. Minimal satu source_jars atau source_file harus ditentukan.
output wajib
output_source_jar File; atau None; default-nya adalah None
jar sumber output. Opsional. Default-nya adalah `{output_jar}-src.jar` jika tidak ditetapkan.
javac_opts urutan string; defaultnya adalah []
Daftar opsi javac yang diinginkan. Opsional.
deps Urutan struct; defaultnya adalah []
Daftar dependensi. Opsional.
runtime_deps Urutan struct; defaultnya adalah []
Daftar dependensi runtime. Opsional.
exports Urutan struct; defaultnya adalah []
Daftar ekspor. Opsional.
plugins urutan struct; atau urutan struct; default adalah []
Daftar plugin. Opsional.
exported_plugins Urutan struct; atau urutan struct; default-nya adalah []
Daftar plugin yang diekspor. Opsional.
native_libraries urutan CcInfo; default adalah []
dependensi library native CC yang diperlukan untuk library ini.
annotation_processor_additional_inputs Urutan File; defaultnya adalah []
Daftar input yang akan diambil tindakan kompilasi Java selain sumber Java untuk pemrosesan anotasi.
annotation_processor_additional_outputs Urutan File; defaultnya adalah []
Daftar output yang akan dihasilkan oleh tindakan kompilasi Java selain jar class dari pemrosesan anotasi.
strict_deps default adalah 'ERROR'
String yang menentukan cara menangani dependensi ketat. Nilai yang mungkin: 'OFF', 'ERROR', 'WARN', dan 'DEFAULT'. Untuk detail selengkapnya, lihat /docs/user-manual#flag--strict_java_deps. Secara default, 'ERROR'.
java_toolchain diperlukan
JavaToolchainInfo akan digunakan untuk kompilasi ini. Wajib.
bootclasspath default adalah None
BootClassPathInfo yang akan digunakan untuk kompilasi ini. Jika ada, mengganti bootclasspath yang terkait dengan java_ toolchain yang disediakan. Opsional.
host_javabase defaultnya adalah None
Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Harap tidak bergantung padanya. Fitur ini dinonaktifkan dengan --+incompatible_java_common_parameters. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera terjadi.
Tidak digunakan lagi: Anda dapat menghapus parameter ini (host_javabase disediakan dengan java_toolchain)
sourcepath urutan File; defaultnya adalah []
resources urutan File; defaultnya adalah []
resource_jars urutan File; defaultnya adalah []
classpath_resources Urutan File; default-nya adalah []
default-nya adalah False
enable_annotation_processing default adalah True
Menonaktifkan pemrosesan anotasi dalam kompilasi ini, sehingga menyebabkan pemroses anotasi yang disediakan di plugin atau di exported_plugins dari dependensi diabaikan.
enable_compile_jar_action default adalah True
Mengaktifkan kompilasi header atau pembuatan ijar. Jika disetel ke Salah (False), kode ini akan memaksa penggunaan jar class penuh dalam classpath kompilasi dependensi mana pun. Melakukan hal itu dimaksudkan untuk digunakan oleh target non-library seperti biner yang tidak memiliki dependensi.
add_exports urutan string; default adalah []
Izinkan library ini mengakses / yang diberikan. Opsional.
add_opens urutan string; defaultnya adalah []
Izinkan library ini untuk mengakses /yang diberikan secara reflektif. Opsional.

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

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

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

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

gabungkan

struct java_common.merge(providers)

Menggabungkan penyedia yang diberikan menjadi satu JavaInfo.

Parameter

Parameter Deskripsi
providers urutan struct; diperlukan
Daftar penyedia yang akan digabungkan.

pack_sources

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 parameter output_jar atau output_source_jar wajib diisi.

Parameter

Parameter Deskripsi
actions wajib
ctx.actions
output_jar File; atau None; default-nya adalah None
Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Harap tidak bergantung padanya. Fitur ini dinonaktifkan dengan --+incompatible_java_common_parameters. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera terjadi.
Tidak digunakan lagi: Jar output aturan. Digunakan untuk memberi nama jar sumber yang dihasilkan. Parameter ini menetapkan parameter output_source_jar ke `{output_jar}-src.jar`.Gunakan parameter output_source_jar secara langsung.
output_source_jar File; atau None; default-nya adalah None
jar sumber output.
sources urutan File; default adalah []
Daftar file sumber Java yang akan dikemas ke dalam jar sumber.
source_jars urutan File; default adalah []
Daftar jar sumber yang akan dikemas ke dalam jar sumber.
java_toolchain required
JavaToolchainInfo yang akan digunakan untuk menemukan alat ijar.
host_javabase default-nya adalah None
Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Harap tidak bergantung padanya. Layanan ini dinonaktifkan dengan --+incompatible_java_common_parameters. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera terjadi.
Tidak digunakan lagi: Anda dapat menghapus parameter ini (host_javabase disediakan dengan java_toolchain)

run_ijar

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

Menjalankan ijar pada stoples, menghapus isi metodenya. Hal ini membantu mengurangi pembuatan 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 diperlukan
Toples untuk menjalankan ijar.
target_label Label; atau None; defaultnya adalah None
Label target untuk memberi stempel pada stoples. Digunakan untuk dukungan add_dep. Biasanya, Anda akan meneruskan ctx.label untuk memberi stempel pada stoples dengan label aturan saat ini.
java_toolchain required
JavaToolchainInfo yang akan digunakan untuk menemukan alat ijar.

stamp_jar

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

Memberi stempel pada stoples dengan label target untuk dukungan add_dep. Nilai yang ditampilkan biasanya diteruskan ke JavaInfo#compile_jar. Sebaiknya gunakan run_ijar jika memungkinkan.

Parameter

Parameter Deskripsi
actions required
ctx.actions
jar diperlukan
Stoples untuk menjalankan stamp_jar.
target_label required
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 required
JavaToolchainInfo yang akan digunakan untuk menemukan alat stamp_jar.