Apple Apps 및 Bazel

문제 신고 소스 보기 나이틀리 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

이 페이지에는 Bazel을 사용하여 macOS 및 iOS 프로젝트를 빌드하는 데 도움이 되는 리소스가 포함되어 있습니다. 이 섹션에는 Bazel을 사용하여 이러한 플랫폼용으로 빌드하고 테스트하는 데 관한 튜토리얼, 빌드 규칙, 기타 정보가 연결되어 있습니다.

Bazel 사용

다음 리소스는 macOS 및 iOS 프로젝트에서 Bazel을 사용하는 데 도움이 됩니다.

Bazel로 이전

현재 Xcode로 macOS 및 iOS 프로젝트를 빌드하는 경우 마이그레이션 가이드의 단계에 따라 Bazel로 빌드하세요.

Apple 앱 및 새로운 규칙

참고: 새 규칙을 만드는 것은 고급 빌드 및 테스트 시나리오를 위한 것입니다. Bazel을 시작할 때는 필요하지 않습니다.

다음 모듈, 구성 프래그먼트, 제공자는 macOS 및 iOS 프로젝트를 빌드할 때 Bazel의 기능을 확장하는 데 도움이 됩니다.

Xcode 선택

빌드에 Xcode가 필요한 경우 Bazel은 --xcode_config--xcode_version 플래그를 기반으로 적절한 버전을 선택합니다. --xcode_config은 사용 가능한 Xcode 버전 집합을 사용하고 --xcode_version이 전달되지 않으면 기본 버전을 설정합니다. 이 기본값은 --xcode_config 타겟에 표시된 Xcode 버전으로 설정된 경우 --xcode_version 플래그로 재정의됩니다.

--xcode_config를 전달하지 않으면 Bazel은 호스트 머신에서 사용할 수 있는 Xcode 버전을 나타내는 자동 생성된 XcodeVersionConfig를 사용합니다. 기본 버전은 사용 가능한 최신 Xcode 버전입니다. 이는 로컬 실행에 적합합니다.

원격 빌드를 실행하는 경우 versions 속성이 원격으로 사용 가능한 xcode_version 타겟 목록이고 default 속성이 이러한 xcode_versions 중 하나인 xcode_config 타겟으로 --xcode_config를 설정해야 합니다.

동적 실행을 사용하는 경우 --xcode_configremote_versions 속성이 원격으로 사용 가능한 Xcode 버전을 포함하는 available_xcodes 타겟이고 local_versions 속성이 로컬로 사용 가능한 Xcode 버전을 포함하는 available_xcodes 타겟인 xcode_config 타겟으로 설정해야 합니다. local_versions의 경우 자동 생성된 @local_config_xcode//:host_available_xcodes을 사용하는 것이 좋습니다. 기본 Xcode 버전은 상호 사용 가능한 최신 버전이 있으면 해당 버전이고, 그렇지 않으면 local_versions 타겟의 기본값입니다. local_versions 기본값을 기본값으로 사용하려면 --experimental_prefer_mutual_default=false을 전달하면 됩니다.