Tworzenie J2ObjC

Wymagania

  • System Apple Mac OS X
  • Najnowsza wersja Xcode
  • JDK JDK 11 został zainstalowany
  • Apache Maven
  • (Zalecane, ale nie wymagane) Źródło bufora protokołu Google

Konfiguracja Maca

  • Zainstaluj narzędzia wiersza poleceń Xcode, uruchamiając polecenie:
sudo xcode-select --install
  • Dodaj do .bash_profile:
export JAVA_HOME=`/usr/libexec/java_home -v 11`

Utwórz rozwidlenie projektu J2ObjC

Aby utworzyć rozwidlenie projektu J2ObjC, otwórz jego stronę główną i kliknij przycisk Fork:

Fork

Wybierz nazwę konta GitHub, a w ciągu kilku sekund zostanie utworzone rozwidlenie.

Następnie skopiuj kopię widelca do systemu lokalnego w celu programowania. Najpierw kliknij [przycisk Kopiuj lub pobierz], a następnie przycisk Kopiuj do schowka:

Klonuj

Następnie skopiuj do katalogu lokalnego:

git clone (Command-V)  # Paste the copied URL

Zainstaluj protobuf

Aby utworzyć J2ObjC, musisz zainstalować protobuf C++.

Aby zainstalować pakiet binarny protobuf, użyj Homebrew:

brew install protobuf

Musisz ustawić PROTOBUF_ROOT_DIR na katalog główny, w którym zainstalowano protobuf. Zwykle jest to domyślne ustawienie /usr/local. Dodaj do .bash_profile:

export PROTOBUF_ROOT_DIR=/usr/local # or your custom Homebrew dir

Aby to sprawdzić, uruchom $PROTOBUF_ROOT_DIR/bin/protoc --version.

Budynek J2ObjC

Aby utworzyć kompilację z poziomu wiersza poleceń w oknie terminala, uruchom polecenie:

# 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

Opcjonalna konfiguracja buforów protokołów

Kompilator i środowisko wykonawcze J2ObjC Protocol Buffers wymaga zainstalowania buforów protokołów (co najmniej 3.21.3):

  • Pobierz kod źródłowy z wersji Bufor protokołu 3.21.7.
  • Postępuj zgodnie z instrukcjami instalacji C++ z pliku README. Zwróć uwagę na opcję --prefix, która pozwala określić lokalizację instalacji.
  • Zdefiniuj zmienną środowiskową PROTOBUF_ROOT_DIR, aby wskazać lokalizację instalacji buforów protokołów.

Funkcje języka Java 8.

Zobacz ogłoszenie. Oprócz czynności opisanych w poprzedniej sekcji moduł JRE musi zostać utworzony z użyciem pakietu JDK 11:

JAVA_HOME=`/usr/libexec/java_home -v 11` \
make -C jre_emul/ -f java.mk emul_module_dist

Testowanie J2ObjC

Aby wykonać test z poziomu wiersza poleceń w oknie terminala, uruchom polecenie:

# Run translator and library unit tests
make test

# Run all unit tests, including for protocol buffers
make test_all

Czyszczenie/resetowanie konstrukcji

# Remove all files generated by the build
make clean

Kompilacje równoległe

Kompilacja J2ObjC obsługuje kompilacje równoległe, które są określane za pomocą flagi -j<n>, gdzie n to maksymalna liczba równoczesnych zadań. Maksymalna wartość zależy od szybkości/wydajności Twojego systemu. Sugerujemy zacząć od -j4. Zwiększ ją, aby skrócić czas kompilacji, jeśli Twój system ją obsługuje, i zmniejsz ją, jeśli wystąpią błędy systemu.

Architektury procesorów budowlanych

Od wersji 2.3 j2objc 32-bitowe architektury iOS („iphone” i „simulator”) nie są uwzględniane w dystrybucji publicznej. Możesz z nich skompilować j2objc, podając najpierw zmienną środowiskową J2OBJC_ARCHS:

$ export J2OBJC_ARCHS="iphone simulator macosx iphone64 watchv7k watch64 watchsimulator simulator64"
$ make -j8 all_dist

Możesz też użyć tej właściwości do przyspieszenia kompilacji, określając tylko architektury potrzebne aplikacji. Aby utworzyć tylko 64-bitowy system iOS („iphone64”) i powiązany z nim symulator („simulator64”), na przykład przed wykonaniem działania zdefiniuj atrybut J2OBJC_ARCHS="iphone64 simulator64".