Utilitas untuk dukungan kompilasi Java di Starlark.
Anggota
- BootClassPathInfo
- kompilasi
- JavaRuntimeInfo
- JavaToolchainInfo
- menggabungkan
- pack_sources
- run_ijar
- stamp_jar
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
|
ctx;
wajib Konteks aturan. |
source_jars
|
urutan File;
default adalah [] Daftar stoples yang akan dikompilasi. Minimal satu source_jars atau source_file harus ditentukan. |
source_files
|
urutan File;
default adalah [] Daftar file sumber Java yang akan dikompilasi. Minimal satu source_jars atau source_file harus ditentukan. |
output
|
File;
wajib |
output_source_jar
|
File; atau None ;
default adalah None Jar sumber output. Nilai defaultnya adalah `{output_jar}-src.jar` jika tidak disetel. |
javac_opts
|
urutan string;
default adalah [] Daftar opsi javac yang diinginkan. |
deps
|
urutan struct;
default adalah [] Daftar dependensi. |
runtime_deps
|
urutan struct;
default adalah [] Daftar dependensi runtime. |
exports
|
urutan struct;
default adalah [] Daftar ekspor. |
plugins
|
urutan struct; atau urutan struct;
default-nya adalah [] Daftar plugin. |
exported_plugins
|
urutan struct; atau urutan struct;
default-nya adalah [] Daftar plugin yang diekspor. |
native_libraries
|
Urutan CcInfo;
default adalah [] Dependensi library native CC yang diperlukan untuk library ini. |
annotation_processor_additional_inputs
|
urutan File;
default 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 oleh tindakan kompilasi Java, selain jar class dari pemrosesan anotasi. |
strict_deps
|
string;
default adalah 'ERROR' String yang menentukan cara menangani dependensi yang ketat. Nilai yang mungkin: 'OFF', 'ERROR', 'WARN' dan 'DEFAULT'. Untuk mengetahui detail selengkapnya, lihat --strict_java_deps
|
java_toolchain
|
Info:
wajib JavaToolchainInfo yang 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. |
host_javabase
|
default 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) |
sourcepath
|
urutan File;
default adalah [] |
resources
|
urutan File;
default adalah [] |
resource_jars
|
urutan File;
default adalah [] |
classpath_resources
|
urutan File;
default adalah [] |
neverlink
|
bool;
default adalah False |
enable_annotation_processing
|
bool;
default adalah True Menonaktifkan pemrosesan anotasi dalam kompilasi ini, sehingga menyebabkan prosesor anotasi yang disediakan dalam plugin atau Export_plugins dari dependensi akan diabaikan. |
enable_compile_jar_action
|
bool;
default adalah True Mengaktifkan kompilasi header atau pembuatan ijar. Jika disetel ke Salah (False), kode ini akan memaksa penggunaan jar class lengkap 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 [] Mengizinkan library ini mengakses |
add_opens
|
urutan string;
default adalah [] Mengizinkan 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;
wajib 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 hasil biasanya diteruskan ke
JavaInfo#source_jar
Parameter
Parameter | Deskripsi |
---|---|
actions
|
tindakan;
wajib ctx.actions |
output_jar
|
File; atau None ;
default 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: 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 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 stoples sumber yang akan dikemas ke dalam stoples sumber. |
java_toolchain
|
Info:
wajib JavaToolchainInfo yang akan digunakan untuk menemukan alat ijar. |
host_javabase
|
default 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 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
|
tindakan;
wajib ctx.actions |
jar
|
File;
wajib Stoples untuk menjalankan ijar. |
target_label
|
Label; atau None ;
default 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
|
Info:
wajib 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
. Pilih untuk menggunakan run_ijar
jika memungkinkan.
Parameter
Parameter | Deskripsi |
---|---|
actions
|
tindakan;
wajib ctx.actions |
jar
|
File;
wajib Stoples untuk menjalankan stamp_jar. |
target_label
|
Label;
wajib 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
|
Info:
wajib JavaToolchainInfo yang digunakan untuk menemukan alat stamp_jar. |