Utilitas untuk dukungan kompilasi Java di Starlark.
Anggota
BootClassPathInfo
Provider java_common.BootClassPathInfoPenyedia 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 sumber/jar Java dari implementasi aturan Starlark dan menampilkan penyedia yang mewakili hasil kompilasi dan dapat ditambahkan ke set penyedia yang dikeluarkan oleh aturan ini.
Parameter
Parameter | Deskripsi |
---|---|
ctx
|
required Konteks aturan. |
source_jars
|
urutan File;
default adalah [] Daftar jar yang akan dikompilasi. Setidaknya salah satu dari source_jars atau source_files harus ditentukan. |
source_files
|
urutan File;
default adalah [] Daftar file sumber Java yang akan dikompilasi. Setidaknya salah satu dari source_jars atau source_files harus ditentukan. |
output
|
wajib diisi |
output_source_jar
|
File; atau None ;
defaultnya 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;
default adalah [] Daftar dependensi. Opsional. |
runtime_deps
|
Urutan struct;
defaultnya adalah [] Daftar dependensi runtime. Opsional. |
exports
|
urutan struct;
default adalah [] Daftar ekspor. Opsional. |
plugins
|
urutan struct; atau urutan struct;
default adalah [] Daftar plugin. Opsional. |
exported_plugins
|
urutan struct; atau urutan struct;
default 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;
default adalah [] Daftar output yang akan dihasilkan tindakan kompilasi Java selain jar class dari pemrosesan anotasi. |
strict_deps
|
defaultnya adalah 'ERROR' String yang menentukan cara menangani dependensi 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
|
required JavaToolchainInfo yang akan digunakan untuk kompilasi ini. Wajib. |
bootclasspath
|
default adalah None BootClassPathInfo yang akan digunakan untuk kompilasi ini. Jika ada, akan mengganti bootclasspath yang terkait dengan java_toolchain yang disediakan. Opsional. |
host_javabase
|
default-nya adalah None Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal ini. 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) |
sourcepath
|
urutan File;
defaultnya adalah [] |
resources
|
Urutan File;
default-nya adalah [] |
resource_jars
|
Urutan File;
default-nya adalah [] |
classpath_resources
|
urutan File;
defaultnya adalah [] |
neverlink
|
default-nya adalah False |
enable_annotation_processing
|
defaultnya adalah True Menonaktifkan pemrosesan anotasi dalam kompilasi ini, sehingga menyebabkan prosesor anotasi yang disediakan dalam plugin atau Export_plugins dependensi akan diabaikan. |
enable_compile_jar_action
|
default adalah True Mengaktifkan kompilasi header atau pembuatan ijar. Jika disetel ke Salah (False), opsi ini akan memaksa penggunaan jar class lengkap di classpath kompilasi dari dependensi apa pun. Tindakan ini dimaksudkan untuk digunakan oleh target non-library seperti biner yang tidak memiliki dependen. |
add_exports
|
urutan string;
default adalah [] Izinkan library ini mengakses |
add_opens
|
urutan string;
default adalah [] Izinkan library ini mengakses |
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfoKunci yang digunakan untuk mengambil penyedia yang berisi informasi tentang runtime Java yang digunakan.
JavaToolchainInfo
Provider java_common.JavaToolchainInfoKunci 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
Parameter
Parameter | Deskripsi |
---|---|
actions
|
required ctx.actions |
output_jar
|
File; atau None ;
defaultnya adalah None Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal ini. Fitur ini dinonaktifkan dengan --+incompatible_java_common_parameters . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusannya yang akan segera dilakukan. 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`.Sebagai gantinya, gunakan parameter output_source_jar secara langsung. |
output_source_jar
|
File; atau None ;
defaultnya 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
|
defaultnya adalah None Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal ini. 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) |
run_ijar
File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)Menjalankan ijar pada jar, 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
|
required ctx.actions |
jar
|
required Jar untuk menjalankan ijar. |
target_label
|
Label; atau None ;
defaultnya adalah 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
|
diperlukan JavaToolchainInfo yang akan digunakan untuk menemukan alat ijar. |
stamp_jar
File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)Mencap 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
|
required ctx.actions |
jar
|
diperlukan Stoples untuk menjalankan stamp_jar. |
target_label
|
diperlukan Label target untuk memberi stempel pada stoples. 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. |