กฎ Objective-C

รายงานปัญหา ดูแหล่งที่มา

กฎ

j2objc_library

ดูแหล่งที่มาของกฎ
j2objc_library(name, deps, compatible_with, deprecation, distribs, entry_classes, features, jre_deps, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)

กฎนี้ใช้ J2ObjC เพื่อแปลไฟล์แหล่งที่มาของ Java เป็น Objective-C ซึ่งหลังจากนั้นจะใช้เป็นทรัพยากร Dependency ของกฎ objc_library และ objc_binary ดูข้อมูลโดยละเอียดเกี่ยวกับ J2ObjC ได้ที่เว็บไซต์ J2ObjC

คุณระบุแฟล็กการถอดเสียงเป็นคํา J2ObjC ที่กําหนดเองได้โดยใช้แฟล็กบิวด์ --j2objc_translation_flags ในบรรทัดคําสั่ง

โปรดทราบว่าไฟล์ที่แปลแล้วซึ่งรวมอยู่ในเป้าหมาย j2objc_library จะรวบรวมโดยใช้การกําหนดค่าการคอมไพล์เริ่มต้น ซึ่งเป็นการกําหนดค่าเดียวกันกับสําหรับแหล่งที่มาของกฎ objc_library ที่ไม่ได้ระบุการรวบรวมการรวบรวมในแอตทริบิวต์

นอกจากนี้ โค้ดที่สร้างขึ้นจะกรองข้อมูลที่ซ้ํากันออกที่ระดับเป้าหมาย ไม่ใช่ระดับแหล่งที่มา หากมีเป้าหมาย Java 2 รายการที่แตกต่างกันซึ่งมีไฟล์แหล่งที่มาของ Java เดียวกัน คุณอาจเห็นข้อผิดพลาดสัญลักษณ์ที่ซ้ํากันในขณะที่ลิงก์ วิธีที่ถูกต้องในการแก้ปัญหานี้คือการย้ายไฟล์ต้นฉบับ Java ที่แชร์ไปยังเป้าหมายทั่วไปแยกต่างหากที่อาจพึ่งพาได้

อาร์กิวเมนต์

แอตทริบิวต์
name

Name; required

ชื่อที่ไม่ซ้ํากันสําหรับเป้าหมายนี้

deps

List of labels; optional

รายการเป้าหมาย j2objc_library, java_library, java_import และ java_proto_library ที่มีไฟล์ Java ที่จะแปลงเป็น Objective-C

เป้าหมาย java_library และ java_import ทั้งหมดที่เข้าถึงได้ผ่าน exports, deps และ runtime_deps จะได้รับการแปลและคอมไพล์ รวมถึงไฟล์ที่สร้างจากการประมวลผลคําอธิบายประกอบ Java ไม่มีการรองรับเป้าหมาย code>java_import โดยไม่ได้ระบุ srcjar

การแปล J2ObjC จะทํางานแตกต่างกันไปตามประเภทของไฟล์แหล่งที่มาของ Java ที่มาในการปิดแบบชั่วคราว สําหรับไฟล์แหล่งที่มา .java แต่ละไฟล์ที่รวมอยู่ใน srcs จาก java_library ระบบจะสร้างไฟล์ต้นฉบับ .h และ .m ที่เกี่ยวข้องขึ้น สําหรับ Jar แหล่งที่มาแต่ละรายการที่รวมอยู่ใน srcs จาก java_library หรือ srcjar จาก java_import ระบบจะสร้างไฟล์ .h และ .m ที่เกี่ยวข้องขึ้นพร้อมโค้ดทั้งหมดสําหรับโหลนั้น

ผู้ใช้จะนําเข้าไฟล์ส่วนหัวที่ J2ObjC สร้างขึ้นในโค้ดได้ เส้นทางการนําเข้าสําหรับไฟล์เหล่านี้คือเส้นทางแบบรูทของอาร์ติแฟกต์ดั้งเดิมของ Java ตัวอย่างเช่น //some/package/foo.java มีเส้นทางการนําเข้า some/package/foo.h และ //some/package/bar.srcjar มี some/package/bar.h

