En esta página, se incluyen recursos que te ayudan a usar Bazel para compilar proyectos de macOS y iOS. 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 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 lo necesitas para comenzar 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
. 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 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 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
.