Apple 一般

回報問題 查看原始碼 Nightly · 8.0 7.4 . 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 required
供應商,其中包含 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 的字串表示法。

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 屬於實驗性質,可能隨時變更。請勿依賴這項功能的穩定性。

參數

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

struct apple_common.link_multi_arch_static_library(ctx)

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

這個 API 屬於實驗性質,可能隨時變更。請勿依賴這項功能的穩定性。

參數

參數 說明
必要
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)

建立新的 AppleDynamicFramework 供應器例項。

參數

參數 說明
binary 檔案None;預設為 None
。動態架構的 dylib 二進位檔成果。
cc_info 預設為 None
CcInfo 包含連結至二進位檔的傳遞依附元件相關資訊。
objc 預設為 None
ObjcProvider,其中包含連結至二進位檔的傳遞依附元件相關資訊。
framework_dirs 字串depsetNone;預設為 None
。 用於連結輸入的架構路徑名稱,以便連結至動態架構。
framework_files Filedepset;或 None;預設為 None
。 應納入為動態架構連結輸入的完整構件集

new_executable_binary_provider

AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc=None)

建立新的 AppleExecutableBinaryInfo 供應器例項。

參數

參數 說明
binary File;或 None; 預設為 None
executable 的二進位檔構件。
cc_info 預設為 None
CcInfo 包含連結至二進位檔的傳遞依附元件相關資訊。
objc 預設為 None
ObjcProvider,其中包含連結至二進位檔的傳遞依附元件相關資訊。

new_objc_provider

ObjcProvider apple_common.new_objc_provider(**kwargs)

建立新的 ObjcProvider 例項。

參數

參數 說明
kwargs 預設值為 {}
(引數的字典)。

Objc

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
  • 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)

傳回環境變數的 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 供應器的建構函式/鍵。