java_common

Starlark'ta Java derleme desteği için yardımcı programlar.

Üyeler

BootClassPathInfo

Provider java_common.BootClassPathInfo

Bootclasspath bilgilerini sağlamak için kullanılan sağlayıcı

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=[])

Bir Starlark kuralının uygulanmasından Java kaynak dosyalarını/jar'larını derler ve derlemenin sonuçlarını temsil eden, bu kural tarafından yayınlanan sağlayıcılar kümesine eklenebilen bir sağlayıcı döndürür.

Parametreler

Parametre Açıklama
ctx ctx; required
Kural bağlamı.
source_jars File'ların sequence'ı; varsayılan değer []
Derlenecek jar'ların listesi. source_jars veya source_files'dan en az biri belirtilmelidir.
source_files File'ların sequence'ı; varsayılan değer []
Derlenecek Java kaynak dosyalarının listesi. source_jars veya source_files'dan en az biri belirtilmelidir.
output Dosya; gerekli
output_source_jar File; veya None; varsayılan değer None
Çıkış kaynağı JAR'ı. Ayarlanmamışsa varsayılan olarak `{output_jar}-src.jar` olur.
javac_opts string'lerin sırası; varsayılan değer []
İstenen javac seçeneklerinin listesi.
deps struct'ların sequence'ı; varsayılan değer []
Bağımlılıkların listesi.
runtime_deps struct'ların sequence'ı; varsayılan değer []
Çalışma zamanı bağımlılıklarının listesi.
exports struct'ların sırası; varsayılan değer []
Dışa aktarılanların listesi.
plugins struct'ların dizisi veya struct'ların dizisi; varsayılan değer []
Eklentilerin listesi.
exported_plugins struct'ların dizisi veya struct'ların dizisi. Varsayılan değer []
'dir. Dışa aktarılan eklentilerin listesi.
native_libraries CcInfo'ların sırası; varsayılan değer []
Bu kitaplık için gereken CC yerel kitaplık bağımlılıkları.
annotation_processor_additional_inputs Dosyaların sırası; varsayılan değer []
Java derleme işleminin, ek açıklamaları işlemek için Java kaynaklarına ek olarak alacağı girişlerin listesi.
annotation_processor_additional_outputs File'ların sequence'ı; varsayılan değer []
Java derleme işleminin, ek açıklamaları işleme işleminden elde edilen sınıf JAR'ına ek olarak çıkışını yapacağı çıkışların listesi.
strict_deps string; varsayılan değer 'ERROR'
Katı bağımlılıkların nasıl işleneceğini belirten bir dize. Olası değerler: "OFF", "ERROR", "WARN" ve "DEFAULT". Daha fazla bilgi için --strict_java_deps flag. By default 'ERROR'. sayfasını inceleyin.
java_toolchain Info; required
Bu derleme için kullanılacak bir JavaToolchainInfo. Zorunlu.
bootclasspath varsayılan değer None
Bu derleme için kullanılacak bir BootClassPathInfo. Mevcutsa sağlanan java_toolchain ile ilişkili bootclasspath'i geçersiz kılar.
host_javabase varsayılan değer None
Kullanımdan kaldırıldı. Bu parametre artık kullanılmıyor ve yakında tamamen kaldırılacak. Lütfen bu bilgileri kullanmayın. --incompatible_java_common_parameters ile devre dışı bırakılır. Kodunuzun bu özelliğin yakında kaldırılmasıyla uyumlu olduğunu doğrulamak için bu işareti kullanın.
Desteği sonlandırıldı: Bu parametreyi bırakabilirsiniz (host_javabase, java_toolchain ile birlikte sağlanır)
sourcepath Dosyaların sırası; varsayılan değer []
resources Dosyaların sırası; varsayılan değer []
resource_jars Dosyaların sırası; varsayılan değer []
classpath_resources Dosyaların sırası; varsayılan değer []
bool; varsayılan değer False
enable_annotation_processing bool; varsayılan değer True
Bu derlemede ek açıklama işlemeyi devre dışı bırakır. Bu nedenle, eklentilerde veya bağımlılıkların exported_plugins'inde sağlanan tüm ek açıklama işlemcileri yoksayılır.
enable_compile_jar_action bool; varsayılan değer True
Başlık derlemesini veya ijar oluşturmayı etkinleştirir. Yanlış olarak ayarlanırsa bağımlıların derleme sınıf yollarında tam sınıf JAR'ının kullanılması zorunlu kılınır. Bu işlem, bağımlıları olmayan ikili dosyalar gibi kitaplık dışı hedefler tarafından kullanılmak üzere tasarlanmıştır.
add_exports dize dizisi; varsayılan değer []
Bu kitaplığın belirtilen /konumuna erişmesine izin verin.
add_opens dize sırası; varsayılan değer []
Bu kitaplığın, verilen /'ye yansıtıcı olarak erişmesine izin verin.

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

