Apps de Apple y Bazel

Informar un problema Ver fuente Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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 sobre el uso de Bazel para compilar y probar para esas plataformas.

Trabaja con Bazel

Los siguientes recursos te ayudarán a trabajar con Bazel en proyectos para macOS y iOS:

Migración a Bazel

Si actualmente compilas tus proyectos para 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 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 a extender las capacidades de Bazel cuando compiles tus proyectos para macOS y iOS:

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 establezca en una versión de Xcode que esté representada 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 de Xcode disponible más reciente. Esto es adecuado para la ejecución local.

Si realizas compilaciones remotas, debes establecer --xcode_config en un destino xcode_config 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 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, probablemente 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 mutuamente, si existe una. De lo contrario, es la versión predeterminada del destino local_versions. Si prefieres usar el valor predeterminado local_versions como predeterminado, puedes pasar --experimental_prefer_mutual_default=false.