หากกฎ proto_library อยู่ในแบบปิดชั่วคราวของกฎนี้ ระบบจะสร้างโปรเจ็กเตอร์ J2ObjC ขึ้น รวบรวม และผสานรวมในระดับไบนารีด้วย สําหรับต้นแบบ //some/proto/foo.proto ผู้ใช้จะอ้างอิงโค้ดที่สร้างขึ้นได้โดยใช้เส้นทางการนําเข้า some/proto/foo.j2objc.pb.h

entry_classes

List of strings; optional

รายการคลาส Java ที่มีการแปลออบเจ็กต์ ObjC ที่แปลแล้วจะมีการอ้างอิงโดยตรงด้วยโค้ด ObjC ของผู้ใช้ ต้องมีแอตทริบิวต์นี้หากเปิดใช้ธง --j2objc_dead_code_removal อยู่ คุณควรระบุคลาส Java ในชื่อ Canonical ตามที่กําหนดไว้ในข้อกําหนดภาษา Java เมื่อระบุแฟล็ก --j2objc_dead_code_removal ระบบจะรวบรวมรายการคลาสรายการชั่วคราวและใช้เป็นจุดแรกเข้าเพื่อทําการวิเคราะห์โค้ดที่ตายแล้ว ระบบจะนําคลาสที่ไม่ได้ใช้ออกจาก App Bundle สุดท้ายของ ObjC
jre_deps

List of labels; optional

รายการไลบรารีการจําลอง JRE เพิ่มเติมที่จําเป็นสําหรับโค้ด Java ทั้งหมดที่แปลโดยกฎ j2objc_library นี้ ระบบจะลิงก์เฉพาะฟังก์ชัน JRE หลักเท่านั้นโดยค่าเริ่มต้น

การนําเข้า OBJC

ดูแหล่งที่มาของกฎ
objc_import(name, hdrs, alwayslink, archives, compatible_with, deprecation, distribs, features, includes, licenses, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, visibility, weak_sdk_frameworks)

กฎนี้รวมไลบรารีแบบคงที่ซึ่งรวบรวมไว้แล้วในรูปแบบไฟล์ .a ทั้งยังช่วยให้ส่งออกส่วนหัวและทรัพยากรโดยใช้แอตทริบิวต์เดียวกับที่ objc_library รองรับได้ด้วย

อาร์กิวเมนต์

แอตทริบิวต์
name

Name; required

ชื่อที่ไม่ซ้ํากันสําหรับเป้าหมายนี้

hdrs

List of labels; optional

รายการไฟล์ส่วนหัว C, C++, Objective-C และ Objective-C++ ที่ไลบรารีนี้เผยแพร่เพื่อรวมไว้ในแหล่งที่มาในกฎที่เกี่ยวข้อง

ส่วนหัวเหล่านี้จะอธิบายอินเทอร์เฟซสาธารณะของไลบรารีและทําให้พร้อมใช้งานในแหล่งที่มาในกฎนี้หรือในกฎที่เกี่ยวข้อง ส่วนหัวที่ไม่ได้รวมไว้โดยไคลเอ็นต์ของไลบรารีนี้ควรแสดงอยู่ในแอตทริบิวต์ src แทน

รายการเหล่านี้จะได้รับการรวบรวมแยกมาจากแหล่งที่มาหากเปิดใช้โมดูล

Boolean; optional; default is False

หาก 1 กลุ่มหรือไบนารีที่ขึ้นอยู่กับ (โดยตรงหรือโดยอ้อม) ในไลบรารีนี้จะลิงก์ในไฟล์ออบเจ็กต์ทั้งหมดของไฟล์ที่แสดงอยู่ใน srcs และ non_arc_srcs แม้ว่าบางส่วนจะไม่มีสัญลักษณ์ที่อ้างอิงถึงโดยไบนารีนั้น วิธีนี้มีประโยชน์หากไม่มีการเรียกใช้โค้ดอย่างชัดแจ้งในไบนารี เช่น หากโค้ดลงทะเบียนเพื่อรับโค้ดเรียกกลับจากบริการบางอย่าง
archives

List of labels; required

รายการไฟล์ .a ที่ให้ไว้กับเป้าหมาย Objective-C ที่ขึ้นอยู่กับเป้าหมายนี้
includes

