En esta página, encontrarás recursos que te ayudarán a usar Bazel para compilar proyectos de iOS y macOS. Vincula a un instructivo, las reglas de compilación y otra información específica sobre el uso de Bazel para compilar y realizar pruebas 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 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 está destinada a 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 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 en función de 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 esta configuración predeterminada, siempre que 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 la máquina anfitrión. La versión predeterminada es
la versión de Xcode disponible más reciente. Esto es apropiado para la ejecución local.
Si realizas compilaciones remotas, debes establecer --xcode_config
en un destino xcode_config
cuyo atributo versions
es una lista de destinos xcode_version
disponibles de forma remota y cuyo atributo default
es uno de estos xcode_versions
.
Si usas la ejecución dinámica, debes configurar --xcode_config
en un destino xcode_config
cuyo atributo remote_versions
sea un destino available_xcodes
que contenga las versiones de Xcode disponibles de forma remota y cuyo atributo local_versions
sea un destino available_xcodes
que contenga las versiones de Xcode disponibles de forma local. Para local_versions
, es probable que quieras 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 para ambas partes, si existe. De lo contrario, es la predeterminada del
destino local_versions
. Si prefieres usar el valor predeterminado local_versions
, puedes pasar --experimental_prefer_mutual_default=false
.