Apple_common

問題を報告する ソースを表示 ナイトリー · 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 必須
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 必須
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 ルールのコンテキスト。
ターゲットシーケンス、または None。デフォルトは None
バイナリの依存関係グラフに含まれるが、ライブラリをバイナリにリンクしない Target のリスト。これは、バンドル ローダーや、このバイナリによって読み込まれる動的ライブラリやフレームワークなど、別のイメージで実行時に検出される依存関係の場合です。
文字列シーケンス。デフォルトは []
。リンカー アクションに渡される追加の linkopts。
ファイルシーケンス。デフォルトは []
。リンカー アクションに渡す追加のファイル。
文字列シーケンス。デフォルトは []
。リンカー アクションに渡される追加のリクエストされた機能。
文字列シーケンス。デフォルトは []
。リンカー アクションに渡される追加の無効な機能。
デフォルトは -1
リンクされたバイナリにビルド情報を含めるかどうか。1 の場合、ビルド情報は常に含まれます。0 の場合、ビルド情報は常に除外されます。-1(デフォルト)の場合、動作は --[no]stamp フラグによって決まります。テストルールの実行可能出力を生成する場合は、0 に設定する必要があります。

struct apple_common.link_multi_arch_static_library(ctx)

Apple プラットフォームをターゲットとする(マルチアーキテクチャの可能性のある)静的ライブラリをリンクします。このメソッドは、rules_apple ドメインの Starlark apple_static_library ルールロジックの一部を構成し、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 文字列depset、または None。デフォルトは None
ダイナミック フレームワークに対してリンクするためにリンク入力として使用されるフレームワーク パス名。
framework_files ファイルdepset、または None。デフォルトは None
動的なフレームワークに対してリンクするために入力として含める必要があるアーティファクトの完全なセット。

new_executable_binary_provider

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

新しい AppleExecutableBinaryInfo プロバイダ インスタンスを作成します。

パラメータ

パラメータ 説明
binary ファイル、または None(デフォルトは None
実行可能ファイルのバイナリ アーティファクト。
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]

プラットフォーム

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 プロバイダのコンストラクタ/キー。