List of strings; optional

รายการเส้นทางการค้นหา #include/#import รายการที่จะเพิ่มไปยังเป้าหมายนี้และเป้าหมายทั้งหมด การดําเนินการนี้รองรับไลบรารีของบุคคลที่สามและโอเพนซอร์สแบบโอเพนซอร์สที่ไม่ระบุเส้นทางพื้นที่ทํางานทั้งหมดในคําสั่ง #import/#include

เส้นทางได้รับการตีความโดยสัมพันธ์กับไดเรกทอรีแพ็กเกจ และ genfile และรูทของ bin (เช่น blaze-genfiles/pkg/includedir และ blaze-out/pkg/includedir) จะรวมอยู่ในไฟล์รูทรูทของไคลเอ็นต์

การแจ้งว่าไม่เหมาะสมเหล่านี้สําหรับกฎนี้และกฎทั้งหมดที่ใช้กฎดังกล่าวไม่เหมือนกับ COPTS (หมายเหตุ: ไม่ใช่กฎที่เหมาะสม) โปรดระวังให้ดี เพราะอาจมีผลกระทบมากมาย หากไม่แน่ใจ ให้เพิ่มแฟล็ก "-iquote" ไปยัง COPTS แทน

sdk_dylibs

List of strings; optional

ชื่อไลบรารี SDK .dylib ที่จะลิงก์ด้วย เช่น "libz" หรือ "libArchive" ระบบจะรวม "libc++" โดยอัตโนมัติหากไบนารีมีแหล่งที่มาของ C++ หรือ Objective-C++ ในแผนผังทรัพยากร Dependency เมื่อลิงก์ไบนารี ระบบจะใช้ไลบรารีทั้งหมดที่มีชื่อในกราฟ Dependency แบบไบนารีของไบนารีนั้น
sdk_frameworks

List of strings; optional

ชื่อของเฟรมเวิร์ก SDK ที่จะลิงก์ (เช่น "AddressBook", "QuartzCore") "UIKit" และ "Foundation" จะรวมอยู่ในการสร้างสําหรับแพลตฟอร์ม iOS, tvOS และ WatchOS เสมอ สําหรับ macOS เฉพาะ "ผู้ก่อตั้ง" เท่านั้นที่จะรวมเสมอ

เมื่อลิงก์ไบนารี Apple ระดับบนสุด ระบบจะลิงก์เฟรมเวิร์ก SDK ทั้งหมดที่แสดงอยู่ในกราฟการพึ่งพาชั่วคราวของไบนารีนั้น

sdk_includes

List of strings; optional

รายการเส้นทางการค้นหา #include/#import รายการที่เพิ่มไปยังเป้าหมายนี้และเป้าหมายทั้งหมด ทั้งนี้ขึ้นอยู่กับแต่ละเส้นทางจะสัมพันธ์กับ $(SDKROOT)/usr/include
textual_hdrs

List of labels; optional

รายการไฟล์ C, C++, Objective-C และ Objective-C++ ที่รวมอยู่ในส่วนหัวโดยไฟล์แหล่งที่มาในกฎนี้หรือผู้ใช้ของไลบรารีนี้ ระบบจะไม่คอมไพล์แยกต่างหากจากแหล่งข้อมูลซึ่งแตกต่างจาก HDR
weak_sdk_frameworks

List of strings; optional

ชื่อของเฟรมเวิร์ก SDK ที่จะลิงก์ด้วยอ่อน เช่น "MediaAccessibility" สัญลักษณ์จากเฟรมเวิร์กที่ลิงก์อย่างรัดกุมจะไม่ก่อให้เกิดข้อผิดพลาดหากไม่พบขณะรันไทม์เหมือนกับเฟรมเวิร์กของ SDK ที่ลิงก์เป็นประจํา

ไลบรารี OBJC

ดูแหล่งที่มาของกฎ
objc_library(name, deps, srcs, data, hdrs, alwayslink, compatible_with, copts, defines, deprecation, distribs, enable_modules, exec_compatible_with, exec_properties, features, includes, licenses, linkopts, module_map, module_name, non_arc_srcs, pch, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)

