สมาชิก
- apple_host_system_env
- apple_toolchain
- AppleDebugOutputs
- AppleDynamicFramework
- AppleExecutableBinary
- dotted_version
- link_multi_arch_binary
- link_multi_arch_static_library
- multi_arch_split
- new_dynamic_framework_provider
- new_executable_binary_provider
- new_objc_provider
- Objc
- แพลตฟอร์ม
- platform_type
- target_apple_env
- XcodeProperties
- XcodeVersionConfig
apple_host_system_env
dict apple_common.apple_host_system_env(xcode_config)แสดงผล dict ของตัวแปรสภาพแวดล้อมที่ควรตั้งค่าสำหรับการดำเนินการที่ต้องเรียกใช้เครื่องมือบิลด์ในระบบโฮสต์ของ Apple เช่น เวอร์ชันของ Xcode ที่ควรใช้ คีย์คือชื่อตัวแปร ส่วนค่าคือค่าที่ตรงกัน
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
xcode_config
|
ต้องระบุ ผู้ให้บริการที่มีข้อมูลเกี่ยวกับการกำหนดค่า xcode |
apple_toolchain
apple_toolchain apple_common.apple_toolchain()ยูทิลิตีสำหรับการแปลงรายการจาก Apple Toolchain
AppleDebugOutputs
Provider apple_common.AppleDebugOutputsตัวสร้าง/คีย์สำหรับผู้ให้บริการ
AppleDebugOutputs
หากเป้าหมายเผยแพร่ผู้ให้บริการ AppleDebugOutputs
ให้ใช้คีย์นี้เป็นคีย์ที่จะดึงข้อมูล ตัวอย่าง:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDebugOutputs]
AppleDynamicFramework
Provider apple_common.AppleDynamicFrameworkตัวสร้าง/คีย์สำหรับผู้ให้บริการ
AppleDynamicFramework
หากเป้าหมายเผยแพร่ผู้ให้บริการ AppleDynamicFramework
ให้ใช้คีย์นี้เป็นคีย์ที่จะดึงข้อมูล ตัวอย่าง:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDynamicFramework]
AppleExecutableBinary
Provider apple_common.AppleExecutableBinaryตัวสร้าง/คีย์สำหรับผู้ให้บริการ
AppleExecutableBinary
หากเป้าหมายเผยแพร่ผู้ให้บริการ AppleExecutableBinary
ให้ใช้คีย์นี้เป็นคีย์ที่จะดึงข้อมูล ตัวอย่าง:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleExecutableBinary]
dotted_version
DottedVersion apple_common.dotted_version(version)สร้างอินสแตนซ์ DottedVersion ใหม่
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
version
|
ต้องระบุ การแสดงสตริงของ DottedVersion |
link_multi_arch_binary
struct apple_common.link_multi_arch_binary(ctx, avoid_deps=None, extra_linkopts=[], extra_link_inputs=[], stamp=-1)ลิงก์ไบนารี (อาจเป็นแบบหลายสถาปัตยกรรม) ที่กำหนดเป้าหมายแพลตฟอร์ม Apple เมธอดนี้ประกอบด้วยตรรกะจำนวนมากของกฎ Starlark
apple_binary
ในโดเมน rules_apple และมีไว้เพื่อช่วยในการย้ายข้อมูลตรรกะการลิงก์เข้ากับ Starlark ใน rules_apple
API นี้ยังอยู่ในขั้นทดลองสูงและอาจมีการเปลี่ยนแปลงได้ทุกเมื่อ อย่าพึ่งพาความเสถียรของฟังก์ชันนี้ในตอนนี้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
ctx
|
ต้องระบุ บริบทของกฎ Starlark |
avoid_deps
|
sequence of Targets; or None ;
ค่าเริ่มต้น = ไม่มีรายการ Target ที่อยู่ในกราฟทรัพยากร Dependency ของไบนารี แต่ไลบรารีไม่ควรลิงก์กับไบนารี โดยเป็นกรณีของทรัพยากร Dependency ที่จะพบขณะรันไทม์ในอิมเมจอื่น เช่น ตัวโหลด Bundle หรือไลบรารี/เฟรมแบบไดนามิกที่ไฟล์ไบนารีนี้จะโหลด
|
extra_linkopts
|
sequence of strings ;
ค่าเริ่มต้น = []ลิงก์ตัวเลือกเพิ่มเติมที่จะส่งไปให้กับการดำเนินการของ Linker |
extra_link_inputs
|
sequence of Files ;
ค่าเริ่มต้น = []ไฟล์เพิ่มเติมที่จะส่งต่อไปยังการดำเนินการ Linker |
stamp
|
ค่าเริ่มต้น = -1 ระบุว่าจะรวมข้อมูลบิลด์ในไบนารีที่ลิงก์อยู่หรือไม่ หากเป็น 1 ระบบจะรวมข้อมูลบิลด์เสมอ หากเป็น 0 ระบบจะยกเว้นข้อมูลบิลด์เสมอ หาก -1 (ค่าเริ่มต้น) ลักษณะการทำงานจะขึ้นอยู่กับแฟล็ก --[no]stamp ซึ่งควรตั้งค่าเป็น 0 เมื่อสร้างเอาต์พุตที่เป็นไฟล์ปฏิบัติการสำหรับกฎการทดสอบ |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)ลิงก์ไลบรารีแบบคงที่ (อาจเป็นแบบหลายสถาปัตยกรรม) ซึ่งกำหนดเป้าหมายไปยังแพลตฟอร์ม Apple เมธอดนี้ประกอบด้วยตรรกะของกฎ
apple_static_library
ของ Starlark ในโดเมน rules_apple และมีไว้เพื่อช่วยในการย้ายข้อมูลตรรกะการลิงก์เข้ากับ Starlark ใน rules_apple
API นี้ยังอยู่ในขั้นทดลองสูงและอาจมีการเปลี่ยนแปลงได้ทุกเมื่อ อย่าพึ่งพาความเสถียรของฟังก์ชันนี้ในตอนนี้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
ctx
|
ต้องระบุ บริบทของกฎ Starlark |
multi_arch_split
SplitTransitionProviderApi apple_common.multi_arch_splitการเปลี่ยนการกำหนดค่าสำหรับแอตทริบิวต์กฎเพื่อสร้างทรัพยากร Dependency ในแพลตฟอร์ม Apple อย่างน้อย 1 แพลตฟอร์ม
การใช้การเปลี่ยนนี้กําหนดให้ใช้ "platform_type" และ "minimum_os_version" มีการกำหนดแอตทริบิวต์สตริงและบังคับในกฎ
ค่าของแอตทริบิวต์ "platform_type" จะกำหนดสถาปัตยกรรมเป้าหมายที่จะสร้างทรัพยากร Dependency ในช่วงการเปลี่ยนการกำหนดค่านี้
โดยมีตัวเลือกดังนี้
ios
: สถาปัตยกรรมที่รวบรวมจาก--ios_multi_cpus
macos
: สถาปัตยกรรมที่รวบรวมจาก--macos_cpus
tvos
: สถาปัตยกรรมที่รวบรวมจาก--tvos_cpus
watchos
: สถาปัตยกรรมที่รวบรวมจาก--watchos_cpus
min_os_version ควรเป็นสตริงเวอร์ชันที่มีจุด เช่น "7.3" และใช้เพื่อตั้งค่าระบบปฏิบัติการขั้นต่ำในการกำหนดค่าที่คล้ายคลึงกันตามประเภทแพลตฟอร์ม เช่น การระบุ Platform_type "ios" และ min_os_version '8.0' จะตรวจสอบว่าทรัพยากร Dependency สร้างขึ้นด้วย iOS เวอร์ชัน "8.0" เป็นอย่างน้อย
new_dynamic_framework_provider
AppleDynamicFramework apple_common.new_dynamic_framework_provider(binary=None, cc_info=None, objc, framework_dirs=None, framework_files=None)สร้างอินสแตนซ์ผู้ให้บริการ AppleDynamicFramework ใหม่
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
binary
|
File; or None ;
ค่าเริ่มต้น = ไม่มีอาร์ติแฟกต์ไบนารี Dylib ของเฟรมเวิร์กแบบไดนามิก |
cc_info
|
ค่าเริ่มต้น = ไม่มี CcInfo ที่มีข้อมูลเกี่ยวกับทรัพยากร Dependency แบบทรานซิทีฟที่ลิงก์กับไบนารี |
objc
|
ต้องระบุ ObjcProvider ที่มีข้อมูลเกี่ยวกับทรัพยากร Dependency แบบทรานซิทีฟที่ลิงก์กับไบนารี |
framework_dirs
|
depset of strings; or None ;
ค่าเริ่มต้น = ไม่มีชื่อเส้นทางเฟรมเวิร์กที่ใช้เป็นอินพุตลิงก์เพื่อลิงก์กับเฟรมเวิร์กแบบไดนามิก |
framework_files
|
depset of Files; or None ;
ค่าเริ่มต้น = ไม่มีอาร์ติแฟกต์ทั้งหมดที่ควรรวมไว้เป็นอินพุตเพื่อลิงก์กับเฟรมเวิร์กแบบไดนามิก |
new_executable_binary_provider
AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc)สร้างอินสแตนซ์ผู้ให้บริการ AppleExecutableBinaryInfo ใหม่
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
binary
|
File; or None ;
ค่าเริ่มต้น = ไม่มีอาร์ติแฟกต์ไบนารีของไฟล์ปฏิบัติการ |
cc_info
|
ค่าเริ่มต้น = ไม่มี CcInfo ที่มีข้อมูลเกี่ยวกับทรัพยากร Dependency แบบทรานซิทีฟที่ลิงก์กับไบนารี |
objc
|
ต้องระบุ ObjcProvider ที่มีข้อมูลเกี่ยวกับทรัพยากร Dependency แบบทรานซิทีฟที่ลิงก์กับไบนารี |
new_objc_provider
ObjcProvider apple_common.new_objc_provider(**kwargs)สร้างอินสแตนซ์ ObjcProvider ใหม่
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
kwargs
|
default = {} พจนานุกรมของอาร์กิวเมนต์ |
Objc
Provider apple_common.Objcตัวสร้าง/คีย์สำหรับผู้ให้บริการ
Objc
หากเป้าหมายเผยแพร่ผู้ให้บริการ Objc
ให้ใช้คีย์นี้เป็นคีย์ที่จะดึงข้อมูล ตัวอย่าง:
dep = ctx.attr.deps[0] p = dep[apple_common.Objc]
platform
struct apple_common.platformโครงสร้างคล้าย Enum ที่มีช่องต่อไปนี้ซึ่งสอดคล้องกับแพลตฟอร์ม Apple
ios_device
ios_simulator
macos
tvos_device
tvos_simulator
watchos_device
watchos_simulator
ค่าเหล่านี้ส่งผ่านไปยังเมธอดที่ต้องการแพลตฟอร์ม เช่น XcodeVersionConfig.sdk_version_for_platform ได้
platform_type
struct apple_common.platform_typeโครงสร้างคล้าย Enum ที่มีช่องต่อไปนี้ซึ่งสอดคล้องกับประเภทแพลตฟอร์มของ Apple
ios
macos
tvos
watchos
ค่าเหล่านี้ส่งผ่านไปยังเมธอดที่คาดหวังประเภทแพลตฟอร์ม เช่น "apple" ได้ เมธอด multi_arch_platform ของ Fragment การกำหนดค่า
ตัวอย่าง
ctx.fragments.apple.multi_arch_platform(apple_common.platform_type.ios)
target_apple_env
dict apple_common.target_apple_env(xcode_config, platform)แสดงผล
dict
ของตัวแปรสภาพแวดล้อมที่ควรตั้งค่าสำหรับการดำเนินการที่สร้างเป้าหมายจากประเภทแพลตฟอร์ม Apple ที่ระบุ เช่น พจนานุกรมนี้มีตัวแปรที่แสดงถึงชื่อแพลตฟอร์มและเวอร์ชัน SDK ที่จะใช้สร้าง คีย์คือชื่อตัวแปร ส่วนค่าคือค่าที่ตรงกัน
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
xcode_config
|
ต้องระบุ ผู้ให้บริการที่มีข้อมูลเกี่ยวกับการกำหนดค่า xcode |
platform
|
ต้องระบุ แพลตฟอร์ม Apple |
XcodeProperties
Provider apple_common.XcodePropertiesตัวสร้าง/คีย์สำหรับผู้ให้บริการ
XcodeVersionProperties
หากเป้าหมายเผยแพร่ผู้ให้บริการ XcodeVersionProperties
ให้ใช้คีย์นี้เป็นคีย์ที่จะดึงข้อมูล ตัวอย่าง:
dep = ctx.attr.deps[0] p = dep[apple_common.XcodeVersionProperties]
XcodeVersionConfig
Provider apple_common.XcodeVersionConfigตัวสร้าง/คีย์สำหรับผู้ให้บริการ
XcodeVersionConfig