Apple 一般

回報問題 查看原始碼 。 。 。 夜間7.3 7.2 。 。 7.1 7.0 6.5

適用於 Starlark 的函式,用於存取 Apple 規則實作的內部項目。

成員

apple_host_system_env

dict apple_common.apple_host_system_env(xcode_config)

傳回需要在 Apple 主機系統上執行建構工具的操作 (例如應使用的 Xcode 版本) 時應設定的環境變數字典。鍵是變數名稱,值則是對應的值。

參數

參數 說明
xcode_config 必要
包含 Xcode 設定相關資訊的提供者。

apple_toolchain

unknown apple_common.apple_toolchain()

用於解析 Apple 工具鍊項目的公用程式。

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)

建立新的 DottedVersion 執行個體。

參數

參數 說明
version string; 必要
DottedVersion 的字串表示法。

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 平台為目標的 (可能為多架構) 二進位檔。這個方法包含 rules_apple 網域內大量的 Starlark apple_binary 規則邏輯,可協助將連結邏輯遷移至 Rules_apple 中的 Starlark。

這個 API 仍在實驗階段,隨時可能變更。此時請勿依賴這個函式的穩定性。

參數

參數 說明
ctx; 必要
Starlark 規則內容。
目標序列;或 None; 預設值為 None
位於二進位檔依附元件圖表中,但其程式庫不應連結至二進位檔的 Target 清單。也就是在不同映像檔的執行階段中找到的依附元件,例如軟體包載入器,或是由此二進位檔載入的任何動態程式庫/架構。
字串序列; 預設值為 []
要傳遞至連接器動作的額外連結選擇。
檔案序列; 預設值為 []
要傳遞至連接器動作的額外檔案。
字串序列; 預設值為 []
將額外要求的功能傳送至連接器動作。
字串序列; 預設值為 []
要傳遞至連接器動作的其他已停用功能。
int; 預設值為 -1
是否在連結的二進位檔中加入建構資訊。如果有 1,系統一律會包含建構資訊。如果設為 0,系統會一律排除建構資訊。如果值為 -1 (預設值),行為取決於 --[no]戳記旗標。為測試規則產生可執行輸出內容的輸出內容時,應設為 0。

struct apple_common.link_multi_arch_static_library(ctx)

連結以 Apple 平台為目標的 (可能多架構) 靜態資料庫。這個方法包含在 rules_apple 網域中的 Starlark apple_static_library 規則邏輯的一部分,可協助將連結邏輯遷移至 Rules_apple 中的 Starlark。

這個 API 仍在實驗階段,隨時可能變更。此時請勿依賴這個函式的穩定性。

參數

參數 說明
ctx; 必要
Starlark 規則內容。

new_dynamic_framework_provider

unknown apple_common.new_dynamic_framework_provider(binary=None, cc_info, framework_dirs=None, framework_files=None)

建立新的 AppleDynamicFramework 提供者執行個體。

參數

參數 說明
binary 檔案;或 None; 預設值為 None
動態架構的 dylib 二進位構件。
cc_info CcInfo; 必要
CcInfo,包含與二進位檔連結的遞移依附元件相關資訊。
framework_dirs 字串depset;或 None; 預設值為 None
用來與動態架構建立連結的架構路徑名稱,用來當做連結輸入內容。
framework_files Filedepset;或 None; 預設值為 None
完整構件組合應包含為與動態架構連結的輸入內容

new_executable_binary_provider

unknown apple_common.new_executable_binary_provider(binary=None, cc_info)

建立新的 AppleExecutableBinaryInfo 供應商執行個體。

參數

參數 說明
binary 檔案;或 None; 預設值為 None
可執行檔的二進位成果。
cc_info CcInfo; 必要
CcInfo,包含與二進位檔連結的遞移依附元件相關資訊。

platform

struct apple_common.platform

列舉式的結構體,其中包含下列與 Apple 平台對應的欄位:
  • 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

列舉式結構,其中包含下列與 Apple 平台類型對應的欄位:
  • 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)

傳回應為指定 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 提供者的建構函式/金鑰。