Esta página contiene recursos que te ayudan a usar Bazel para compilar en macOS y iOS proyectos. Vincula a un instructivo, reglas de compilación y otra información específica del con 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 iOS y macOS:
- Instructivo: Compila una app para iOS)
- Reglas de compilación de Objective‐C
- Reglas generales de Apple
- Integración con Xcode
Migra a Bazel
Si actualmente compilas tus proyectos de iOS y macOS con Xcode, sigue estos pasos de la guía de migración para comenzar a compilarlos con Bazel:
Apps para Apple y reglas nuevas
Nota: La creación de reglas nuevas es para situaciones avanzadas de compilación y prueba. No lo necesitas para comenzar a usar Bazel.
Los siguientes módulos, fragmentos de configuración y proveedores te ayudarán las capacidades de Bazel cuando compiles tus proyectos de iOS y macOS:
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
El --xcode_config
consume
el conjunto de versiones de Xcode disponibles y configura una versión predeterminada si
No se pasó --xcode_version
. Esta configuración predeterminada se anula
--xcode_version
, siempre que esté configurada en una versión de Xcode que
representados en el objetivo --xcode_config
.
Si no pasas --xcode_config
, Bazel usará la configuración
XcodeVersionConfig
que representa la
Versiones de Xcode disponibles en tu máquina anfitrión 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
xcode_config
destino cuyo atributo versions
es una lista de recursos disponibles de forma remota
xcode_version
objetivos y cuyo atributo default
es uno de estos
xcode_versions
.
Si usas la ejecución dinámica, debes establecer --xcode_config
en un
xcode_config
objetivo cuyo atributo remote_versions
es un
available_xcodes
destino con las versiones de Xcode disponibles de forma remota y cuyo
El atributo local_versions
es un
available_xcodes
destino que contiene las versiones de Xcode disponibles localmente. Para local_versions
,
es recomendable que uses el modelo de
@local_config_xcode//:host_available_xcodes
La versión predeterminada de Xcode es
la versión más reciente disponible mutuamente, si existe una; de lo contrario, el valor predeterminado del
local_versions
objetivo. Si prefieres usar el valor predeterminado de local_versions
como la opción predeterminada, puedes pasar --experimental_prefer_mutual_default=false
.