J2ObjC binası

Şartlar

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

Mac'te kurulum

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

J2ObjC projesinin çatalını oluşturma

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

Çatalla

GitHub hesap adınızı seçin. Fork birkaç saniye içinde oluşturulur.

Ardından, geliştirme için çatalınızın bir kopyasını yerel sisteminize klonlayın. Önce [Clone or download button] (Klonla veya indir düğmesi) seçeneğini, ardından da 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ükleyin

J2ObjC'yi oluşturabilmek için önce protobuf C++'ı yüklemeniz 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ıdır. Bu nedenle, Abseil kitaplığını da yükleyin:

brew install abseil

PROTOBUF_ROOT_DIR değerini, protobuf'un yüklendiği kök olarak ayarlamanız gerekir. Normalde bu, Homebrew'un varsayılanıdır /usr/local. .bash_profile öğenize 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'yi oluşturma

Terminal penceresinde komut satırından derlemek için şunu ç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 penceresinde komut satırından test etmek için şunu ç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şaretiyle belirtilen paralel derlemeleri destekler. Burada n, eşzamanlı görevlerin maksimum sayısıdır. Maksimum değer, sisteminizin hızına bağlıdır. -j4 ile başlamanızı öneririz. Sisteminiz kaldırabiliyorsa derleme sürelerini kısaltmak için sayıyı artırın, sistem hatalarıyla başarısız oluyorsa azaltın.

32 bit iOS mimarileri oluşturma

32 bit iOS mimarileri ("iphone" ve "simulator") varsayılan olarak oluşturulmaz. Önce J2OBJC_ARCHS ortam değişkeninde belirterek bunları kullanarak j2objc'yi oluşturabilirsiniz:

$ 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. Örneğin, yalnızca 64 bit iOS ("iphone64") ve ilişkili simülatörünü ("simulator64") oluşturmak için make komutunu çalıştırmadan önce J2OBJC_ARCHS="iphone64 simulator64" tanımlayın.

Tam Dağıtımı Oluşturma

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

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

Bu komut dosyasının çalışması uzun sürer. Bunun nedeni, her j2objc paketi için her mimarinin oluşturulmasıdır. Ancak yalnızca minimum ortam değişkenleri grubuyla oluşturulduğu için genel derleme hataları varsa çok kullanışlıdır. build_distribution komut dosyası başarılı olursa ancak normal derleme adımları başarısız olursa, yerel ortam değişkenlerinden herhangi birinin yanlış ayarlanıp ayarlanmadığını kontrol edin.