Aplikasi Apple dan Bazel

Laporkan masalah Lihat sumber Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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 lainnya yang khusus untuk menggunakan Bazel untuk mem-build dan menguji untuk platform tersebut.

Menggunakan Bazel

Referensi berikut akan membantu Anda menggunakan 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 mem-buildnya dengan Bazel:

Aplikasi Apple dan aturan baru

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

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

Pilihan Xcode

Jika build Anda memerlukan Xcode, Bazel akan memilih versi yang sesuai berdasarkan tanda --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 tanda --xcode_version, selama ditetapkan ke versi Xcode yang diwakili dalam target --xcode_config.

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

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

Jika menggunakan eksekusi dinamis, Anda harus menetapkan --xcode_config ke target xcode_config yang atribut remote_versions-nya adalah target available_xcodes yang berisi versi Xcode yang tersedia dari jarak jauh, dan atribut local_versions-nya 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 secara bersama-sama, jika ada, jika tidak, versi default target local_versions. Jika Anda lebih suka menggunakan default local_versions sebagai default, Anda dapat meneruskan --experimental_prefer_mutual_default=false.