En esta página, se incluyen recursos que te ayudan a usar Bazel para compilar proyectos de macOS y iOS. Incluye vínculos a un instructivo, reglas de compilación y otra información específica para usar Bazel para compilar y probar en esas plataformas.
Cómo trabajar con Bazel
Los siguientes recursos te ayudarán a trabajar con Bazel en proyectos de macOS y iOS:
- Instructivo: Cómo compilar una app para iOS).
- Reglas de compilación de Objective-C
- Reglas generales de Apple
- Integración con Xcode
Cómo migrar a Bazel
Si actualmente compilas tus proyectos de macOS y iOS con Xcode, sigue los pasos de la guía de migración para comenzar a compilarlos con Bazel:
Apps para Apple y nuevas reglas
Nota: La creación de reglas nuevas es para situaciones avanzadas de compilación y prueba. No la necesitas cuando comienzas a usar Bazel.
Los siguientes módulos, fragmentos de configuración y proveedores te ayudarán a extender las capacidades de Bazel cuando compiles tus proyectos de macOS y iOS:
Módulos:
Fragmentos de configuración:
Proveedores:
Selección de Xcode
Si tu compilación requiere Xcode, Bazel seleccionará una versión adecuada según las marcas --xcode_config
y --xcode_version
. --xcode_config
consume
el conjunto de versiones de Xcode disponibles y establece una versión predeterminada si
no se pasa --xcode_version
. La marca --xcode_version
anula este valor predeterminado, siempre y cuando se configure en una versión de Xcode que se represente en el destino --xcode_config
.
Si no pasas --xcode_config
, Bazel usará el XcodeVersionConfig
generado automáticamente que representa las versiones de Xcode disponibles en tu máquina host. La versión predeterminada es la versión más reciente de Xcode disponible. Esto es adecuado para la ejecución local.
Si realizas compilaciones remotas, debes establecer --xcode_config
en un objetivo xcode_config
cuyo atributo versions
sea una lista de objetivos xcode_version
disponibles de forma remota y cuyo atributo default
sea uno de estos xcode_versions
.
Si usas la ejecución dinámica, debes establecer --xcode_config
en un objetivo xcode_config
cuyo atributo remote_versions
sea un objetivo available_xcodes
que contenga las versiones de Xcode disponibles de forma remota y cuyo atributo local_versions
sea un objetivo available_xcodes
que contenga las versiones de Xcode disponibles de forma local. Para local_versions
, es probable que desees usar el @local_config_xcode//:host_available_xcodes
generado automáticamente. La versión predeterminada de Xcode es la versión más reciente disponible de forma mutua, si la hay; de lo contrario, es la predeterminada del destino local_versions
. Si prefieres usar el valor predeterminado de local_versions
, puedes pasar --experimental_prefer_mutual_default=false
.