กฎนี้จะสร้างไลบรารีแบบคงที่จากไฟล์แหล่งที่มา Objective-C ที่ระบุ

อาร์กิวเมนต์

แอตทริบิวต์
name

Name; required

ชื่อที่ไม่ซ้ํากันสําหรับเป้าหมายนี้

deps

List of labels; optional

รายการเป้าหมายที่ลิงก์รวมกันเพื่อสร้างกลุ่มสุดท้าย
srcs

List of labels; optional

รายการไฟล์แหล่งที่มา C, C++, Objective-C และ Objective-C++ และ/หรือ (`.s`, `.S` หรือ `.asm`) ซึ่งประมวลผลเพื่อสร้างเป้าหมายไลบรารี ไฟล์เหล่านี้ ได้แก่ ไฟล์ที่คุณเช็คอิน และไฟล์อื่นๆ ที่สร้างขึ้น ไฟล์แหล่งที่มาจะรวบรวมเป็นไฟล์ .o ด้วย Clang แหล่งที่มา/ส่วนหัวอาจรวม/นําเข้าไฟล์ส่วนหัวในแอตทริบิวต์ src ของเป้าหมายนี้ แต่ไม่รวมส่วนหัวใน hdrs หรือเป้าหมายใดๆ ที่ขึ้นอยู่กับกฎนี้ นอกจากนี้ระบบอาจให้ไฟล์ .o ที่คอมไพล์ไว้ล่วงหน้าเป็น src ด้วย โปรดระวังให้ความสอดคล้องของสถาปัตยกรรมของไฟล์ .o ที่ระบุไว้และโครงสร้างของบิลด์เพื่อหลีกเลี่ยงข้อผิดพลาดเกี่ยวกับตัวลิงก์สัญลักษณ์
hdrs

List of labels; optional

รายการไฟล์ส่วนหัว C, C++, Objective-C และ Objective-C++ ที่ไลบรารีนี้เผยแพร่เพื่อรวมไว้ในแหล่งที่มาในกฎที่เกี่ยวข้อง

ส่วนหัวเหล่านี้จะอธิบายอินเทอร์เฟซสาธารณะของไลบรารีและทําให้พร้อมใช้งานในแหล่งที่มาในกฎนี้หรือในกฎที่เกี่ยวข้อง ส่วนหัวที่ไม่ได้รวมไว้โดยไคลเอ็นต์ของไลบรารีนี้ควรแสดงอยู่ในแอตทริบิวต์ src แทน

รายการเหล่านี้จะได้รับการรวบรวมแยกมาจากแหล่งที่มาหากเปิดใช้โมดูล

Boolean; optional; default is False

หาก 1 กลุ่มหรือไบนารีที่ขึ้นอยู่กับ (โดยตรงหรือโดยอ้อม) ในไลบรารีนี้จะลิงก์ในไฟล์ออบเจ็กต์ทั้งหมดของไฟล์ที่แสดงอยู่ใน srcs และ non_arc_srcs แม้ว่าบางส่วนจะไม่มีสัญลักษณ์ที่อ้างอิงถึงโดยไบนารีนั้น วิธีนี้มีประโยชน์หากไม่มีการเรียกใช้โค้ดอย่างชัดแจ้งในไบนารี เช่น หากโค้ดลงทะเบียนเพื่อรับโค้ดเรียกกลับจากบริการบางอย่าง
copts

List of strings; optional

การติดธงเพิ่มเติมเพื่อส่งไปยังคอมไพเลอร์ อยู่ภายใต้การแทนที่ "สร้างตัวแปร" และการแปลงเป็นโทเค็นของ Shell Bourne แฟล็กเหล่านี้จะใช้กับเป้าหมายนี้เท่านั้น ไม่ใช่แฟล็กที่ขึ้นอยู่กับสถานะดังกล่าว หรือแฟล็กที่ขึ้นอยู่กับเป้าหมายดังกล่าว

