사과_일반

Starlark가 Apple 규칙 구현의 내부에 액세스하는 함수

회원

apple_host_system_env

dict apple_common.apple_host_system_env(xcode_config)

Apple 호스트 시스템에서 빌드 도구를 실행해야 하는 작업에 설정해야 하는 환경 변수의 dict를 반환합니다(예: 사용해야 하는 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는 실험 단계에 있으며 언제든지 변경될 수 있습니다. 현재 이 함수의 안정성에 의존하지 마세요.

매개변수

매개변수 설명
required
Starlark 규칙 컨텍스트입니다.
타겟시퀀스 또는 None. 기본값은 None
입니다. 바이너리의 종속성 그래프에 있지만 라이브러리가 바이너리에 연결되지 않아야 하는 Target 목록입니다. 이는 번들 로더나 이 바이너리에 의해 로드될 동적 라이브러리/프레임워크와 같이 런타임에 다른 이미지에서 발견될 종속 항목의 경우에 해당합니다.
stringsequence. 기본값은 []
입니다. 링커 작업에 전달할 추가 linkopts입니다.
파일시퀀스입니다. 기본값은 []
입니다. 링커 작업에 전달할 추가 파일입니다.
문자열시퀀스입니다. 기본값은 []
입니다. 링커 작업에 전달할 추가 요청 기능입니다.
stringsequence. 기본값은 []
입니다. 링커 작업에 전달할 추가 사용 중지된 기능입니다.
기본값은 -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는 실험 단계에 있으며 언제든지 변경될 수 있습니다. 현재 이 함수의 안정성에 의존하지 마세요.

매개변수

매개변수 설명
required
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 stringdepset 또는 None. 기본값은 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
실행 파일의 바이너리 아티팩트입니다.
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 플랫폼에 해당하는 다음 필드가 포함된 enum과 유사한 구조체입니다.
  • 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 플랫폼 유형에 해당하는 다음 필드가 포함된 enum과 유사한 구조체입니다.
  • 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 제공자의 생성자/키입니다.