ฟังก์ชันสําหรับ Starlark เพื่อเข้าถึงข้อมูลภายในของการติดตั้งใช้งานกฎ Apple
สมาชิก
- apple_host_system_env
- apple_toolchain
- AppleDebugOutputs
- AppleDynamicFramework
- AppleExecutableBinary
- dotted_version
- link_multi_arch_binary
- link_multi_arch_static_library
- new_dynamic_framework_provider
- new_executable_binary_provider
- platform
- platform_type
- target_apple_env
- XcodeProperties
- XcodeVersionConfig
apple_host_system_env
dict apple_common.apple_host_system_env(xcode_config)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
xcode_config
|
ต้องระบุ ผู้ให้บริการที่มีข้อมูลเกี่ยวกับการกำหนดค่า Xcode |
apple_toolchain
unknown apple_common.apple_toolchain()
AppleDebugOutputs
None
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)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
version
|
string;
ต้องระบุ ตัวแทนสตริงของ DottedVersion |
link_multi_arch_binary
struct apple_common.link_multi_arch_binary(ctx, avoid_deps=None, extra_linkopts=[], extra_link_inputs=[], extra_requested_features=[], extra_disabled_features=[], stamp=-1)
apple_binary
ของ Starlark ในโดเมน rules_apple และมีหน้าที่ช่วยในการย้ายข้อมูลตรรกะการลิงก์ไปยัง Starlark ใน rules_apple
API นี้อยู่ในขั้นทดลองขั้นสูงและอาจมีการเปลี่ยนแปลงได้ทุกเมื่อ โปรดอย่าพึ่งพาความเสถียรของฟังก์ชันนี้ในขณะนี้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
ctx
|
ctx;
ต้องระบุ บริบทกฎ Starlark |
avoid_deps
|
ลําดับ Target หรือ None
ค่าเริ่มต้นคือ None รายการ Target ที่อยู่ในกราฟความเกี่ยวข้องของไบนารี แต่ไม่ควรลิงก์ไลบรารีเข้ากับไบนารี โดยเป็นกรณีของทรัพยากร Dependency ที่จะพบขณะรันไทม์ในอิมเมจอื่น เช่น ตัวโหลด Bundle หรือไลบรารี/เฟรมแบบไดนามิกที่ไฟล์ไบนารีนี้จะโหลด
|
extra_linkopts
|
ลําดับสตริง
ค่าเริ่มต้นคือ [] linkopts เพิ่มเติมที่จะส่งไปยังการดำเนินการของ linker |
extra_link_inputs
|
ลําดับของ Files;
ค่าเริ่มต้นคือ [] ไฟล์เพิ่มเติมที่จะส่งไปยังการดำเนินการของ linker |
extra_requested_features
|
ลำดับของสตริง
ค่าเริ่มต้นคือ [] ฟีเจอร์ที่ขอเพิ่มเติมซึ่งจะส่งไปยังการดำเนินการของ Linker |
extra_disabled_features
|
ลําดับของ string;
ค่าเริ่มต้นคือ [] ฟีเจอร์ที่ปิดใช้เพิ่มเติมที่จะส่งไปยังการดำเนินการของ linker |
stamp
|
int;
ค่าเริ่มต้นคือ -1 เพื่อระบุว่าจะรวมข้อมูลบิลด์ไว้ในไบนารีที่ลิงก์หรือไม่ หากเป็น 1 ระบบจะรวมข้อมูลบิลด์เสมอ หากเป็น 0 ระบบจะยกเว้นข้อมูลบิลด์เสมอ หากเป็น -1 (ค่าเริ่มต้น) ลักษณะการทำงานจะกำหนดโดยแฟล็ก --[no]stamp ควรตั้งค่านี้เป็น 0 เมื่อสร้างเอาต์พุตที่เรียกใช้งานได้สําหรับกฎทดสอบ |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)
apple_static_library
ของ Starlark ในโดเมน rules_apple และมีหน้าที่ช่วยในการย้ายข้อมูลตรรกะการลิงก์ไปยัง Starlark ใน rules_apple
API นี้อยู่ในขั้นทดลองขั้นสูงและอาจมีการเปลี่ยนแปลงได้ทุกเมื่อ อย่าพึ่งพาความเสถียรของฟังก์ชันนี้ในตอนนี้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
ctx
|
ctx;
ต้องระบุ บริบทกฎ Starlark |
new_dynamic_framework_provider
unknown apple_common.new_dynamic_framework_provider(binary=None, cc_info, framework_dirs=None, framework_files=None)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
binary
|
File หรือ None ค่าเริ่มต้นคือ None อาร์ติแฟกต์ไบนารีของ Dylib ของเฟรมเวิร์กแบบไดนามิก |
cc_info
|
CcInfo;
ต้องระบุ CcInfo ที่มีข้อมูลเกี่ยวกับ transitive dependencies ที่ลิงก์กับไบนารี |
framework_dirs
|
depset ของ string หรือ None
ค่าเริ่มต้นคือ None ชื่อเส้นทางเฟรมเวิร์กที่ใช้เป็นอินพุตลิงก์เพื่อลิงก์กับเฟรมเวิร์กแบบไดนามิก |
framework_files
|
depset ของ File หรือ None หรือNone โดยค่าเริ่มต้น ชุดอาร์ติแฟกต์ทั้งหมดที่ควรรวมไว้เป็นอินพุตเพื่อลิงก์กับเฟรมเวิร์กแบบไดนามิก |
new_executable_binary_provider
unknown apple_common.new_executable_binary_provider(binary=None, cc_info)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
binary
|
ไฟล์ หรือ None
ค่าเริ่มต้นคือ None อาร์ติแฟกต์ไบนารีของไฟล์ปฏิบัติการ |
cc_info
|
CcInfo;
ต้องระบุ CcInfo ที่มีข้อมูลเกี่ยวกับ transitive dependencies ที่ลิงก์กับไบนารี |
platform
struct apple_common.platform
ios_device
ios_simulator
macos
tvos_device
tvos_simulator
visionos_device
visionos_simulator
watchos_device
watchos_simulator
ค่าเหล่านี้สามารถส่งไปยังเมธอดที่คาดหวังแพลตฟอร์ม เช่น XcodeVersionConfig.sdk_version_for_platform
platform_type
struct apple_common.platform_type
ios
macos
tvos
visionos
watchos
ค่าเหล่านี้สามารถส่งไปยังเมธอดที่คาดหวังประเภทแพลตฟอร์ม เช่น เมธอด multi_arch_platform ของข้อมูลโค้ดการกําหนดค่า "apple"
ตัวอย่าง
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