โปรดทราบว่าสําหรับโปรเจ็กต์ Xcode ที่สร้างขึ้น ระบบจะแยกวิเคราะห์เส้นทางไดเรกทอรีที่ระบุด้วยแฟล็ก "-I" ในค่าต่างๆ ที่มี "$(WORKSPACE_ROOT)/" ไว้ข้างหน้า หากเป็นเส้นทางแบบสัมพัทธ์ และเพิ่มไปยังเส้นทางการค้นหาส่วนหัวสําหรับเป้าหมาย Xcode ที่เกี่ยวข้อง

defines

List of strings; optional

อีก -D แฟล็กเพื่อผ่านไปยังคอมไพเลอร์ ไฟล์ต้องอยู่ในรูปแบบ KEY=VALUE หรือ KEY เท่านั้น รวมถึงส่งผ่านไปยังคอมไพเลอร์สําหรับเป้าหมายนี้ (เช่น copts) เท่านั้น แต่ยังใช้กับคอนเทนเนอร์ objc_ ทั้งหมดของเป้าหมายนี้ด้วย อยู่ภายใต้การแทนที่ "สร้างตัวแปร" และการแปลงเป็นโทเค็นของ Shell Bourne
enable_modules

Boolean; optional; default is False

เปิดใช้การรองรับโมดูลเสียง (ผ่าน -fmodules) การตั้งค่านี้เป็น 1 จะช่วยให้คุณ @import ส่วนหัวของระบบและเป้าหมายอื่นๆ ได้ ดังนี้ @import UIKit; @import path_to_package_target;
includes

List of strings; optional

รายการเส้นทางการค้นหา #include/#import รายการที่จะเพิ่มไปยังเป้าหมายนี้และเป้าหมายทั้งหมด การดําเนินการนี้รองรับไลบรารีของบุคคลที่สามและโอเพนซอร์สแบบโอเพนซอร์สที่ไม่ระบุเส้นทางพื้นที่ทํางานทั้งหมดในคําสั่ง #import/#include

เส้นทางได้รับการตีความโดยสัมพันธ์กับไดเรกทอรีแพ็กเกจ และ genfile และรูทของ bin (เช่น blaze-genfiles/pkg/includedir และ blaze-out/pkg/includedir) จะรวมอยู่ในไฟล์รูทรูทของไคลเอ็นต์

การแจ้งว่าไม่เหมาะสมเหล่านี้สําหรับกฎนี้และกฎทั้งหมดที่ใช้กฎดังกล่าวไม่เหมือนกับ COPTS (หมายเหตุ: ไม่ใช่กฎที่เหมาะสม) โปรดระวังให้ดี เพราะอาจมีผลกระทบมากมาย หากไม่แน่ใจ ให้เพิ่มแฟล็ก "-iquote" ไปยัง COPTS แทน

linkopts

List of strings; optional

แฟล็กเพิ่มเติมเพื่อให้ไปยัง Linker
module_map

Label; optional

แผนที่โมดูลกลุ่มเป้าหมายที่กําหนดเองสําหรับเป้าหมายนี้ ไม่แนะนําให้ใช้แผนที่โมดูลที่กําหนดเอง ผู้ใช้ส่วนใหญ่ควรใช้การแมปโมดูลที่ Bazel สร้างขึ้น หากระบุไว้ Bazel จะไม่สร้างโมดูลโมดูลสําหรับเป้าหมายนี้ แต่จะส่งการแมปโมดูลที่ระบุไปยังคอมไพเลอร์
module_name

String; optional

ตั้งชื่อโมดูลสําหรับเป้าหมายนี้ โดยค่าเริ่มต้น ชื่อโมดูลคือเส้นทางเป้าหมายที่มีสัญลักษณ์พิเศษทั้งหมดแทนที่ด้วย _ เช่น //foo/baz:bar สามารถนําเข้าเป็น foo_baz_bar
non_arc_srcs

List of labels; optional

รายการไฟล์ Objective-C ที่ได้รับการประมวลผลเพื่อสร้างเป้าหมายไลบรารีที่ไม่ได้ใช้ ARC ไฟล์ในแอตทริบิวต์นี้จะได้รับการปฏิบัติคล้ายกับไฟล์ในแอตทริบิวต์ src แต่ได้รับการคอมไพล์โดยไม่ต้องเปิดใช้ ARC
pch

Label; optional

