J2ObjC binası

Şartlar

  • Apple Mac OS X sistemi
  • Xcode'un en son sürümü
  • JDK 11 yüklü
  • Apache Maven
  • (Önerilir ancak zorunlu değildir) Google Protocol Buffer kaynağı

Mac Kurulumu

  • Aşağıdaki komutu çalıştırarak Xcode komut satırı araçlarını yükleyin:
sudo xcode-select --install
  • .bash_profile'ünüze ekleyin:
export JAVA_HOME=`/usr/libexec/java_home -v 11`
  • Maven yüklü değilse (terminalde mvn -version komutunu deneyin) Homebrew'u kullanın:
brew install maven

J2ObjC projesinin çatalı oluşturma

J2ObjC projesini çatallamak için ana sayfasını açın ve Çatalla düğmesini tıklayın:

Çatal

GitHub hesap adınızı seçin. Çatallama işlemi birkaç saniye içinde tamamlanır.

Ardından, geliştirme için çatalınızın bir kopyasını yerel sisteminize klonlayın. Önce [Klonla veya indir düğmesini], ardından Panoya Kopyala düğmesini tıklayın:

Klon

Ardından yerel bir dizine klonlayın:

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

Protobuf ve abseil'i yükleme

J2ObjC derleyebilmek için protobuf C++'yi yüklemiş olmanız gerekir.

Protobuf ikili paketini yüklemek için Homebrew'u kullanın:

brew install protobuf

Protobuf C++ derlemesi artık Abseil kitaplığına bağlı olduğundan bu kitaplığı da yükleyin:

brew install abseil

PROTOBUF_ROOT_DIR değerini, protobuf'in yüklü olduğu köke ayarlamanız gerekir. Normalde bu, Homebrew'un varsayılan değeridir /usr/local. .bash_profile dosyanıza aşağıdakileri ekleyin:

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

Doğrulamak için $PROTOBUF_ROOT_DIR/bin/protoc --version komutunu çalıştırın.

J2ObjC oluşturma

Terminal penceresinde komut satırından derlemek için şunları çalıştırın:

# Build just the translator and libraries
make dist

# 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

J2ObjC'yi test etme

Terminal penceresindeki komut satırından test etmek için şu komutu çalıştırın:

# Run translator and library unit tests
make test

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

Derlemeyi temizleme

# Remove all files generated by the build
make clean

Paralel Derlemeler

J2ObjC derlemesi, -j<n> işareti kullanılarak belirtilen paralel derlemeleri destekler. Burada n, eşzamanlı görev sayısının maksimum değeridir. Maksimum değer, sisteminizin hızına bağlıdır. -j4 ile başlamanızı öneririz. Sisteminiz bunu kaldırabiliyorsa derleme sürelerini kısaltmak için sayıyı artırın, derleme sistem hatalarıyla başarısız oluyorsa sayıyı azaltın.

32 bit iOS mimarileri oluşturma

32 bit iOS mimarileri ("iphone" ve "simülatör") varsayılan olarak derlenmez. J2OBJC_ARCHS ortam değişkeninde önce bunları belirterek j2objc'yi bu mimarilerle derleyebilirsiniz:

$ export J2OBJC_ARCHS="iphone simulator"
$ make -j8 all_dist

Desteklenen mimarilerin bir alt kümesini belirtmek, genellikle yalnızca uygulamanızın ihtiyaç duyduğu mimarileri belirterek yerel derlemeleri hızlandırmak için kullanılabilir. Yalnızca 64 bit iOS ("iphone64") ve ilişkili simülasyon aracını ("simulator64") derlemek için make'i çalıştırmadan önce J2OBJC_ARCHS="iphone64 simulator64" değerini tanımlayın.

Tam dağıtımı oluşturma

j2objc ekibi, dosya boyutu sınırlamaları nedeniyle artık önceden derlenmiş dağıtımları GitHub'da yayınlamasa da "her şeyi tek adımda derle" komut dosyası hâlâ kullanılabilir:

$ scripts/build_distribution.sh HEAD-<current-date> $PROTOBUF_ROOT_DIR

Her j2objc paketi için her mimari derlendiğinden bu komut dosyasının çalışması uzun sürer. Ancak yalnızca minimum ortam değişkeni grubuyla derlendiği için genel derleme hataları varsa çok kullanışlıdır. build_distribution komut dosyası başarılı olur ancak normal derleme adımları başarısız olursa yerel ortam değişkenlerinin yanlış ayarlanıp ayarlanmadığını inceleyin.