Kullanılan Java çalışma zamanı hakkında bilgi içeren sağlayıcıyı almak için kullanılan anahtar.

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

Kullanılan Java araç zinciri hakkında bilgi içeren sağlayıcıyı almak için kullanılan anahtar.

birleştirmek

struct java_common.merge(providers)

Belirtilen sağlayıcıları tek bir JavaInfo'da birleştirir.

Parametreler

Parametre Açıklama
providers struct'ların sequence'ı; required
Birleştirilecek sağlayıcıların listesi.

pack_sources

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

Kaynakları ve kaynak JAR'larını tek bir kaynak JAR dosyası halinde paketler. Dönüş değeri genellikle

JavaInfo#source_jar

.output_jar veya output_source_jar parametrelerinden en az biri gereklidir.

Parametreler

Parametre Açıklama
actions actions; required
ctx.actions
output_jar Dosya veya None; varsayılan değer None
Kullanımdan kaldırıldı. Bu parametre artık kullanılmıyor ve yakında tamamen kaldırılacak. Lütfen bu bilgileri kullanmayın. --incompatible_java_common_parameters ile devre dışı bırakılır. Kodunuzun bu özelliğin yakında kaldırılmasıyla uyumlu olduğunu doğrulamak için bu işareti kullanın.
Kullanımdan kaldırıldı: Kuralın çıkış jar'ı. Elde edilen kaynak JAR'ını adlandırmak için kullanılır. Parametre, output_source_jar parametresini `{output_jar}-src.jar` olarak ayarlar.Bunun yerine output_source_jar parametresini doğrudan kullanın.
output_source_jar File; veya None; varsayılan değer None
Çıkış kaynağı JAR'ı.
sources File'ların sequence'ı; varsayılan değer []
Kaynak JAR'a paketlenecek Java kaynak dosyalarının listesi.
source_jars File'ların sequence'ı; varsayılan değer []
Kaynak JAR'a paketlenecek kaynak JAR'ların listesi.
java_toolchain Info; required
A JavaToolchainInfo to used to find the ijar tool.
host_javabase varsayılan değer None
Kullanımdan kaldırıldı. Bu parametre artık kullanılmıyor ve yakında tamamen kaldırılacak. Lütfen bu bilgileri kullanmayın. --incompatible_java_common_parameters ile devre dışı bırakılır. Kodunuzun bu özelliğin yakında kaldırılmasıyla uyumlu olduğunu doğrulamak için bu işareti kullanın.
Desteği sonlandırıldı: Bu parametreyi bırakabilirsiniz (host_javabase, java_toolchain ile birlikte sağlanır)

run_ijar

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

Bir jar üzerinde ijar'ı çalıştırarak yöntem gövdelerini kaldırır. Bu, yalnızca yöntem uygulamalarında yapılan basit değişikliklerden oluşan yeniden derlemeler sırasında bağımlı JAR'ların yeniden oluşturulmasını azaltmaya yardımcı olur. Dönüş değeri genellikle JavaInfo#compile_jar'ya iletilir.

Parametreler

Parametre Açıklama
actions actions; required
ctx.actions
jar File; required
ijar'ın üzerinde çalıştırılacağı jar.
target_label Etiket veya None; varsayılan değer None
jar'a damga vurulacak hedef etiket. add_dep desteği için kullanılır. Genellikle, jar'ı mevcut kuralın etiketiyle damgalamak için ctx.label değerini iletirsiniz.
java_toolchain Info; required
A JavaToolchainInfo to used to find the ijar tool.

stamp_jar

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

add_dep desteği için hedef etiketiyle bir kavanoz damgalar. Dönüş değeri genellikle JavaInfo#compile_jar'ya iletilir. Mümkün olduğunda run_ijar kullanmayı tercih edin.

Parametreler

Parametre Açıklama
actions actions; required
ctx.actions
jar File; required
stamp_jar'ın üzerinde çalıştırılacağı jar.
target_label Etiket; gerekli
JAR'ın üzerine basılacak hedef etiket. add_dep desteği için kullanılır. Genellikle, jar'ı mevcut kuralın etiketiyle damgalamak için ctx.label değerini iletirsiniz.
java_toolchain Info; required
A JavaToolchainInfo to used to find the stamp_jar tool.