ไฟล์ส่วนหัวที่แทรกไว้ข้างหน้าไฟล์ต้นทางทุกรายการที่คอมไพล์แล้ว (ทั้งกราฟโค้งและกราฟโค้ง) เราไม่แนะนําให้ใช้ไฟล์ pch ในไฟล์ BUILD ซึ่งควรถือว่าเลิกใช้งานแล้ว เนื่องจากไฟล์ pch ไม่ได้คอมไพล์ไว้ล่วงหน้า นี่ไม่ใช่การเพิ่มประสิทธิภาพความเร็วในการสร้าง แต่เป็นเพียงทรัพยากร Dependency ส่วนกลางแทน จากมุมมองของประสิทธิภาพการสร้าง คุณจริงๆ แล้วดีกว่า รวมถึงสิ่งที่คุณต้องการในแหล่งที่มาที่คุณต้องการโดยตรง
sdk_dylibs

List of strings; optional

ชื่อไลบรารี SDK .dylib ที่จะลิงก์ด้วย เช่น "libz" หรือ "libArchive" ระบบจะรวม "libc++" โดยอัตโนมัติหากไบนารีมีแหล่งที่มาของ C++ หรือ Objective-C++ ในแผนผังทรัพยากร Dependency เมื่อลิงก์ไบนารี ระบบจะใช้ไลบรารีทั้งหมดที่มีชื่อในกราฟ Dependency แบบไบนารีของไบนารีนั้น
sdk_frameworks

List of strings; optional

ชื่อของเฟรมเวิร์ก SDK ที่จะลิงก์ (เช่น "AddressBook", "QuartzCore") "UIKit" และ "Foundation" จะรวมอยู่ในการสร้างสําหรับแพลตฟอร์ม iOS, tvOS และ WatchOS เสมอ สําหรับ macOS เฉพาะ "ผู้ก่อตั้ง" เท่านั้นที่จะรวมเสมอ

เมื่อลิงก์ไบนารี Apple ระดับบนสุด ระบบจะลิงก์เฟรมเวิร์ก SDK ทั้งหมดที่แสดงอยู่ในกราฟการพึ่งพาชั่วคราวของไบนารีนั้น

sdk_includes

List of strings; optional

รายการเส้นทางการค้นหา #include/#import รายการที่เพิ่มไปยังเป้าหมายนี้และเป้าหมายทั้งหมด ทั้งนี้ขึ้นอยู่กับแต่ละเส้นทางจะสัมพันธ์กับ $(SDKROOT)/usr/include
textual_hdrs

List of labels; optional

รายการไฟล์ C, C++, Objective-C และ Objective-C++ ที่รวมอยู่ในส่วนหัวโดยไฟล์แหล่งที่มาในกฎนี้หรือผู้ใช้ของไลบรารีนี้ ระบบจะไม่คอมไพล์แยกต่างหากจากแหล่งข้อมูลซึ่งแตกต่างจาก HDR
weak_sdk_frameworks

List of strings; optional

ชื่อของเฟรมเวิร์ก SDK ที่จะลิงก์ด้วยอ่อน เช่น "MediaAccessibility" สัญลักษณ์จากเฟรมเวิร์กที่ลิงก์อย่างรัดกุมจะไม่ก่อให้เกิดข้อผิดพลาดหากไม่พบขณะรันไทม์เหมือนกับเฟรมเวิร์กของ SDK ที่ลิงก์เป็นประจํา

รหัสที่ใช้ได้

ดูแหล่งที่มาของกฎ
available_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)

เป้าหมาย 2 ข้อของกฎนี้อาจใช้โดยอินสแตนซ์กฎ xcode_config เพื่อระบุเวอร์ชัน xcode จากระยะไกลและภายในเครื่อง ซึ่งช่วยให้เลือกเวอร์ชัน xcode อย่างเป็นทางการจาก xcode ที่พร้อมใช้งานรวมกันได้

อาร์กิวเมนต์

แอตทริบิวต์
name

Name; required

ชื่อที่ไม่ซ้ํากันสําหรับเป้าหมายนี้

default

Label; required; nonconfigurable

เวอร์ชัน xcode เริ่มต้นสําหรับแพลตฟอร์มนี้
versions

List of labels; optional; nonconfigurable

