Ş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:
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:
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.