Esta página contém recursos que ajudam você a usar o Bazel para criar projetos para macOS e iOS. Ele vincula a um tutorial, regras de build e outras informações específicas para usar o Bazel para criar e testar essas plataformas.
Como trabalhar com o Bazel
Os recursos a seguir vão ajudar você a trabalhar com o Bazel em projetos para macOS e iOS:
- Tutorial: como criar um app iOS
- Regras de build do Objective-C
- Regras gerais da Apple
- Integração com o Xcode
Migrar para o Bazel
Se você cria seus projetos para macOS e iOS com o Xcode, siga as etapas no guia de migração para começar a criar com o Bazel:
Apps da Apple e novas regras
Observação: a criação de novas regras é para cenários avançados de build e teste. Você não precisa dele para começar a usar o Bazel.
Os módulos, fragmentos de configuração e provedores abaixo vão ajudar você a ampliar os recursos do Bazel ao criar seus projetos macOS e iOS:
Módulos:
Fragmentos de configuração:
Provedores:
Seleção do Xcode
Se o build exigir o Xcode, o Bazel vai selecionar uma versão adequada com base nas
flags --xcode_config
e --xcode_version
. O --xcode_config
consome
o conjunto de versões do Xcode disponíveis e define uma versão padrão se
--xcode_version
não for transmitido. Esse padrão é substituído pela flag
--xcode_version
, desde que seja definido como uma versão do Xcode que seja
representada no destino --xcode_config
.
Se você não transmitir --xcode_config
, o Bazel vai usar o
XcodeVersionConfig
gerado automaticamente que representa as
versões do Xcode disponíveis na máquina host. A versão padrão é
a versão mais recente do Xcode disponível. Isso é adequado para execução local.
Se você estiver realizando builds remotos, defina --xcode_config
como um
xcode_config
destino cujo atributo versions
seja uma lista de destinos
xcode_version
disponíveis remotamente e cujo atributo default
seja um destes
xcode_versions
.
Se você estiver usando a execução dinâmica, defina --xcode_config
como um
xcode_config
alvo cujo atributo remote_versions
seja um
available_xcodes
alvo que contenha as versões do Xcode disponíveis remotamente e cujo
atributo local_versions
seja um
available_xcodes
alvo que contenha as versões do Xcode disponíveis localmente. Para local_versions
,
provavelmente você vai querer usar o @local_config_xcode//:host_available_xcodes
gerado automaticamente. A versão padrão do Xcode é a
mais recente disponível para ambos, se houver uma. Caso contrário, será o padrão da
destinação local_versions
. Se você preferir usar o padrão local_versions
como padrão, transmita --experimental_prefer_mutual_default=false
.