會員
- 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)針對需要在 Apple 主機系統上執行建構工具的動作,例如應使用的 Xcode 版本,傳回應設定的環境變數dict。鍵為變數名稱,而值是對應的值。
參數
參數 | 說明 |
---|---|
xcode_config
|
必要 包含 Xcode 設定相關資訊的提供者。 |
apple_toolchain
apple_toolchain apple_common.apple_toolchain()用於解析 Apple 工具鍊項目的公用程式。
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
|
required DottedVersion 的字串表示法。 |
link_multi_arch_binary
struct apple_common.link_multi_arch_binary(ctx, avoid_deps=None, extra_linkopts=[], extra_link_inputs=[], stamp=-1)連結以 Apple 平台為目標的(可能多架構)二進位檔。這個方法包含 rules_apple 網域中 Starlark
apple_binary
規則的大量邏輯,並是為了協助將連結邏輯遷移至 rules_apple 中的 Starlark。這個 API 仍在高度實驗階段,隨時可能變更。此時請勿仰賴這個函式的穩定性。
參數
參數 | 說明 |
---|---|
ctx
|
必要 Starlark 規則結構定義。 |
avoid_deps
|
sequence of Targets; or None ;
default = NoneTarget 清單,位於二進位檔依附元件圖表,但其程式庫不應連結至二進位檔。如果依附元件是在執行階段中的另一個映像檔 (例如套件載入器,或是此二進位檔載入的任何動態程式庫/架構),就屬於這種情況。 |
extra_linkopts
|
sequence of strings ;
default = []要傳遞至連接器動作的額外連結選擇。 |
extra_link_inputs
|
sequence of Files ;
default = []要傳遞至連接器動作的額外檔案。 |
stamp
|
default = -1 是否要在連結的二進位檔中包含建構資訊。如果設為 1,一律會納入建構資訊。如果為 0,系統一律會排除建構資訊。如果為 -1 (預設值),則行為取決於 --[no]戳記標記。為測試規則產生可執行輸出內容時,這個欄位應設為 0。 |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)連結指定 Apple 平台的 (可能多架構) 靜態資料庫。這個方法包含在 Rules_apple 網域中的 Starlark
apple_static_library
規則邏輯的一部分,旨在協助將連結邏輯遷移至 rules_apple 中的 Starlark。這個 API 仍在高度實驗階段,隨時可能變更。此時請勿仰賴這個函式的穩定性。
參數
參數 | 說明 |
---|---|
ctx
|
必要 Starlark 規則結構定義。 |
multi_arch_split
SplitTransitionProviderApi apple_common.multi_arch_split規則屬性設定轉換,在一或多個 Apple 平台上建構依附元件。
您必須定義規則中的「platform_type」和「minimum_os_version」字串屬性,才能使用這項轉換功能。
Platform_type 屬性的值將決定此設定轉換將針對哪個目標架構建立目標架構。
選項包括:
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」,確保依附元件建構的最低 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 ;
default = None動態架構的 dylib 二進位檔構件。 |
cc_info
|
default = None CcInfo,包含連結至二進位檔的遞移依附元件相關資訊。 |
objc
|
必要 ObjcProvider 包含連結至二進位檔的遞移依附元件相關資訊。 |
framework_dirs
|
depset of strings; or None ;
default = None用來連結動態架構的連結輸入架構路徑名稱。 |
framework_files
|
depset of Files; or None ;
default = None應加入為要連結到動態架構的完整構件組合 |
new_executable_binary_provider
AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc)建立新的 AppleExecutableBinaryInfo 提供者執行個體。
參數
參數 | 說明 |
---|---|
binary
|
File; or None ;
default = None執行檔的二進位構件。 |
cc_info
|
default = None CcInfo,包含連結至二進位檔的遞移依附元件相關資訊。 |
objc
|
必要 ObjcProvider 包含連結至二進位檔的遞移依附元件相關資訊。 |
new_objc_provider
ObjcProvider apple_common.new_objc_provider(**kwargs)建立新的 ObjcProvider 執行個體。
參數
參數 | 說明 |
---|---|
kwargs
|
default = {} 引數的字典。 |
歐比克
Provider apple_common.Objc
Objc
提供者的建構函式/金鑰。如果目標傳播 Objc
提供者,請將其做為擷取時所用的金鑰。示例:
dep = ctx.attr.deps[0] p = dep[apple_common.Objc]
platform
struct apple_common.platform一個列舉類似結構的結構,包含下列對應 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一個列舉類似結構的結構,其中包含下列與 Apple 平台類型對應的欄位:
ios
macos
tvos
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)傳回應為建立指定 Apple 平台類型目標的動作設定環境變數
dict
。例如,這個字典包含的變數,表示要建構使用的平台名稱和 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
提供者的建構函式/金鑰。