En esta página, se incluyen recursos que te ayudan a usar Bazel para compilar proyectos de macOS y iOS. Se vincula a un instructivo, reglas de compilación y otra información específica para usar Bazel para compilar y probar esas plataformas.
Trabaja con Bazel
Los siguientes recursos te ayudarán a trabajar con Bazel en proyectos de macOS y iOS:
- 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 de Apple y reglas nuevas
Nota: La creación de reglas nuevas es para situaciones avanzadas de compilación y prueba. No es necesario que lo hagas cuando comiences 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 --xcode_config y --xcode_version marcas. El --xcode_config consume
el conjunto de versiones de Xcode disponibles y establece una versión predeterminada si
--xcode_version no se pasa. La marca
--xcode_version anula este valor predeterminado, siempre que se establezca en una versión de Xcode que esté
representada en el --xcode_config destino.
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
xcode_config
destino cuyo atributo versions sea una lista de destinos
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
xcode_config
destino cuyo remote_versions atributo sea un
available_xcodes
destino que contenga las versiones de Xcode disponibles de forma remota y cuyo
local_versions atributo sea un
available_xcodes
destino que contenga las versiones de Xcode disponibles de forma local. Para local_versions,
es probable que quieras usar el generado automáticamente
@local_config_xcode//:host_available_xcodes. La versión predeterminada de Xcode es la
versión más reciente disponible de forma mutua, si hay una; de lo contrario, es el valor predeterminado del
local_versions destino. Si prefieres usar el local_versions predeterminado
como valor predeterminado, puedes pasar --experimental_prefer_mutual_default=false.