Como criar o J2ObjC

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":

Bifurcação

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:

Clonar

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.