Ứng dụng Apple và Bazel

Trang này chứa các tài nguyên giúp bạn sử dụng Bazel để xây dựng các dự án macOS và iOS. Tài liệu này liên kết đến thông tin hướng dẫn, các quy tắc lập trình 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 trên Bazel

Các tài nguyên sau đây sẽ giúp bạn sử dụng Bazel hiệu quả cho các dự án macOS và iOS:

Di chuyển sang Bazel

Nếu hiện đang xây dựng 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 xây dựng các dự án đó bằng Bazel:

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

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

Các mô-đun, mảnh cấu hình và nhà cung cấp sau đây sẽ giúp bạn mở rộng khả 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ác 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 --xcode_version không được truyền. 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ủ của bạn. Phiên bản mặc định là phiên bản Xcode mới nhất hiện có. Phiên bản này phù hợp để thực thi cục bộ.

Nếu đang thực hiện các 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_versionsnà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à có 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 được tạo tự động @local_config_xcode//:host_available_xcodes. 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 local_versions mục tiêu. Nếu muốn sử dụng giá trị mặc định local_versions làm giá trị mặc định, bạn có thể truyền --experimental_prefer_mutual_default=false.