เวอร์ชัน xcode ที่พร้อมใช้งานบนแพลตฟอร์มนี้

การกําหนดค่า xcode

ดูแหล่งที่มาของกฎ
xcode_config(name, default, deprecation, distribs, features, licenses, local_versions, remote_versions, tags, testonly, versions, visibility)

เป้าหมายเดียวของกฎนี้สามารถอ้างอิงโดยแฟล็ก --xcode_version_config บิวด์เพื่อแปลแฟล็ก --xcode_version เป็นเวอร์ชัน xcode อย่างเป็นทางการที่ยอมรับ ซึ่งช่วยให้เลือกเวอร์ชัน xcode อย่างเป็นทางการจากชื่อแทนที่ลงทะเบียนไว้ได้จํานวนหนึ่ง

อาร์กิวเมนต์

แอตทริบิวต์
name

Name; required

ชื่อที่ไม่ซ้ํากันสําหรับเป้าหมายนี้

default

Label; optional; nonconfigurable

เวอร์ชันเริ่มต้นของ xcode ที่จะใช้ เวอร์ชันที่ระบุโดยเป้าหมาย xcode_version ที่ระบุจะเป็นสิ่งที่ไม่ได้ระบุหากไม่ได้ระบุแฟล็ก xcode_version ต้องระบุเมื่อตั้งค่า versions การตั้งค่านี้อาจไม่ได้ตั้งค่าหากตั้งค่า remote_versions หรือ local_versions
local_versions

Label; optional; nonconfigurable

xcode_version targets that are available locally. These are used along with local_versions to select a mutually available version. This may not be set if versions is set.
remote_versions

Label; optional; nonconfigurable

xcode_version targets that are available remotely. These are used along with remote_versions to select a mutually available version. This may not be set if versions is set.
versions

List of labels; optional; nonconfigurable

ยอมรับ xcode_version targets that may be used. If the value of the xcode_version build flag matches one of the aliases or version number of any of the given xcode_version targets, the matching target will be used. This may not be set if remote_versions or local_versions is set. รายการ

เวอร์ชันโค้ด x

ดูแหล่งที่มาของกฎ
xcode_version(name, default_ios_sdk_version, default_macos_sdk_version, default_tvos_sdk_version, default_watchos_sdk_version, deprecation, distribs, features, licenses, tags, testonly, version, visibility)

แสดงเวอร์ชัน xcode อย่างเป็นทางการเวอร์ชันเดียวที่มีชื่อแทนที่ยอมรับได้สําหรับเวอร์ชัน xcode นั้น ดูกฎ xcode_config

อาร์กิวเมนต์

แอตทริบิวต์
name

Name; required

ชื่อที่ไม่ซ้ํากันสําหรับเป้าหมายนี้

default_ios_sdk_version

String; optional; nonconfigurable

เวอร์ชัน SDK ของ iOS ที่ใช้โดยค่าเริ่มต้นเมื่อใช้ Xcode เวอร์ชันนี้ แฟล็กบิวด์ ios_sdk_version จะลบล้างค่าที่ระบุที่นี่
default_macos_sdk_version

String; optional; nonconfigurable

เวอร์ชัน SDK ของ macOS ที่ใช้โดยค่าเริ่มต้นเมื่อใช้ xcode เวอร์ชันนี้ แฟล็กบิวด์ macos_sdk_version จะลบล้างค่าที่ระบุที่นี่
default_tvos_sdk_version

String; optional; nonconfigurable

เวอร์ชัน tvos SDK ที่ใช้โดยค่าเริ่มต้นเมื่อใช้ xcode เวอร์ชันนี้ แฟล็กบิวด์ tvos_sdk_version จะลบล้างค่าที่ระบุที่นี่
default_watchos_sdk_version

String; optional; nonconfigurable

เวอร์ชัน SDK ของ Watchos ที่ใช้โดยค่าเริ่มต้นเมื่อใช้ xcode เวอร์ชันนี้ แฟล็กบิวด์ watchos_sdk_version จะลบล้างค่าที่ระบุที่นี่
version

String; required; nonconfigurable

หมายเลขเวอร์ชันอย่างเป็นทางการของเวอร์ชัน Xcode