Aplikasi Apple dan Bazel

Laporkan masalah Lihat sumber

Halaman ini berisi referensi yang membantu Anda menggunakan Bazel untuk mem-build project macOS dan iOS. Halaman ini tertaut ke tutorial, aturan build, dan informasi lain khusus untuk menggunakan Bazel dalam mem-build dan menguji berbagai platform tersebut.

Bekerja dengan Bazel

Referensi berikut akan membantu Anda bekerja dengan Bazel di project macOS dan iOS:

Bermigrasi ke Bazel

Jika saat ini Anda mem-build project macOS dan iOS dengan Xcode, ikuti langkah-langkah dalam panduan migrasi untuk mulai membuatnya dengan Bazel:

Aturan baru dan aplikasi Apple

Catatan: Membuat aturan baru ditujukan untuk skenario build dan pengujian lanjutan. Anda tidak membutuhkannya saat memulai Bazel.

Modul, fragmen konfigurasi, dan penyedia berikut akan membantu Anda memperluas kemampuan Bazel saat mem-build project macOS dan iOS:

Pemilihan Xcode

Jika build Anda memerlukan Xcode, Bazel akan memilih versi yang sesuai berdasarkan flag --xcode_config dan --xcode_version. --xcode_config menggunakan kumpulan versi Xcode yang tersedia dan menetapkan versi default jika --xcode_version tidak diteruskan. Default ini diganti oleh flag --xcode_version, selama disetel ke versi Xcode yang diwakili dalam target --xcode_config.

Jika Anda tidak meneruskan --xcode_config, Bazel akan menggunakan XcodeVersionConfig yang dibuat secara otomatis yang mewakili versi Xcode yang tersedia di mesin host Anda. Versi defaultnya adalah versi Xcode terbaru yang tersedia. Cara ini sesuai untuk eksekusi lokal.

Jika melakukan build jarak jauh, Anda harus menetapkan --xcode_config ke target xcode_config yang atribut versions-nya merupakan daftar target xcode_version yang tersedia dari jarak jauh, dan yang atribut defaultnya adalah salah satu dari xcode_versions ini.

Jika menggunakan eksekusi dinamis, Anda harus menetapkan --xcode_config ke target xcode_config yang atribut remote_versions-nya merupakan target available_xcodes yang berisi versi Xcode yang tersedia dari jarak jauh, dan yang atribut local_versionsnya adalah target available_xcodes yang berisi versi Xcode yang tersedia secara lokal. Untuk local_versions, Anda mungkin ingin menggunakan @local_config_xcode//:host_available_xcodes yang dibuat secara otomatis. Versi Xcode default adalah versi terbaru yang tersedia bersama-sama. Jika ada, versi default ini akan menjadi default target local_versions. Jika Anda lebih suka menggunakan local_versions default sebagai default, Anda dapat meneruskan --experimental_prefer_mutual_default=false.