Requisitos
- Sistema Apple Mac OS X
- Versão mais recente do Xcode
- JDK JDK 11 instalado.
- Apache Maven
- (Recomendado, mas não obrigatório) Origem do buffer de protocolo do Google
Configuração do Mac
- Para instalar as ferramentas de linha de comando do Xcode, execute:
sudo xcode-select --install
- Adicione ao seu
.bash_profile
:
export JAVA_HOME=`/usr/libexec/java_home -v 11`
Criar uma ramificação do projeto J2ObjC
Para bifurcar o projeto J2ObjC, abra a página principal e clique no botão "Fork":
Selecione o nome da sua conta do GitHub. A bifurcação será criada em alguns segundos.
Em seguida, clone uma cópia da bifurcação para seu sistema local para desenvolvimento. Primeiro, clique no botão [Clonar ou fazer download] e, em seguida, clique no botão Copiar para a área de transferência:
Em seguida, clone em um diretório local:
git clone (Command-V) # Paste the copied URL
Instalar protobuf
Você precisa ter o protobuf C++ instalado antes de compilar o J2ObjC.
Para instalar o pacote binário protobuf, use o Homebrew:
brew install protobuf
É necessário definir PROTOBUF_ROOT_DIR
como a raiz em que o protobuf está instalado.
Normalmente, é o padrão /usr/local
do Homebrew. Adicione o seguinte ao
.bash_profile
:
export PROTOBUF_ROOT_DIR=/usr/local # or your custom Homebrew dir
Para verificar, execute $PROTOBUF_ROOT_DIR/bin/protoc --version
.
Como construir J2ObjC
Para criar usando uma linha de comando em uma janela de terminal, execute:
# Build just the translator and libraries
make dist
# Build the full distribution (including frameworks)
make frameworks
# Build the protocol buffer compiler and runtime for J2ObjC
make protobuf_dist
# Build everything that is included in the project's distribution bundles
make all_dist
Configuração opcional de buffers de protocolo
O compilador e o ambiente de execução J2ObjC de Buffers de protocolo exigem que os buffers de protocolo (pelo menos 3.21.3) estejam instalados:
- Faça o download do código-fonte da versão Buffers de protocolo 3.21.7.
- Siga as instruções de instalação do C++ no README (em inglês). Preste atenção na opção
--prefix
para especificar o local da instalação. - Defina a variável de ambiente
PROTOBUF_ROOT_DIR
para apontar para o local de instalação dos buffers de protocolo.
Recursos da linguagem Java 8.
Veja o comunicado. Além das etapas na seção anterior, é necessário criar um módulo JRE com o JDK 11:
JAVA_HOME=`/usr/libexec/java_home -v 11` \
make -C jre_emul/ -f java.mk emul_module_dist
Testando J2ObjC
Para testar em uma linha de comando em uma janela de terminal, execute:
# Run translator and library unit tests
make test
# Run all unit tests, including for protocol buffers
make test_all
Limpar/redefinir uma construção
# Remove all files generated by the build
make clean
Compilações paralelas
O build J2ObjC oferece suporte a builds paralelos, que são especificados usando a sinalização -j<n>
, em que n é
o número máximo de tarefas simultâneas. O máximo depende da velocidade/capacidade do sistema.
Sugerimos começar com -j4
. Aumente esse número para reduzir os tempos de build, se o sistema conseguir
processá-lo, e diminua se houver falhas com erros do sistema.
Como criar arquiteturas de processador
A partir da versão 2.3 do j2objc, as arquiteturas do iOS de 32 bits ("iphone" e "simulador") não estão incluídas na distribuição pública. Você pode criar j2objc com eles especificando primeiro a variável de ambiente J2OBJC_ARCHS:
$ export J2OBJC_ARCHS="iphone simulator macosx iphone64 watchv7k watch64 watchsimulator simulator64"
$ make -j8 all_dist
Isso também pode ser usado para acelerar o build, especificando apenas as arquiteturas de que seu app precisa.
Para criar apenas o iOS de 64 bits ("iphone64") e o simulador associado ("simulator64"), por
exemplo, defina J2OBJC_ARCHS="iphone64 simulator64"
antes de executar o Make.