Ứng dụng Apple và Bazel

Báo cáo vấn đề Xem nguồn Nightly · 8.0 . 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Trang này chứa các tài nguyên giúp bạn sử dụng Bazel để tạo dự án macOS và iOS. Trang này liên kết đến một hướng dẫn, các quy tắc xây dựng và thông tin khác dành riêng cho việc sử dụng Bazel để xây dựng và kiểm thử cho các nền tảng đó.

Làm việc với Bazel

Các tài nguyên sau đây sẽ giúp bạn làm việc với Bazel trên các dự án macOS và iOS:

Di chuyển sang Bazel

Nếu bạn hiện đang tạo các dự án macOS và iOS bằng Xcode, hãy làm theo các bước trong hướng dẫn di chuyển để bắt đầu tạo các dự án đó bằng Bazel:

Ứng dụng của Apple và các quy tắc mới

Lưu ý: Việc tạo quy tắc mới là dành cho các trường hợp xây dựng và kiểm thử nâng cao. Bạn không cần đến công cụ này khi bắt đầu sử dụng Bazel.

Các mô-đun, mảnh cấu hình và trình cung cấp sau đây sẽ giúp bạn mở rộng chức năng của Bazel khi xây dựng các dự án macOS và iOS:

Lựa chọn Xcode

Nếu bản dựng của bạn yêu cầu Xcode, Bazel sẽ chọn một phiên bản thích hợp dựa trên cờ --xcode_config--xcode_version. --xcode_config sử dụng tập hợp các phiên bản Xcode hiện có và đặt phiên bản mặc định nếu không truyền --xcode_version. Cờ --xcode_version sẽ ghi đè giá trị mặc định này, miễn là cờ này được đặt thành phiên bản Xcode được biểu thị trong mục tiêu --xcode_config.

Nếu bạn không truyền --xcode_config, Bazel sẽ sử dụng XcodeVersionConfig được tạo tự động đại diện cho các phiên bản Xcode có trên máy chủ lưu trữ của bạn. Phiên bản mặc định là phiên bản Xcode mới nhất hiện có. Cách này phù hợp với việc thực thi cục bộ.

Nếu đang thực hiện bản dựng từ xa, bạn nên đặt --xcode_config thành mục tiêu xcode_config có thuộc tính versions là danh sách các mục tiêu xcode_version có sẵn từ xa và thuộc tính default là một trong các xcode_versions này.

Nếu đang sử dụng tính năng thực thi động, bạn nên đặt --xcode_config thành mục tiêu xcode_config có thuộc tính remote_versions là mục tiêu available_xcodes chứa các phiên bản Xcode có sẵn từ xa và thuộc tính local_versions là mục tiêu available_xcodes chứa các phiên bản Xcode có sẵn cục bộ. Đối với local_versions, bạn có thể muốn sử dụng @local_config_xcode//:host_available_xcodes được tạo tự động. Phiên bản Xcode mặc định là phiên bản mới nhất có sẵn cho cả hai, nếu có, nếu không thì là phiên bản mặc định của mục tiêu local_versions. Nếu muốn sử dụng local_versions mặc định làm giá trị mặc định, bạn có thể truyền --experimental_prefer_mutual_default=false.