กฎ
- 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)
สร้างที่เก็บถาวร Java ("ไฟล์ JAR") รวมถึงสคริปต์เชลล์ Wrapper ที่มีชื่อเดียวกับกฎ
สคริปต์เชลล์ Wrapper ใช้ Classpath ซึ่งรวมถึงไฟล์ JAR สำหรับไลบรารีแต่ละรายการที่ไบนารีต้องใช้ เมื่อเรียกใช้สคริปต์เชลล์ของ Wrapper ตัวแปรสภาพแวดล้อมใดๆ ที่ไม่ว่างเปล่า
JAVABIN
จะมีลำดับความสำคัญเหนือกว่าเวอร์ชันที่ระบุผ่านแฟล็ก --java_runtime_version
ของ Bazel
สคริปต์ Wrapper ยอมรับ Flag ที่ไม่ซ้ำกันหลายรายการ โปรดดู
//src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt
เพื่อดูรายการค่าสถานะและตัวแปรสภาพแวดล้อมที่กำหนดค่าได้ซึ่ง Wrapper ยอมรับ
เป้าหมายเอาต์พุตโดยนัย
name.jar
: ที่เก็บถาวรของ Java ซึ่งมีไฟล์คลาสและทรัพยากรอื่นๆ ที่สอดคล้องกับทรัพยากร Dependency โดยตรงของไบนารีname-src.jar
: อาร์ไคฟ์ที่มีแหล่งที่มา ("source jar")name_deploy.jar
: ที่เก็บถาวร Java ที่เหมาะสําหรับการติดตั้งใช้งาน (สร้างขึ้นเฉพาะในกรณีที่มีการขออย่างชัดแจ้งเท่านั้น)การสร้าง
<name>_deploy.jar
เป้าหมายสำหรับกฎ จะสร้างไฟล์ JAR แบบสแตนด์อโลนที่มีไฟล์ Manifest ซึ่งช่วยให้เรียกใช้ได้ด้วยคำสั่งjava -jar
หรือด้วยตัวเลือก--singlejar
ของสคริปต์ Wrapper เราขอแนะนำให้ใช้สคริปต์ Wrapper แทนjava -jar
เนื่องจากสคริปต์นี้ ยังส่งแฟล็ก JVM และตัวเลือก เพื่อโหลดไลบรารีเนทีฟด้วยไฟล์ JAR ที่ใช้ในการติดตั้งใช้งานมีคลาสทั้งหมดที่ ClassLoader ค้นพบ ซึ่งค้นหา Classpath จากสคริปต์ Wrapper ของไบนารีตั้งแต่ต้นจนจบ นอกจากนี้ ยังมีไลบรารีที่มาพร้อมเครื่องที่จำเป็นสำหรับทรัพยากร Dependency ด้วย ระบบจะโหลดไฟล์เหล่านี้ลงใน JVM โดยอัตโนมัติ ในขณะรันไทม์
หากเป้าหมายระบุแอตทริบิวต์ตัวเรียกใช้ แทนที่จะเป็นไฟล์ JAR ปกติ _deploy.jar จะเป็น ไบนารีเนทีฟ ซึ่งจะมีตัวเรียกใช้และทรัพยากร Dependency ดั้งเดิม (C++) ของ กฎของคุณทั้งหมดที่ลิงก์กับไบนารีแบบคงที่ ไบต์ของไฟล์ JAR จริงจะ ต่อท้ายไบนารีเนทีฟนั้น ทำให้เกิด Blob ไบนารีเดียวที่มีทั้ง โค้ดที่เรียกใช้งานได้และโค้ด Java คุณสามารถเรียกใช้ไฟล์ JAR ที่ได้โดยตรง เช่นเดียวกับการเรียกใช้ไบนารีเนทีฟ
name_deploy-src.jar
: ที่เก็บถาวรที่มีแหล่งที่มา ที่รวบรวมจากทรานซิทีฟโคลเชอร์ของเป้าหมาย ซึ่งจะตรงกับคลาสในdeploy.jar
ยกเว้นในกรณีที่ JAR ไม่มี JAR แหล่งที่มาที่ตรงกัน
ไม่อนุญาตให้ใช้แอตทริบิวต์ deps
ในกฎ java_binary
ที่ไม่มี
srcs
กฎดังกล่าวต้องมี
main_class
ที่ได้รับจาก
runtime_deps
ข้อมูลโค้ดต่อไปนี้แสดงข้อผิดพลาดที่พบบ่อย
java_binary( name = "DontDoThis", srcs = [ ...,"GeneratedJavaFile.java"
, # a generated .java file ], deps = [":generating_rule",
], # rule that generates that file )
ให้ทำดังนี้แทน
java_binary( name = "DoThisInstead", srcs = [ ..., ":generating_rule", ], )
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ แนวทางปฏิบัติที่ดีคือการใช้ชื่อของไฟล์ต้นฉบับซึ่งเป็นจุดแรกเข้าหลักของ แอปพลิเคชัน (ไม่รวมนามสกุล) เช่น หากจุดแรกเข้าชื่อ Main.java ชื่อของคุณอาจเป็น Main
|
deps
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ deps ที่
แอตทริบิวต์ทั่วไปที่กำหนดโดย
กฎการสร้างส่วนใหญ่
|
srcs
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ
คอมไพล์ไฟล์ต้นฉบับประเภท
ระบบจะคลายแพ็กและคอมไพล์ไฟล์ต้นฉบับประเภท
กฎ: หากกฎ (โดยปกติคือ
โดยปกติแล้วคุณจะต้องระบุอาร์กิวเมนต์นี้เสมอ ยกเว้นในกรณีที่แอตทริบิวต์
|
resources
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ
หากระบุทรัพยากร ระบบจะรวมทรัพยากรไว้ในไฟล์ JAR พร้อมกับ
โดยทรัพยากรอาจเป็นไฟล์ต้นฉบับหรือไฟล์ที่สร้างขึ้น |
classpath_resources
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ
รายการทรัพยากรที่ต้องอยู่ในรูทของแผนผัง Java แอตทริบิวต์นี้มีไว้เพื่อรองรับไลบรารีของบุคคลที่สามที่กำหนดให้ต้องค้นหาทรัพยากรใน Classpath เป็น |
create_executable
|
บูลีน กำหนดค่าไม่ได้ ค่าเริ่มต้นคือ java_single_jar แทน
|
deploy_env
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ java_binary ที่แสดงถึงสภาพแวดล้อมการติดตั้งใช้งาน
สำหรับไบนารีนี้
ตั้งค่าแอตทริบิวต์นี้เมื่อสร้างปลั๊กอินที่จะโหลดโดย java_binary อื่นการตั้งค่าแอตทริบิวต์นี้จะยกเว้นการขึ้นต่อกันทั้งหมดจาก Classpath ของรันไทม์ (และไฟล์ JAR ที่ทำให้ใช้งานได้) ของไบนารีนี้ซึ่งใช้ร่วมกันระหว่างไบนารีนี้ และเป้าหมายที่ระบุใน deploy_env
|
deploy_manifest_lines
|
รายการสตริง ค่าเริ่มต้นคือ META-INF/manifest.mf ที่สร้างขึ้นสําหรับเป้าหมาย
*_deploy.jar เนื้อหาของแอตทริบิวต์นี้ไม่ขึ้นอยู่กับ
การแทนที่"สร้างตัวแปร"
|
javacopts
|
รายการสตริง ค่าเริ่มต้นคือ ระบบจะส่งตัวเลือกคอมไพเลอร์เหล่านี้ไปยัง javac หลังจากตัวเลือกคอมไพเลอร์ส่วนกลาง |
jvm_flags
|
รายการสตริง ค่าเริ่มต้นคือ สคริปต์ Wrapper สำหรับไบนารี Java มีคำจำกัดความ CLASSPATH
(เพื่อค้นหาไฟล์ JAR ที่ขึ้นต่อกันทั้งหมด) และเรียกใช้ตัวแปล Java ที่ถูกต้อง
บรรทัดคำสั่งที่สร้างโดยสคริปต์ Wrapper จะมีชื่อของ
คลาสหลักตามด้วย โปรดทราบว่าแอตทริบิวต์นี้ไม่มีผลต่อ |
launcher
|
ป้ายกำกับ ค่าเริ่มต้นคือ bin/java โปรแกรมปกติที่รวมอยู่ใน JDK
เป้าหมายต้องเป็น cc_binary cc_binary ที่
ใช้
Java Invocation API สามารถระบุเป็นค่าสำหรับแอตทริบิวต์นี้ได้
โดยค่าเริ่มต้น Bazel จะใช้ตัวเรียกใช้ JDK ปกติ (bin/java หรือ java.exe) แฟล็ก โปรดทราบว่าระบบจะสร้างการอ้างอิงดั้งเดิม (C++, SWIG, JNI) ของคุณแตกต่างกัน โดยขึ้นอยู่กับว่าคุณใช้ตัวเรียกใช้ JDK หรือตัวเรียกใช้อื่น
เมื่อใช้ตัวเรียกใช้ที่ไม่ใช่ตัวเรียกใช้ JDK เริ่มต้น รูปแบบของ |
main_class
|
สตริง ค่าเริ่มต้นคือ main() เมธอดที่จะใช้เป็นจุดแรกเข้า
หากกฎใช้ตัวเลือกนี้ ก็ไม่จำเป็นต้องมีsrcs=[...] รายการ
ดังนั้น คุณจึงใช้แอตทริบิวต์นี้เพื่อสร้างไฟล์ที่เรียกใช้งานได้จากไลบรารี Java ที่มีmain() เมธอดอย่างน้อย 1 รายการอยู่แล้วได้
ค่าของแอตทริบิวต์นี้คือชื่อคลาส ไม่ใช่ไฟล์ต้นฉบับ คลาสต้อง
พร้อมใช้งานที่รันไทม์: อาจคอมไพล์โดยกฎนี้ (จาก |
plugins
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ java_plugin ทุกรายการที่ระบุในแอตทริบิวต์นี้จะทำงานทุกครั้งที่มีการสร้างกฎนี้
ไลบรารีอาจรับช่วงปลั๊กอินจากทรัพยากร Dependency ที่ใช้
exported_plugins ด้วย ระบบจะรวมทรัพยากร
ที่ปลั๊กอินสร้างขึ้นไว้ในไฟล์ JAR ที่ได้จากกฎนี้
|
resource_jars
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
resource_strip_prefix
|
สตริง ค่าเริ่มต้นคือ
หากระบุไว้ ระบบจะนำคำนำหน้าเส้นทางนี้ออกจากทุกไฟล์ในแอตทริบิวต์ |
runtime_deps
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ deps ทั่วไป ไฟล์เหล่านี้จะปรากฏใน classpath ของรันไทม์ แต่จะไม่ปรากฏใน classpath ของเวลาคอมไพล์ การอ้างอิงที่จำเป็นเฉพาะในรันไทม์ควร
แสดงไว้ที่นี่ เครื่องมือวิเคราะห์การขึ้นต่อกันควรละเว้นเป้าหมายที่ปรากฏทั้งใน
runtime_deps และ deps
|
stamp
|
จำนวนเต็ม ค่าเริ่มต้นคือ
ระบบจะไม่สร้างไบนารีที่ประทับเวลาใหม่ เว้นแต่ว่ามีการเปลี่ยนแปลงในทรัพยากร Dependency |
use_launcher
|
บูลีน ค่าเริ่มต้นคือ หากตั้งค่าแอตทริบิวต์นี้เป็น "เท็จ" ระบบจะไม่สนใจแอตทริบิวต์
launcher และแฟล็กที่เกี่ยวข้อง
|
use_testrunner
|
บูลีน ค่าเริ่มต้นคือ com.google.testing.junit.runner.BazelTestRunner ) เป็น
จุดแรกเข้าหลักสำหรับโปรแกรม Java และระบุคลาสการทดสอบ
ให้กับโปรแกรมเรียกใช้การทดสอบเป็นค่าของbazel.test_suite
พร็อพเพอร์ตี้ของระบบ
คุณสามารถใช้ตัวเลือกนี้เพื่อลบล้างลักษณะการทำงานเริ่มต้น
ซึ่งคือการใช้โปรแกรมเรียกใช้การทดสอบสำหรับกฎ java_test
และไม่ใช้สำหรับกฎ java_binary คุณไม่น่าจะต้องการทำเช่นนี้
กรณีการใช้งานหนึ่งคือสำหรับAllTest
กฎที่เรียกใช้โดยกฎอื่น (เช่น เพื่อตั้งค่าฐานข้อมูล
ก่อนเรียกใช้การทดสอบ) ต้องประกาศAllTest
กฎเป็น java_binary แต่ควร
ยังคงใช้โปรแกรมเรียกใช้การทดสอบเป็นจุดแรกเข้าหลัก
คุณลบล้างชื่อของคลาสโปรแกรมเรียกใช้การทดสอบได้ด้วยแอตทริบิวต์ main_class
|
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)
กฎนี้อนุญาตให้ใช้ไฟล์ .jar
ที่คอมไพล์ล่วงหน้าเป็น
ไลบรารีสำหรับกฎ java_library
และ
java_binary
ตัวอย่าง
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", ], )
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ |
deps
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
constraints
|
รายการสตริง กำหนดค่าไม่ได้ ค่าเริ่มต้นคือ |
exports
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
jars
|
รายการป้ายกำกับ (ต้องระบุ) รายการไฟล์ JAR ที่ระบุให้กับเป้าหมาย Java ที่ขึ้นอยู่กับเป้าหมายนี้ |
neverlink
|
บูลีน ค่าเริ่มต้นคือ tools.jar สำหรับทุกอย่างที่ทำงานใน
JDK มาตรฐาน
|
proguard_specs
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ android_binary ใดก็ตามโดยขึ้นอยู่กับคลังนี้
ไฟล์ที่รวมไว้ที่นี่ต้องมีเฉพาะกฎที่ไม่มีผลข้างเคียง ได้แก่ -dontnote, -dontwarn,
assumenosideeffects และกฎที่ขึ้นต้นด้วย -keep ตัวเลือกอื่นๆ จะปรากฏได้เฉพาะใน
android_binary 's proguard_specs เพื่อให้แน่ใจว่าการผสานจะไม่ซ้ำซ้อน
|
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)
กฎนี้จะรวบรวมและลิงก์แหล่งข้อมูลเป็นไฟล์ .jar
เป้าหมายเอาต์พุตโดยนัย
libname.jar
: ที่เก็บถาวรของ Java ที่มีไฟล์คลาสlibname-src.jar
: อาร์ไคฟ์ที่มีแหล่งที่มา ("source jar")
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ |
deps
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ deps ที่
แอตทริบิวต์ทั่วไปที่กำหนดโดย
กฎการสร้างส่วนใหญ่
ไฟล์ JAR ที่สร้างโดยกฎ
ในทางตรงกันข้าม เป้าหมายในแอตทริบิวต์ |
srcs
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ
คอมไพล์ไฟล์ต้นฉบับประเภท
ระบบจะคลายแพ็กและคอมไพล์ไฟล์ต้นฉบับประเภท
กฎ: หากกฎ (โดยปกติคือ
โดยปกติแล้วคุณจะต้องระบุอาร์กิวเมนต์นี้เสมอ ยกเว้นในกรณีที่แอตทริบิวต์
|
data
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ data ที่
แอตทริบิวต์ทั่วไปที่กำหนดโดย
กฎการสร้างส่วนใหญ่
เมื่อสร้าง |
resources
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ
หากระบุทรัพยากร ระบบจะรวมทรัพยากรไว้ในไฟล์ JAR พร้อมกับ
โดยทรัพยากรอาจเป็นไฟล์ต้นฉบับหรือไฟล์ที่สร้างขึ้น |
exported_plugins
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ java_plugin (เช่น annotation
processors) ที่จะส่งออกไปยังไลบรารีที่ขึ้นต่อกันกับไลบรารีนี้โดยตรง
ระบบจะใช้รายการ |
exports
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ
การระบุกฎที่นี่จะทำให้กฎดังกล่าวพร้อมใช้งานกับกฎระดับบนสุด ราวกับว่ากฎระดับบนสุดขึ้นอยู่กับกฎเหล่านี้อย่างชัดเจน
แต่จะไม่เป็นเช่นนั้นสำหรับ
สรุป: กฎ X จะเข้าถึงโค้ดใน Y ได้หากมีเส้นทางการอ้างอิง
ระหว่างกฎทั้ง 2 ซึ่งเริ่มต้นด้วยขอบ
สมมติว่า A ขึ้นอยู่กับ B และ B ขึ้นอยู่กับ C ในกรณีนี้
C เป็นการขึ้นต่อกันแบบทรานซิทีฟของ A ดังนั้นการเปลี่ยนแหล่งที่มาของ C และการสร้าง A ใหม่จะ
สร้างทุกอย่างใหม่ได้อย่างถูกต้อง แต่ A จะใช้ชั้นเรียนใน C ไม่ได้ หากต้องการอนุญาต
ดังกล่าว A ต้องประกาศ C ใน การปิดไลบรารีที่ส่งออกจะใช้ได้กับกฎหลักโดยตรงทั้งหมด ลองดูตัวอย่างที่แตกต่างกันเล็กน้อย A ขึ้นอยู่กับ B, B ขึ้นอยู่กับ C และ D และยังส่งออก C แต่ไม่ส่งออก D ตอนนี้ A มีสิทธิ์เข้าถึง C แต่ไม่มีสิทธิ์เข้าถึง D ตอนนี้หาก C และ D ส่งออกไลบรารีบางรายการ C' และ D' ตามลำดับ A จะเข้าถึงได้เฉพาะ C' แต่เข้าถึง D' ไม่ได้
สำคัญ: กฎที่ส่งออกไม่ใช่การอ้างอิงปกติ จากตัวอย่างก่อนหน้า
หาก B ส่งออก C และต้องการใช้ C ด้วย ก็จะต้องแสดง C ใน |
javacopts
|
รายการสตริง ค่าเริ่มต้นคือ ระบบจะส่งตัวเลือกคอมไพเลอร์เหล่านี้ไปยัง javac หลังจากตัวเลือกคอมไพเลอร์ส่วนกลาง |
neverlink
|
บูลีน ค่าเริ่มต้นคือ tools.jar สำหรับทุกอย่าง
ที่ทำงานใน JDK มาตรฐาน
โปรดทราบว่า หากไลบรารีรันไทม์แตกต่างจากไลบรารีการคอมไพล์ คุณต้องตรวจสอบว่าไลบรารีรันไทม์ แตกต่างกันเฉพาะในตำแหน่งที่ JLS ห้ามไม่ให้คอมไพเลอร์อินไลน์ (และต้องเป็นเช่นนี้สำหรับ JLS ทุกเวอร์ชันในอนาคต) |
plugins
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ java_plugin ทุกรายการที่ระบุในแอตทริบิวต์นี้จะทำงานทุกครั้งที่มีการสร้างกฎนี้
ไลบรารีอาจรับช่วงปลั๊กอินจากทรัพยากร Dependency ที่ใช้
exported_plugins ด้วย ระบบจะรวมทรัพยากร
ที่ปลั๊กอินสร้างขึ้นไว้ในไฟล์ JAR ที่ได้จากกฎนี้
|
proguard_specs
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ android_binary ใดก็ตามโดยขึ้นอยู่กับคลังนี้
ไฟล์ที่รวมไว้ที่นี่ต้องมีเฉพาะกฎที่ไม่มีผลข้างเคียง ได้แก่ -dontnote, -dontwarn,
assumenosideeffects และกฎที่ขึ้นต้นด้วย -keep ตัวเลือกอื่นๆ จะปรากฏได้เฉพาะใน
android_binary 's proguard_specs เพื่อให้แน่ใจว่าการผสานจะไม่ซ้ำซ้อน
|
resource_jars
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
resource_strip_prefix
|
สตริง ค่าเริ่มต้นคือ
หากระบุไว้ ระบบจะนำคำนำหน้าเส้นทางนี้ออกจากทุกไฟล์ในแอตทริบิวต์ |
runtime_deps
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ deps ทั่วไป ไฟล์เหล่านี้จะปรากฏใน classpath ของรันไทม์ แต่จะไม่ปรากฏใน classpath ของเวลาคอมไพล์ การอ้างอิงที่จำเป็นเฉพาะในรันไทม์ควร
แสดงไว้ที่นี่ เครื่องมือวิเคราะห์การขึ้นต่อกันควรละเว้นเป้าหมายที่ปรากฏทั้งใน
runtime_deps และ 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
สร้างโค้ด Java จากไฟล์ .proto
deps
ต้องชี้ไปยังกฎ proto_library
ตัวอย่าง
java_library( name = "lib", deps = [":foo"], ) java_lite_proto_library( name = "foo", deps = [":bar"], ) proto_library( name = "bar", )
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ |
deps
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ proto_library
เพื่อสร้างโค้ด Java
|
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
สร้างโค้ด Java จากไฟล์ .proto
deps
ต้องชี้ไปยังกฎ proto_library
ตัวอย่าง
java_library( name = "lib", deps = [":foo_java_proto"], ) java_proto_library( name = "foo_java_proto", deps = [":foo_proto"], ) proto_library( name = "foo_proto", )
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ |
deps
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ proto_library
เพื่อสร้างโค้ด Java
|
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()
กฎจะคอมไพล์การทดสอบ Java การทดสอบคือ Wrapper แบบไบนารีรอบโค้ดทดสอบ
ระบบจะเรียกใช้เมธอดหลักของโปรแกรมเรียกใช้การทดสอบแทนที่จะคอมไพล์คลาสหลัก
เป้าหมายเอาต์พุตโดยนัย
name.jar
: ที่เก็บถาวร Javaname_deploy.jar
: ไฟล์เก็บถาวร Java ที่เหมาะ สำหรับการติดตั้งใช้งาน (สร้างขึ้นเฉพาะในกรณีที่มีการขออย่างชัดเจนเท่านั้น) ดูรายละเอียดเพิ่มเติมได้ในคำอธิบายของname_deploy.jar
เอาต์พุตจาก java_binary
ดูส่วนเกี่ยวกับอาร์กิวเมนต์ java_binary() นอกจากนี้ กฎนี้ยังรองรับแอตทริบิวต์ทั่วไป ทั้งหมดของกฎการทดสอบทั้งหมด (*_test) ด้วย
ตัวอย่าง
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", ], )
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ |
deps
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ deps ที่
แอตทริบิวต์ทั่วไปที่กำหนดโดย
กฎการสร้างส่วนใหญ่
|
srcs
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ
คอมไพล์ไฟล์ต้นฉบับประเภท
ระบบจะคลายแพ็กและคอมไพล์ไฟล์ต้นฉบับประเภท
กฎ: หากกฎ (โดยปกติคือ
โดยปกติแล้วคุณจะต้องระบุอาร์กิวเมนต์นี้เสมอ ยกเว้นในกรณีที่แอตทริบิวต์
|
resources
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ
หากระบุทรัพยากร ระบบจะรวมทรัพยากรไว้ในไฟล์ JAR พร้อมกับ
โดยทรัพยากรอาจเป็นไฟล์ต้นฉบับหรือไฟล์ที่สร้างขึ้น |
classpath_resources
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ
รายการทรัพยากรที่ต้องอยู่ในรูทของแผนผัง Java แอตทริบิวต์นี้มีไว้เพื่อรองรับไลบรารีของบุคคลที่สามที่กำหนดให้ต้องค้นหาทรัพยากรใน Classpath เป็น |
create_executable
|
บูลีน กำหนดค่าไม่ได้ ค่าเริ่มต้นคือ java_single_jar แทน
|
deploy_manifest_lines
|
รายการสตริง ค่าเริ่มต้นคือ META-INF/manifest.mf ที่สร้างขึ้นสําหรับเป้าหมาย
*_deploy.jar เนื้อหาของแอตทริบิวต์นี้ไม่ขึ้นอยู่กับ
การแทนที่"สร้างตัวแปร"
|
javacopts
|
รายการสตริง ค่าเริ่มต้นคือ ระบบจะส่งตัวเลือกคอมไพเลอร์เหล่านี้ไปยัง javac หลังจากตัวเลือกคอมไพเลอร์ส่วนกลาง |
jvm_flags
|
รายการสตริง ค่าเริ่มต้นคือ สคริปต์ Wrapper สำหรับไบนารี Java มีคำจำกัดความ CLASSPATH
(เพื่อค้นหาไฟล์ JAR ที่ขึ้นต่อกันทั้งหมด) และเรียกใช้ตัวแปล Java ที่ถูกต้อง
บรรทัดคำสั่งที่สร้างโดยสคริปต์ Wrapper จะมีชื่อของ
คลาสหลักตามด้วย โปรดทราบว่าแอตทริบิวต์นี้ไม่มีผลต่อ |
launcher
|
ป้ายกำกับ ค่าเริ่มต้นคือ bin/java โปรแกรมปกติที่รวมอยู่ใน JDK
เป้าหมายต้องเป็น cc_binary cc_binary ที่
ใช้
Java Invocation API สามารถระบุเป็นค่าสำหรับแอตทริบิวต์นี้ได้
โดยค่าเริ่มต้น Bazel จะใช้ตัวเรียกใช้ JDK ปกติ (bin/java หรือ java.exe) แฟล็ก โปรดทราบว่าระบบจะสร้างการอ้างอิงดั้งเดิม (C++, SWIG, JNI) ของคุณแตกต่างกัน โดยขึ้นอยู่กับว่าคุณใช้ตัวเรียกใช้ JDK หรือตัวเรียกใช้อื่น
เมื่อใช้ตัวเรียกใช้ที่ไม่ใช่ตัวเรียกใช้ JDK เริ่มต้น รูปแบบของ |
main_class
|
สตริง ค่าเริ่มต้นคือ main() เมธอดที่จะใช้เป็นจุดแรกเข้า
หากกฎใช้ตัวเลือกนี้ ก็ไม่จำเป็นต้องมีsrcs=[...] รายการ
ดังนั้น คุณจึงใช้แอตทริบิวต์นี้เพื่อสร้างไฟล์ที่เรียกใช้งานได้จากไลบรารี Java ที่มีmain() เมธอดอย่างน้อย 1 รายการอยู่แล้วได้
ค่าของแอตทริบิวต์นี้คือชื่อคลาส ไม่ใช่ไฟล์ต้นฉบับ คลาสต้อง
พร้อมใช้งานที่รันไทม์: อาจคอมไพล์โดยกฎนี้ (จาก |
plugins
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ java_plugin ทุกรายการที่ระบุในแอตทริบิวต์นี้จะทำงานทุกครั้งที่มีการสร้างกฎนี้
ไลบรารีอาจรับช่วงปลั๊กอินจากทรัพยากร Dependency ที่ใช้
exported_plugins ด้วย ระบบจะรวมทรัพยากร
ที่ปลั๊กอินสร้างขึ้นไว้ในไฟล์ JAR ที่ได้จากกฎนี้
|
resource_jars
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
resource_strip_prefix
|
สตริง ค่าเริ่มต้นคือ
หากระบุไว้ ระบบจะนำคำนำหน้าเส้นทางนี้ออกจากทุกไฟล์ในแอตทริบิวต์ |
runtime_deps
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ deps ทั่วไป ไฟล์เหล่านี้จะปรากฏใน classpath ของรันไทม์ แต่จะไม่ปรากฏใน classpath ของเวลาคอมไพล์ การอ้างอิงที่จำเป็นเฉพาะในรันไทม์ควร
แสดงไว้ที่นี่ เครื่องมือวิเคราะห์การขึ้นต่อกันควรละเว้นเป้าหมายที่ปรากฏทั้งใน
runtime_deps และ deps
|
stamp
|
จำนวนเต็ม ค่าเริ่มต้นคือ
ระบบจะไม่สร้างไบนารีที่ประทับเวลาใหม่ เว้นแต่ว่ามีการเปลี่ยนแปลงในทรัพยากร Dependency |
test_class
|
สตริง ค่าเริ่มต้นคือ
โดยค่าเริ่มต้น หากไม่ได้กำหนดอาร์กิวเมนต์นี้ ระบบจะใช้โหมดเดิมและใช้อาร์กิวเมนต์การทดสอบแทน ตั้งค่าสถานะ
แอตทริบิวต์นี้ระบุชื่อของคลาส Java ที่การทดสอบนี้จะเรียกใช้ ไม่ค่อยมีความจำเป็นในการตั้งค่านี้ หากเว้นอาร์กิวเมนต์นี้ไว้ ระบบจะอนุมานโดยใช้
สำหรับ JUnit3 คลาสทดสอบต้องเป็นคลาสย่อยของ
แอตทริบิวต์นี้ช่วยให้ |
use_launcher
|
บูลีน ค่าเริ่มต้นคือ หากตั้งค่าแอตทริบิวต์นี้เป็น "เท็จ" ระบบจะไม่สนใจแอตทริบิวต์
launcher และแฟล็กที่เกี่ยวข้อง
|
use_testrunner
|
บูลีน ค่าเริ่มต้นคือ com.google.testing.junit.runner.BazelTestRunner ) เป็น
จุดแรกเข้าหลักสำหรับโปรแกรม Java และระบุคลาสการทดสอบ
ให้กับโปรแกรมเรียกใช้การทดสอบเป็นค่าของbazel.test_suite
พร็อพเพอร์ตี้ของระบบ
คุณสามารถใช้ตัวเลือกนี้เพื่อลบล้างลักษณะการทำงานเริ่มต้น
ซึ่งคือการใช้โปรแกรมเรียกใช้การทดสอบสำหรับกฎ java_test
และไม่ใช้สำหรับกฎ java_binary คุณไม่น่าจะต้องการทำเช่นนี้
กรณีการใช้งานหนึ่งคือสำหรับAllTest
กฎที่เรียกใช้โดยกฎอื่น (เช่น เพื่อตั้งค่าฐานข้อมูล
ก่อนเรียกใช้การทดสอบ) ต้องประกาศAllTest
กฎเป็น java_binary แต่ควร
ยังคงใช้โปรแกรมเรียกใช้การทดสอบเป็นจุดแรกเข้าหลัก
คุณลบล้างชื่อของคลาสโปรแกรมเรียกใช้การทดสอบได้ด้วยแอตทริบิวต์ main_class
|
java_package_configuration
ดูแหล่งที่มาของกฎjava_package_configuration(name, data, compatible_with, deprecation, distribs, features, javacopts, licenses, packages, restricted_to, tags, target_compatible_with, testonly, visibility)
การกำหนดค่าที่จะใช้กับชุดแพ็กเกจ
คุณเพิ่มการกำหนดค่าลงในjava_toolchain.javacopts
ได้
ตัวอย่าง
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", ] )
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ |
data
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
javacopts
|
รายการสตริง ค่าเริ่มต้นคือ |
packages
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ package_group
ที่ควรใช้การกำหนดค่า
|
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
กำหนดปลั๊กอินสำหรับคอมไพเลอร์ Java ที่ Bazel เรียกใช้ ขณะนี้
ปลั๊กอินที่รองรับมีเพียงตัวประมวลผลคำอธิบายประกอบ กฎ java_library
หรือ java_binary
สามารถเรียกใช้ปลั๊กอินได้โดยขึ้นอยู่กับปลั๊กอินเหล่านั้นผ่านแอตทริบิวต์ plugins
java_library
ยังส่งออกปลั๊กอินไปยังไลบรารีที่ขึ้นต่อกันโดยตรงได้โดยอัตโนมัติโดยใช้
exported_plugins
เป้าหมายเอาต์พุตโดยนัย
libname.jar
: ที่เก็บถาวร Java
อาร์กิวเมนต์จะเหมือนกับ java_library
ยกเว้น
การเพิ่มอาร์กิวเมนต์ processor_class
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ |
deps
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ deps ที่
แอตทริบิวต์ทั่วไปที่กำหนดโดย
กฎการสร้างส่วนใหญ่
ไฟล์ JAR ที่สร้างโดยกฎ
ในทางตรงกันข้าม เป้าหมายในแอตทริบิวต์ |
srcs
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ
คอมไพล์ไฟล์ต้นฉบับประเภท
ระบบจะคลายแพ็กและคอมไพล์ไฟล์ต้นฉบับประเภท
กฎ: หากกฎ (โดยปกติคือ
โดยปกติแล้วคุณจะต้องระบุอาร์กิวเมนต์นี้เสมอ ยกเว้นในกรณีที่แอตทริบิวต์
|
data
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ data ที่
แอตทริบิวต์ทั่วไปที่กำหนดโดย
กฎการสร้างส่วนใหญ่
เมื่อสร้าง |
resources
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ
หากระบุทรัพยากร ระบบจะรวมทรัพยากรไว้ในไฟล์ JAR พร้อมกับ
โดยทรัพยากรอาจเป็นไฟล์ต้นฉบับหรือไฟล์ที่สร้างขึ้น |
generates_api
|
บูลีน ค่าเริ่มต้นคือ หากกฎใช้ตัวประมวลผลคำอธิบายประกอบที่สร้าง API กฎอื่นๆ ที่ขึ้นอยู่กับกฎนั้นจะอ้างอิงโค้ดที่สร้างขึ้นได้ก็ต่อเมื่อมีการกำหนดเวลาการดำเนินการ คอมไพล์หลังจากกฎที่สร้าง แอตทริบิวต์นี้ จะสั่งให้ Bazel กำหนดข้อจำกัดในการจัดกำหนดการเมื่อ เปิดใช้ --java_header_compilation คำเตือน: แอตทริบิวต์นี้ส่งผลต่อประสิทธิภาพการสร้าง ใช้เฉพาะในกรณีที่จำเป็นเท่านั้น |
javacopts
|
รายการสตริง ค่าเริ่มต้นคือ ระบบจะส่งตัวเลือกคอมไพเลอร์เหล่านี้ไปยัง javac หลังจากตัวเลือกคอมไพเลอร์ส่วนกลาง |
neverlink
|
บูลีน ค่าเริ่มต้นคือ tools.jar สำหรับทุกอย่าง
ที่ทำงานใน JDK มาตรฐาน
โปรดทราบว่า หากไลบรารีรันไทม์แตกต่างจากไลบรารีการคอมไพล์ คุณต้องตรวจสอบว่าไลบรารีรันไทม์ แตกต่างกันเฉพาะในตำแหน่งที่ JLS ห้ามไม่ให้คอมไพเลอร์อินไลน์ (และต้องเป็นเช่นนี้สำหรับ JLS ทุกเวอร์ชันในอนาคต) |
output_licenses
|
ประเภทใบอนุญาต ค่าเริ่มต้นคือ common attributes
|
plugins
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ java_plugin ทุกรายการที่ระบุในแอตทริบิวต์นี้จะทำงานทุกครั้งที่มีการสร้างกฎนี้
ไลบรารีอาจรับช่วงปลั๊กอินจากทรัพยากร Dependency ที่ใช้
exported_plugins ด้วย ระบบจะรวมทรัพยากร
ที่ปลั๊กอินสร้างขึ้นไว้ในไฟล์ JAR ที่ได้จากกฎนี้
|
processor_class
|
สตริง ค่าเริ่มต้นคือ |
proguard_specs
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ android_binary ใดก็ตามโดยขึ้นอยู่กับคลังนี้
ไฟล์ที่รวมไว้ที่นี่ต้องมีเฉพาะกฎที่ไม่มีผลข้างเคียง ได้แก่ -dontnote, -dontwarn,
assumenosideeffects และกฎที่ขึ้นต้นด้วย -keep ตัวเลือกอื่นๆ จะปรากฏได้เฉพาะใน
android_binary 's proguard_specs เพื่อให้แน่ใจว่าการผสานจะไม่ซ้ำซ้อน
|
resource_jars
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
resource_strip_prefix
|
สตริง ค่าเริ่มต้นคือ
หากระบุไว้ ระบบจะนำคำนำหน้าเส้นทางนี้ออกจากทุกไฟล์ในแอตทริบิวต์ |
java_runtime
ดูแหล่งที่มาของกฎjava_runtime(name, srcs, compatible_with, default_cds, deprecation, distribs, features, hermetic_srcs, java, java_home, lib_ct_sym, lib_modules, licenses, restricted_to, tags, target_compatible_with, testonly, version, visibility)
ระบุการกำหนดค่าสำหรับรันไทม์ Java
ตัวอย่าง
java_runtime( name = "jdk-9-ea+153", srcs = glob(["jdk9-ea+153/**"]), java_home = "jdk9-ea+153", )
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ |
srcs
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
default_cds
|
ป้ายกำกับ ค่าเริ่มต้นคือ java_runtime แบบปิด เมื่อเปิดใช้ hermetic
สําหรับเป้าหมาย java_binary และหากเป้าหมายไม่ได้
ระบุที่เก็บ CDS ของตัวเองโดยการระบุแอตทริบิวต์
classlist
ระบบจะแพ็ก CDS เริ่มต้น java_runtime ไว้ใน JAR การติดตั้งใช้งาน hermetic
|
hermetic_srcs
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
java
|
ป้ายกำกับ ค่าเริ่มต้นคือ |
java_home
|
สตริง ค่าเริ่มต้นคือ srcs และ java ต้องเว้นว่างไว้
|
lib_ct_sym
|
ป้ายกำกับ ค่าเริ่มต้นคือ --release หากไม่ได้ระบุและมีไฟล์เพียงไฟล์เดียวใน srcs ซึ่งมีเส้นทางที่ลงท้ายด้วย /lib/ct.sym ระบบจะใช้ไฟล์นั้น
|
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_worker_multiplex_sandboxing, javac_supports_workers, javacopts, jvm_opts, licenses, oneversion, oneversion_allowlist_for_tests, 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 คุณเปลี่ยน Toolchain ที่จะใช้ได้ผ่านอาร์กิวเมนต์ --java_toolchain โดยปกติแล้ว คุณไม่ควรเขียนกฎประเภทดังกล่าว เว้นแต่ต้องการปรับแต่งคอมไพเลอร์ Java
ตัวอย่าง
ตัวอย่างง่ายๆ มีดังนี้
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", )
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ |
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
|
รายการป้ายกำกับ (ต้องระบุ) ป้ายกำกับของไฟล์ JAR ที่ใช้ในการติดตั้งใช้งาน GenClass |
header_compiler
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
header_compiler_direct
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ เครื่องมือนี้ไม่รองรับการประมวลผลคำอธิบายประกอบ |
ijar
|
รายการป้ายกำกับ (ต้องระบุ) ป้ายกำกับของไฟล์ที่เรียกใช้งานได้ ijar |
jacocorunner
|
ป้ายกำกับ ค่าเริ่มต้นคือ |
java_runtime
|
ป้ายกำกับ (ต้องระบุ) java_runtime ที่จะใช้กับเครื่องมือนี้ โดยมีค่าเริ่มต้นเป็น java_runtime ในการกำหนดค่าการดำเนินการ |
javabuilder
|
รายการป้ายกำกับ (ต้องระบุ) ป้ายกำกับของไฟล์ JAR ที่ใช้ในการติดตั้งใช้งาน JavaBuilder |
javabuilder_data
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
javabuilder_jvm_opts
|
รายการสตริง ค่าเริ่มต้นคือ |
javac_supports_multiplex_workers
|
บูลีน ค่าเริ่มต้นคือ |
javac_supports_worker_multiplex_sandboxing
|
บูลีน ค่าเริ่มต้นคือ |
javac_supports_workers
|
บูลีน ค่าเริ่มต้นคือ |
javacopts
|
รายการสตริง ค่าเริ่มต้นคือ |
jvm_opts
|
รายการสตริง ค่าเริ่มต้นคือ |
oneversion
|
ป้ายกำกับ ค่าเริ่มต้นคือ |
oneversion_allowlist_for_tests
|
ป้ายกำกับ ค่าเริ่มต้นคือ |
oneversion_whitelist
|
ป้ายกำกับ ค่าเริ่มต้นคือ |
package_configuration
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
proguard_allowlister
|
ป้ายกำกับ ค่าเริ่มต้นคือ |
resourcejar
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
singlejar
|
รายการป้ายกำกับ (ต้องระบุ) ป้ายกำกับของไฟล์ JAR ที่ใช้ในการติดตั้งใช้งาน SingleJar |
source_version
|
สตริง ค่าเริ่มต้นคือ |
target_version
|
สตริง ค่าเริ่มต้นคือ |
timezone_data
|
ป้ายกำกับ ค่าเริ่มต้นคือ |
tools
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
turbine_data
|
รายการป้ายกำกับ ค่าเริ่มต้นคือ |
turbine_jvm_opts
|
รายการสตริง ค่าเริ่มต้นคือ |
xlint
|
รายการสตริง ค่าเริ่มต้นคือ |