Apple 앱 및 Bazel

문제 신고 소스 보기

이 페이지에는 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_config 속성을 xcode_config 타겟으로 설정해야 합니다. 이 항목의 remote_versions 속성이 원격으로 사용 가능한 Xcode 버전을 포함하고 local_versions는 로컬에서 사용 가능한 Xcode 버전이 포함된 available_xcodes 타겟입니다. local_versions의 경우 자동 생성된 @local_config_xcode//:host_available_xcodes를 사용하는 것이 좋습니다. 기본 Xcode 버전은 상호 간에 사용 가능한 최신 버전이고, 그렇지 않은 경우 local_versions 타겟의 기본값입니다. local_versions 기본값을 기본값으로 사용하려면 --experimental_prefer_mutual_default=false를 전달하면 됩니다.