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
- new_objc_provider
- Objc
- 平台
- 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
apple_toolchain apple_common.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)
參數
參數 | 說明 |
---|---|
version
|
required 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
規則的大部分邏輯,可協助將其連結邏輯遷移至 rules_apple 中的 Starlark。這個 API 屬於實驗性質,可能隨時變更。請勿依賴這項功能的穩定性。
參數
參數 | 說明 |
---|---|
ctx
|
必要 Starlark 規則內容。 |
avoid_deps
|
Target 的 sequence;或 None ;預設值為 None 位於二進位檔依附元件圖表中的 Target 清單,但其程式庫不應連結至二進位檔。這是在其他映像檔的執行階段中找到的依附元件,例如套件載入器或任何由此二進位檔載入的動態程式庫/架構。 |
extra_linkopts
|
字串的序列;
預設為 [] 要傳遞至連結器動作的額外 linkopts。 |
extra_link_inputs
|
File 的 sequence;預設為 [] 要傳遞至連接器動作的額外檔案。 |
extra_requested_features
|
字串的序列;預設為 [] 。 要傳遞至連結器動作的額外要求功能。 |
extra_disabled_features
|
字串的序列;預設為 [] 。 要傳遞至連結器動作的額外停用功能。 |
stamp
|
預設值為 -1 是否在連結的二進位檔中加入建構資訊。如果為 1,系統一律會加入建構資訊。如果設為 0,系統會一律排除建構資訊。如果值為 -1 (預設值),行為取決於 --[no]戳記旗標。為測試規則產生可執行的輸出內容時,應將此值設為 0。 |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)
apple_static_library
規則邏輯的一部分,可協助將連結邏輯遷移至 Rules_apple 中的 Starlark。這個 API 仍在實驗階段,隨時可能變更。請勿依賴這項功能的穩定性。
參數
參數 | 說明 |
---|---|
ctx
|
必要 Starlark 規則內容。 |
new_dynamic_framework_provider
AppleDynamicFramework apple_common.new_dynamic_framework_provider(binary=None, cc_info=None, objc=None, framework_dirs=None, framework_files=None)
參數
參數 | 說明 |
---|---|
binary
|
File,或 None ;預設值為 None 動態架構的 dylib 二進位構件。 |
cc_info
|
預設值為 None CcInfo 包含與二進位檔連結的遞移依附元件相關資訊。 |
objc
|
預設為 None ObjcProvider,其中包含連結至二進位檔的傳遞依附元件相關資訊。 |
framework_dirs
|
字串的 depset;或 None ;預設為 None 做為連結輸入的架構路徑名稱,用來連結至動態架構。 |
framework_files
|
File 的 depset;或 None ;預設為 None 。 應納入為動態架構連結輸入的完整構件集 |
new_executable_binary_provider
AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc=None)
參數
參數 | 說明 |
---|---|
binary
|
File;或 None ;預設值為 None 執行檔的二進位成果。 |
cc_info
|
預設為 None CcInfo 包含連結至二進位檔的傳遞依附元件相關資訊。 |
objc
|
預設為 None ObjcProvider,其中包含連結至二進位檔的傳遞依附元件相關資訊。 |
new_objc_provider
ObjcProvider apple_common.new_objc_provider(**kwargs)
參數
參數 | 說明 |
---|---|
kwargs
|
預設值為 {} 引數字典。 |
Objc
Provider apple_common.Objc
Objc
提供者的建構函式/金鑰。如果目標會傳播 Objc
供應器,請使用這個做為擷取的索引鍵。範例:
dep = ctx.attr.deps[0] p = dep[apple_common.Objc]
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
這些值可傳送至預期平台類型的方法,例如「apple」設定片段的 multi_arch_platform 方法。
範例:
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
|
required 供應商,其中包含 xcode 設定資訊。 |
platform
|
required Apple 平台。 |
XcodeProperties
Provider apple_common.XcodeProperties
XcodeVersionProperties
供應器的建構函式/鍵。如果目標會傳播 XcodeVersionProperties
供應器,請使用這個做為擷取的索引鍵。範例:
dep = ctx.attr.deps[0] p = dep[apple_common.XcodeVersionProperties]
XcodeVersionConfig
Provider apple_common.XcodeVersionConfig
XcodeVersionConfig
提供者的建構函式/金鑰。