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 sequence of strings; default is []
A list of the desired javac options.
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 []
'dir. Eklentilerin listesi.
exported_plugins struct'ların dizisi veya struct'ların dizisi; varsayılan değer []
Dışa aktarılan eklentilerin listesi.
native_libraries sequence of CcInfos; default is []
CC native library dependencies that are needed for this library.
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ğı çıktı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
A JavaToolchainInfo to be used for this compilation. 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 parametrenin desteği sonlandırıldı ve yakında kaldırılacak. Lütfen bu bilgileri kullanmayın. --incompatible_java_common_parameters ile devre dışı bırakılır. Kodunuzun bu özelliğin 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 Dosya'ların sırası; varsayılan değer []
resources Dosya'ların sırası; varsayılan değer []
resource_jars Dosya'ların sırası; varsayılan değer []
classpath_resources Dosya'ları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 sequence of strings; default is []
Allow this library to access the given /.
add_opens Dize dizisi; 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 sırası; gerekli
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ına 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 parametrenin desteği sonlandırıldı ve yakında kaldırılacak. Lütfen bu bilgileri kullanmayın. --incompatible_java_common_parameters ile devre dışı bırakılır. Kodunuzun bu özelliğin 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 doğrudan output_source_jar parametresini 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 Dosya'ların sırası; 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 parametrenin desteği sonlandırıldı ve yakında kaldırılacak. Lütfen bu bilgileri kullanmayın. --incompatible_java_common_parameters ile devre dışı bırakılır. Kodunuzun bu özelliğin 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, kavanozu 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'a damga vurulacak hedef etiket. add_dep desteği için kullanılır. Genellikle, kavanozu 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.