Kurallar
- java_binary
- java_import
- java_library
- java_lite_proto_library
- java_proto_library
- java_test
- java_package_configuration
- java_plugin
- java_runtime
- java_toolchain
java_binary
java_binary(name, deps, srcs, data, resources, args, classpath_resources, compatible_with, create_executable, deploy_env, deploy_manifest_lines, deprecation, distribs, env, exec_compatible_with, exec_properties, features, javacopts, jvm_flags, launcher, licenses, main_class, output_licenses, plugins, resource_jars, resource_strip_prefix, restricted_to, runtime_deps, stamp, tags, target_compatible_with, testonly, toolchains, use_launcher, use_testrunner, visibility)
Bir Java arşivi ("jar dosyası") ve kuralla aynı ada sahip bir sarmalayıcı kabuk komut dosyası oluşturur. Sarmalayıcı kabuk komut dosyası, diğer özelliklerinin yanı sıra her öğe için bir jar dosyası içeren ikili programın bağlı olduğu kitaplıktır.
Sarmalayıcı komut dosyası, birkaç benzersiz işareti kabul eder. Referans
//src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt
.
inceleyebilirsiniz.
Dolaylı çıkış hedefleri
name.jar
: Sınıf dosyalarını ve diğer dosyaları içeren bir Java arşivi ve ikili programın doğrudan bağımlılıklarına karşılık gelen kaynaklardır.name-src.jar
: Kaynakları içeren bir arşiv ("kaynak jar").name_deploy.jar
: Dağıtıma uygun bir Java arşivi (yalnızca oluşturulur).Kuralınız için
<name>_deploy.jar
hedefi oluşturuluyor , dosyanınjava -jar
komutuyla veya sarmalayıcı komut dosyasının--singlejar
komutuyla seçeneğini belirleyin.java -jar
yerine sarmalayıcı komut dosyasının kullanılması tercih edilir çünkü JVM flag'lerini ve seçenekleri de iletir. yerel kitaplıklar yüklemek için kullanılır.Dağıtma jar dosyası, şu anda çalışan bir sınıf yükleyicinin bulacağı tüm sınıfları sınıf yolunu ikili programın sarmalayıcı komut dosyasından başından sonuna kadar aradı. Aynı zamanda bağımlılıklar için gerekli yerel kitaplıkları içerir. Bunlar otomatik olarak yüklenir JVM'ye aktarırsınız.
Hedefiniz bir başlatıcı belirtiyorsa özelliği ile birlikte çalışırsanız, _deploy.jar normal bir JAR dosyası yerine yerel ikili programdır. Bu, başlatıcıyı ve uygulamanın tüm yerel (C++) bağımlılıklarını içerir: statik bir ikili sisteme bağlanmalıdır. Gerçek jar dosyasının baytları yerel ikili programının sonuna eklenir ve hem yürütülebilir ve Java kodu. Oluşturulan jar dosyasını doğrudan çalıştırabilirsiniz olduğu gibi kullanabilirsiniz.
name_deploy-src.jar
: Kaynakları içeren bir arşiv hedefin geçişli olarak kapatılmasından toplanan verileri ölçer. Bunlar şu sınıflarla eşleşecek: Kavanozların eşleşen kaynak jar'ı olmadığı durumlar hariçdeploy.jar
.
Aşağıdaki değerler içermeyen java_binary
kuralında deps
özelliğine izin verilmez
srcs
; böyle bir kural için
main_class
sağlayan:
runtime_deps
.
Aşağıdaki kod snippet'inde yaygın bir hata gösterilmektedir:
java_binary( name = "DontDoThis", srcs = [ ...,"GeneratedJavaFile.java"
, # a generated .java file ], deps = [":generating_rule",
], # rule that generates that file )
Bunun yerine şunu yapın:
java_binary( name = "DoThisInstead", srcs = [ ..., ":generating_rule", ], )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. Dosyanın ana giriş noktası olan kaynak dosyanın adını (uzantı hariç) seçin. Örneğin, giriş noktanız Main.java , adınız Main olabilir.
|
deps
|
deps ile ilgili genel yorumları şu adreste bulabilirsiniz:
Genel özellikler
çoğu derleme kuralına bakın.
|
srcs
|
Kurallar: Kural (genellikle
Bu bağımsız değişken,
|
resources
|
Kaynaklar belirtilirse, normal kaynaklarla birlikte kavanozda paketlenir
Derleme, Kaynaklar, kaynak dosyalar veya oluşturulan dosyalar olabilir. |
classpath_resources
|
Java ağacının kökünde bulunması gereken kaynakların listesi. Bu özelliğin
tek amacı, kaynaklarının kullanımını gerektiren üçüncü taraf kitaplıkları desteklemektir
sınıf yolunda tam olarak |
create_executable
|
launcher veya main_class özellikleri için bu değeri 0 olarak ayarlayın.
ayarlandı.
|
deploy_env
|
java_binary hedeflerinin listesi
ortamına ekleyebilirsiniz.
Başka bir site tarafından yüklenecek bir eklenti oluştururken bu özelliği ayarlayın.
java_binary Bu özelliğin ayarlanması, bu ikili programın çalışma zamanı sınıf yolu (ve dağıtım jar'ı) ikili program ve deploy_env politikasında belirtilen hedefler.
|
deploy_manifest_lines
|
META-INF/manifest.mf dosyasına eklenecek satırların listesi
*_deploy.jar hedef. Bu özelliğin içeriği konu değildir
"Değişken yap" olarak değiştirin.
|
javacopts
|
Bu derleyici seçenekleri, genel derleyici seçeneklerinden sonra javac'a iletilir. |
jvm_flags
|
Java ikili programı için sarmalayıcı komut dosyası bir CLASSPATH tanımı içeriyor
(bağımlı tüm jar'ları bulmak için) kullanır ve doğru Java yorumlayıcısını çağırır.
Sarmalayıcı komut dosyası tarafından oluşturulan komut satırı,
ana sınıf ve ardından Bu özelliğin |
launcher
|
bin/java programı JDK'ya dahildir.
Hedef bir cc_binary olmalıdır. Şu özelliklere sahip herhangi bir cc_binary :
,
Bu özellik için bir değer olarak Java Invocation API belirtilebilir.
Varsayılan olarak, Bazel normal JDK başlatıcıyı (bin/Java veya java.exe) kullanır. İlgili Yerel (C++, SWIG, JNI) bağımlılıklarınızın farklı şekilde oluşturulacağını unutmayın JDK başlatıcıyı mı yoksa başka bir başlatıcıyı mı kullandığınıza bağlı olarak:
Varsayılan JDK başlatıcı dışında herhangi bir başlatıcıyı kullanırken biçim,
|
main_class
|
main() yöntemine sahip sınıfın adı.
Bir kural bu seçeneği kullanıyorsa srcs=[...] listesine ihtiyaç duymaz.
Dolayısıyla, bu özellikle, önceden hazırlanmış bir Java kitaplığından yürütülebilir bir dosya
bir veya daha fazla main() yöntemi içerir.
Bu özelliğin değeri bir kaynak dosya değil, sınıf adıdır. Sınıf
çalışma zamanında kullanılabilir: bu kural tarafından derlenmiş olabilir ( |
plugins
|
java_plugin bu kuralla birlikte çalıştırılır
geliştirildi. Bir kitaplık,
exported_plugins Kaynaklar
oluşturulan dosya, bu kuralın ortaya çıkan jar'ına dahil edilir.
|
resource_jars
|
|
resource_strip_prefix
|
Belirtilirse bu yol öneki |
runtime_deps
|
deps ürününde olduğu gibi çalışma zamanı sınıf yolunda görünür, ancak
üzerinde çalışmalıdır. Yalnızca çalışma zamanında gereken bağımlılıklar
burada görebilirsiniz. Bağımlılık analizi araçları,
runtime_deps ve deps .
|
stamp
|
Bağımlılıkları değişmediği sürece damgalı ikili programlar yeniden oluşturulmaz. |
use_launcher
|
Bu özellik false (yanlış) değerine ayarlanırsa
Başlatıcı özelliğini ve ilgili
|
use_testrunner
|
com.google.testing.junit.runner.BazelTestRunner ) sınıfını kullanın.
ana giriş noktasını kullanabilir ve test sınıfını
bazel.test_suite değeri olarak test koşucusuna atanır.
sistem özelliğini etkinleştirmelisiniz.
Varsayılan değeri geçersiz kılmak için bunu kullanabilirsiniz
yardımcı olmak için
test çalıştırıcısını kullanarak
java_test kural,
ve java_binary kuralları için kullanmayın. Düşük ihtimalle
bunu yapmanız gerekir. Bir kullanım AllTest içindir
başka bir kural tarafından çağrılan kurallar (veri tabanı
) girmeniz gerekir. AllTest
kuralı java_binary olarak tanımlanmalıdır, ancak
test çalıştırıcıyı ana giriş noktası olarak kullanmaya devam edebilirsiniz.
Test çalıştırıcı sınıfının adı, main_class özelliğiyle geçersiz kılınabilir.
|
java_import
java_import(name, deps, data, compatible_with, constraints, deprecation, distribs, exec_compatible_with, exec_properties, exports, features, jars, licenses, neverlink, proguard_specs, restricted_to, runtime_deps, srcjar, tags, target_compatible_with, testonly, visibility)
Bu kural, önceden derlenmiş .jar
dosyalarının
java_library
ve için kitaplıklar
java_binary
kural.
Örnekler
java_import( name = "maven_model", jars = [ "maven_model/maven-aether-provider-3.2.3.jar", "maven_model/maven-model-3.2.3.jar", "maven_model/maven-model-builder-3.2.3.jar", ], )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
deps
|
|
constraints
|
|
exports
|
|
jars
|
|
neverlink
|
tools.jar
standart bir JDK olabilir.
|
proguard_specs
|
android_binary hedefine eklenir.
Buraya eklenen dosyalar sadece ideaklı kurallara, yani -dontnote, -dontwarn,
yan etkileri ve -keep ile başlayan kuralları içerir. Diğer seçenekler yalnızca
android_binary öğesinin proguard_specs (totoolojik olmayan birleştirmeler için)
|
runtime_deps
|
|
srcjar
|
|
java_library
java_library(name, deps, srcs, data, resources, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, exported_plugins, exports, features, javacopts, licenses, neverlink, plugins, proguard_specs, resource_jars, resource_strip_prefix, restricted_to, runtime_deps, tags, target_compatible_with, testonly, visibility)
Bu kural, kaynakları bir .jar
dosyasında derler ve bağlar.
Dolaylı çıkış hedefleri
libname.jar
: Sınıf dosyalarını içeren bir Java arşivi.libname-src.jar
: Kaynakları içeren bir arşiv ("kaynak jar").
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
deps
|
deps ile ilgili genel yorumları şu adreste bulabilirsiniz:
Genel özellikler
çoğu derleme kuralına bakın.
Buna karşılık, |
srcs
|
Kurallar: Kural (genellikle
Bu bağımsız değişken,
|
data
|
data ile ilgili genel yorumları şu adreste bulabilirsiniz:
Genel özellikler
çoğu derleme kuralına bakın.
Bir |
resources
|
Kaynaklar belirtilirse, normal kaynaklarla birlikte kavanozda paketlenir
Derleme, Kaynaklar, kaynak dosyalar veya oluşturulan dosyalar olabilir. |
exported_plugins
|
java_plugin listesi (ör. ek açıklama)
işlemcileri) doğrudan bu kitaplığa bağımlı kitaplıklara aktarmak için kullanılır.
Belirtilen |
exports
|
Burada listeleme kuralları, bunları üst kurallar tarafından sanki üst öğelerde olduğu gibi üst kurallarda kullanılabilir hale getirir
bu kurallara bağlıydı. Bu, normal (dışa aktarılmayan)
Özet: X kuralı, bir bağımlılık varsa Y içindeki koda erişebilir
A'nın B'ye, B'nin ise C'ye bağlı olduğunu varsayın. Bu durumda
C, A'nın geçişli bir bağımlılığıdır; dolayısıyla C'nin kaynaklarını değiştirmek ve A'yı yeniden oluşturmak,
her şeyi doğru şekilde yeniden yapabilir. Ancak A, C sınıfındaki sınıfları kullanamaz. İzin vermek için
A'nın Dışa aktarılan kitaplıklar, tüm doğrudan üst kurallar tarafından kapatılabilir. Biraz çekin farklı örnek: A B'ye, B ise C ve D'ye bağlıdır ve C'yi dışa aktarır ancak D'yi dışa aktarmaz. Artık A, C'ye erişebilir ancak D'ye erişemez. C ve D bazı kitaplıkları dışa aktardıysa C'yi ve D' sırasıyla, A yalnızca C'ye erişebilir. ancak D' ile değil.
Önemli: Dışa aktarılan kurallar normal bir bağımlılık değildir. Önceki örneğe devam edecek olursak
B, C'yi dışa aktarıyor ve C'yi de kullanmak istiyorsa bunu kendi
|
javacopts
|
Bu derleyici seçenekleri, genel derleyici seçeneklerinden sonra javac'a iletilir. |
neverlink
|
tools.jar bu tür kitaplıklardan biridir
çalışıyordum.
Çalışma zamanı kitaplığı, derleme kitaplığından farklıysa yalnızca JLS'nin derleyicilerin satır içi yapmasını yasakladığı (ve JLS'nin gelecekteki tüm sürümleri). |
plugins
|
java_plugin bu kuralla birlikte çalıştırılır
geliştirildi. Bir kitaplık,
exported_plugins Kaynaklar
oluşturulan dosya, bu kuralın ortaya çıkan jar'ına dahil edilir.
|
proguard_specs
|
android_binary hedefine eklenir.
Buraya eklenen dosyalar sadece ideaklı kurallara, yani -dontnote, -dontwarn,
yan etkileri ve -keep ile başlayan kuralları içerir. Diğer seçenekler yalnızca
android_binary öğesinin proguard_specs (totoolojik olmayan birleştirmeler için)
|
resource_jars
|
|
resource_strip_prefix
|
Belirtilirse bu yol öneki |
runtime_deps
|
deps ürününde olduğu gibi çalışma zamanı sınıf yolunda görünür, ancak
üzerinde çalışmalıdır. Yalnızca çalışma zamanında gereken bağımlılıklar
burada görebilirsiniz. Bağımlılık analizi araçları,
runtime_deps ve deps .
|
java_lite_proto_library
java_lite_proto_library(name, deps, data, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)
java_lite_proto_library
, .proto
dosyadan Java kodu oluşturur.
deps
, proto_library
kuralına işaret etmelidir.
Örnek:
java_library( name = "lib", deps = [":foo"], ) java_lite_proto_library( name = "foo", deps = [":bar"], ) proto_library( name = "bar", )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
deps
|
proto_library listesi
kurallarını belirtin.
|
java_proto_library
java_proto_library(name, deps, data, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)
java_proto_library
, .proto
dosyadan Java kodu oluşturur.
deps
, proto_library
kuralına işaret etmelidir.
Örnek:
java_library( name = "lib", deps = [":foo_java_proto"], ) java_proto_library( name = "foo_java_proto", deps = [":foo_proto"], ) proto_library( name = "foo_proto", )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
deps
|
proto_library listesi
kurallarını belirtin.
|
java_test
java_test(name, deps, srcs, data, resources, args, classpath_resources, compatible_with, create_executable, deploy_manifest_lines, deprecation, distribs, env, env_inherit, exec_compatible_with, exec_properties, features, flaky, javacopts, jvm_flags, launcher, licenses, local, main_class, plugins, resource_jars, resource_strip_prefix, restricted_to, runtime_deps, shard_count, size, stamp, tags, target_compatible_with, test_class, testonly, timeout, toolchains, use_launcher, use_testrunner, visibility)
java_test()
kuralı bir Java testi derler. Test, projenizdeki
test kodu. Derlenmekte olan ana sınıf yerine test çalıştırıcının ana yöntemi çağrılır.
Dolaylı çıkış hedefleri
name.jar
: Bir Java arşivi.name_deploy.jar
: Uygun bir Java arşivi . (Yalnızca açıkça talep edildiğinde oluşturulur.) Şu açıklamaya bakın: Şu kaynaktanname_deploy.jar
çıkış: java_binary'yi ziyaret edin.
java_binary() bağımsız değişkenleriyle ilgili bölüme bakın. Bu kural ayrıca tüm özellikleri destekler. (*_test) testine tabi tutun.
Örnekler
java_library( name = "tests", srcs = glob(["*.java"]), deps = [ "//java/com/foo/base:testResources", "//java/com/foo/testing/util", ], ) java_test( name = "AllTests", size = "small", runtime_deps = [ ":tests", "//util/mysql", ], )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
deps
|
deps ile ilgili genel yorumları şu adreste bulabilirsiniz:
Genel özellikler
çoğu derleme kuralına bakın.
|
srcs
|
Kurallar: Kural (genellikle
Bu bağımsız değişken,
|
resources
|
Kaynaklar belirtilirse, normal kaynaklarla birlikte kavanozda paketlenir
Derleme, Kaynaklar, kaynak dosyalar veya oluşturulan dosyalar olabilir. |
classpath_resources
|
Java ağacının kökünde bulunması gereken kaynakların listesi. Bu özelliğin
tek amacı, kaynaklarının kullanımını gerektiren üçüncü taraf kitaplıkları desteklemektir
sınıf yolunda tam olarak |
create_executable
|
launcher veya main_class özellikleri için bu değeri 0 olarak ayarlayın.
ayarlandı.
|
deploy_manifest_lines
|
META-INF/manifest.mf dosyasına eklenecek satırların listesi
*_deploy.jar hedef. Bu özelliğin içeriği konu değildir
"Değişken yap" olarak değiştirin.
|
javacopts
|
Bu derleyici seçenekleri, genel derleyici seçeneklerinden sonra javac'a iletilir. |
jvm_flags
|
Java ikili programı için sarmalayıcı komut dosyası bir CLASSPATH tanımı içeriyor
(bağımlı tüm jar'ları bulmak için) kullanır ve doğru Java yorumlayıcısını çağırır.
Sarmalayıcı komut dosyası tarafından oluşturulan komut satırı,
ana sınıf ve ardından Bu özelliğin |
launcher
|
bin/java programı JDK'ya dahildir.
Hedef bir cc_binary olmalıdır. Şu özelliklere sahip herhangi bir cc_binary :
,
Bu özellik için bir değer olarak Java Invocation API belirtilebilir.
Varsayılan olarak, Bazel normal JDK başlatıcıyı (bin/Java veya java.exe) kullanır. İlgili Yerel (C++, SWIG, JNI) bağımlılıklarınızın farklı şekilde oluşturulacağını unutmayın JDK başlatıcıyı mı yoksa başka bir başlatıcıyı mı kullandığınıza bağlı olarak:
Varsayılan JDK başlatıcı dışında herhangi bir başlatıcıyı kullanırken biçim,
|
main_class
|
main() yöntemine sahip sınıfın adı.
Bir kural bu seçeneği kullanıyorsa srcs=[...] listesine ihtiyaç duymaz.
Dolayısıyla, bu özellikle, önceden hazırlanmış bir Java kitaplığından yürütülebilir bir dosya
bir veya daha fazla main() yöntemi içerir.
Bu özelliğin değeri bir kaynak dosya değil, sınıf adıdır. Sınıf
çalışma zamanında kullanılabilir: bu kural tarafından derlenmiş olabilir ( |
plugins
|
java_plugin bu kuralla birlikte çalıştırılır
geliştirildi. Bir kitaplık,
exported_plugins Kaynaklar
oluşturulan dosya, bu kuralın ortaya çıkan jar'ına dahil edilir.
|
resource_jars
|
|
resource_strip_prefix
|
Belirtilirse bu yol öneki |
runtime_deps
|
deps ürününde olduğu gibi çalışma zamanı sınıf yolunda görünür, ancak
üzerinde çalışmalıdır. Yalnızca çalışma zamanında gereken bağımlılıklar
burada görebilirsiniz. Bağımlılık analizi araçları,
runtime_deps ve deps .
|
stamp
|
Bağımlılıkları değişmediği sürece damgalı ikili programlar yeniden oluşturulmaz. |
test_class
|
Varsayılan olarak, bu bağımsız değişken tanımlanmamışsa eski mod kullanılır ve
bunun yerine test bağımsız değişkenleri kullanılır.
Bu özellik, çalıştırılacak bir Java sınıfının adını belirtir
inceleyeceğiz. Bunun ayarlanması nadiren gerekir. Bu bağımsız değişken atlanırsa
hedefin
JUnit3 için test sınıfının
Bu özellik, birden fazla |
use_launcher
|
Bu özellik false (yanlış) değerine ayarlanırsa
Başlatıcı özelliğini ve ilgili
|
use_testrunner
|
com.google.testing.junit.runner.BazelTestRunner ) sınıfını kullanın.
ana giriş noktasını kullanabilir ve test sınıfını
bazel.test_suite değeri olarak test koşucusuna atanır.
sistem özelliğini etkinleştirmelisiniz.
Varsayılan değeri geçersiz kılmak için bunu kullanabilirsiniz
yardımcı olmak için
test çalıştırıcısını kullanarak
java_test kural,
ve java_binary kuralları için kullanmayın. Düşük ihtimalle
bunu yapmanız gerekir. Bir kullanım AllTest içindir
başka bir kural tarafından çağrılan kurallar (veri tabanı
) girmeniz gerekir. AllTest
kuralı java_binary olarak tanımlanmalıdır, ancak
test çalıştırıcıyı ana giriş noktası olarak kullanmaya devam edebilirsiniz.
Test çalıştırıcı sınıfının adı, main_class özelliğiyle geçersiz kılınabilir.
|
java_package_configuration
java_package_configuration(name, data, compatible_with, deprecation, distribs, features, javacopts, licenses, packages, restricted_to, tags, target_compatible_with, testonly, visibility)
Bir paket grubuna uygulanacak yapılandırma.
Yapılandırmalar
java_toolchain.javacopts
sn.
Örnek:
java_package_configuration( name = "my_configuration", packages = [":my_packages"], javacopts = ["-Werror"], ) package_group( name = "my_packages", packages = [ "//com/my/project/...", "-//com/my/project/testing/...", ], ) java_toolchain( ..., package_configuration = [ ":my_configuration", ] )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
data
|
|
javacopts
|
|
packages
|
package_group kümesi
karar vermelisiniz.
|
java_plugin
java_plugin(name, deps, srcs, data, resources, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, generates_api, javacopts, licenses, neverlink, output_licenses, plugins, processor_class, proguard_specs, resource_jars, resource_strip_prefix, restricted_to, tags, target_compatible_with, testonly, visibility)
java_plugin
, Bazel tarafından çalıştırılan Java derleyicisi için eklentileri tanımlar. Şu anda,
yalnızca desteklenen tür eklentileri ek açıklama işlemcileridir. java_library
veya
java_binary
kuralı, plugins
aracılığıyla eklentilere bağlı olarak eklentileri çalıştırabilir.
özelliğini gönderin. Ayrıca java_library
, eklentileri
ona doğrudan bağımlıysa
exported_plugins
.
Dolaylı çıkış hedefleri
libname.jar
: Bir Java arşivi.
Bağımsız değişkenler java_library
ile aynıdır, ancak şu durumlar hariçtir:
processor_class
bağımsız değişkeninin eklenmesi gerekir.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
deps
|
deps ile ilgili genel yorumları şu adreste bulabilirsiniz:
Genel özellikler
çoğu derleme kuralına bakın.
Buna karşılık, |
srcs
|
Kurallar: Kural (genellikle
Bu bağımsız değişken,
|
data
|
data ile ilgili genel yorumları şu adreste bulabilirsiniz:
Genel özellikler
çoğu derleme kuralına bakın.
Bir |
resources
|
Kaynaklar belirtilirse, normal kaynaklarla birlikte kavanozda paketlenir
Derleme, Kaynaklar, kaynak dosyalar veya oluşturulan dosyalar olabilir. |
generates_api
|
Bir kural, API oluşturan ek açıklama işlemcisi kullanıyorsa diğer kurallar kendileri oluşturulan koda yalnızca derleme işlemleri, oluşturma kuralından sonra programlanır. Bu özelliğinin değeri, Bazel'a --java_header_compilation etkin. UYARI: Bu özellik, derlemeyi yalnızca gerekli olduğunda kullanın. |
javacopts
|
Bu derleyici seçenekleri, genel derleyici seçeneklerinden sonra javac'a iletilir. |
neverlink
|
tools.jar bu tür kitaplıklardan biridir
çalışıyordum.
Çalışma zamanı kitaplığı, derleme kitaplığından farklıysa yalnızca JLS'nin derleyicilerin satır içi yapmasını yasakladığı (ve JLS'nin gelecekteki tüm sürümleri). |
output_licenses
|
common attributes
|
plugins
|
java_plugin bu kuralla birlikte çalıştırılır
geliştirildi. Bir kitaplık,
exported_plugins Kaynaklar
oluşturulan dosya, bu kuralın ortaya çıkan jar'ına dahil edilir.
|
processor_class
|
|
proguard_specs
|
android_binary hedefine eklenir.
Buraya eklenen dosyalar sadece ideaklı kurallara, yani -dontnote, -dontwarn,
yan etkileri ve -keep ile başlayan kuralları içerir. Diğer seçenekler yalnızca
android_binary öğesinin proguard_specs (totoolojik olmayan birleştirmeler için)
|
resource_jars
|
|
resource_strip_prefix
|
Belirtilirse bu yol öneki |
java_runtime
java_runtime(name, srcs, compatible_with, deprecation, distribs, features, hermetic_srcs, java, java_home, lib_modules, licenses, restricted_to, tags, target_compatible_with, testonly, version, visibility)
Java çalışma zamanının yapılandırmasını belirtir.
Örnek:
java_runtime( name = "jdk-9-ea+153", srcs = glob(["jdk9-ea+153/**"]), java_home = "jdk9-ea+153", )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
srcs
|
|
hermetic_srcs
|
|
java
|
|
java_home
|
srcs ve java özellikleri boş olmalıdır.
|
lib_modules
|
|
version
|
Runtime.version().feature()
|
java_toolchain
java_toolchain(name, android_lint_data, android_lint_jvm_opts, android_lint_opts, android_lint_package_configuration, android_lint_runner, bootclasspath, compatible_with, deprecation, deps_checker, distribs, features, forcibly_disable_header_compilation, genclass, header_compiler, header_compiler_direct, ijar, jacocorunner, java_runtime, javabuilder, javabuilder_data, javabuilder_jvm_opts, javac_supports_multiplex_workers, javac_supports_workers, javacopts, jvm_opts, licenses, oneversion, oneversion_whitelist, package_configuration, proguard_allowlister, resourcejar, restricted_to, singlejar, source_version, tags, target_compatible_with, target_version, testonly, timezone_data, tools, turbine_data, turbine_jvm_opts, visibility, xlint)
Java derleyici yapılandırmasını belirtir. Kullanılacak araç zinciri, --java_toolchain bağımsız değişkenini kullanır. Normalde bu tür kuralları siz istemeden Java derleyicinizi ayarlayın.
Örnekler
Basit bir örnek şöyle olabilir:
java_toolchain( name = "toolchain", source_version = "7", target_version = "7", bootclasspath = ["//tools/jdk:bootclasspath"], xlint = [ "classfile", "divzero", "empty", "options", "path" ], javacopts = [ "-g" ], javabuilder = ":JavaBuilder_deploy.jar", )
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
android_lint_data
|
|
android_lint_jvm_opts
|
|
android_lint_opts
|
|
android_lint_package_configuration
|
|
android_lint_runner
|
|
bootclasspath
|
|
deps_checker
|
|
forcibly_disable_header_compilation
|
|
genclass
|
|
header_compiler
|
|
header_compiler_direct
|
Bu araç, not işlemeyi desteklemez. |
ijar
|
|
jacocorunner
|
|
java_runtime
|
|
javabuilder
|
|
javabuilder_data
|
|
javabuilder_jvm_opts
|
|
javac_supports_multiplex_workers
|
|
javac_supports_workers
|
|
javacopts
|
|
jvm_opts
|
|
oneversion
|
|
oneversion_whitelist
|
|
package_configuration
|
|
proguard_allowlister
|
|
resourcejar
|
|
singlejar
|
|
source_version
|
|
target_version
|
|
timezone_data
|
|
tools
|
|
turbine_data
|
|
turbine_jvm_opts
|
|
xlint
|
|