Membuat J2ObjC

Persyaratan

  • Sistem Apple Mac OS X
  • Versi terbaru Xcode
  • JDK 21 diinstal
  • Apache Maven
  • (Direkomendasikan, tetapi tidak wajib) Sumber Google Protocol Buffer

Penyiapan Mac

  • Instal alat command line Xcode dengan menjalankan:
sudo xcode-select --install
  • Tambahkan ke .bash_profile:
export JAVA_HOME=`/usr/libexec/java_home -v 21`
  • Jika Maven belum diinstal (coba mvn -version di terminal), gunakan Homebrew:
brew install maven

Buat Fork project J2ObjC

Untuk membuat fork project J2ObjC, buka halaman utamanya dan klik tombol Fork:

Fork

Pilih nama akun GitHub Anda, dan fork akan dibuat dalam beberapa detik.

Selanjutnya, clone salinan fork Anda ke sistem lokal untuk pengembangan. Pertama, klik tombol [Clone or download], lalu klik tombol Copy to Clipboard:

Clone

Kemudian, lakukan cloning ke direktori lokal:

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

Menginstal protobuf dan abseil

Anda harus menginstal protobuf C++ sebelum dapat mem-build J2ObjC.

Untuk menginstal paket biner protobuf, gunakan Homebrew:

brew install protobuf

Build Protobuf C++ kini bergantung pada library Abseil, jadi instal juga:

brew install abseil

Anda perlu menyetel PROTOBUF_ROOT_DIR ke root tempat protobuf diinstal. Biasanya, itu adalah /usr/local default Homebrew. Tambahkan kode berikut ke .bash_profile Anda:

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

Untuk memverifikasi, jalankan $PROTOBUF_ROOT_DIR/bin/protoc --version.

Membangun J2ObjC

Untuk membuat dari command line di jendela Terminal, jalankan:

# 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

Menguji J2ObjC

Untuk menguji dari command line di jendela Terminal, jalankan:

# Run translator and library unit tests
make test

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

Membersihkan Build

# Remove all files generated by the build
make clean

Build Paralel

Build J2ObjC mendukung build paralel, yang ditentukan menggunakan flag -j<n>, dengan n adalah jumlah maksimum tugas serentak. Nilai maksimum bergantung pada kecepatan sistem Anda; sebaiknya mulai dengan -j4. Tingkatkan jumlahnya untuk mempersingkat waktu build jika sistem Anda dapat menanganinya, dan kurangi jika make gagal karena error sistem.

Membangun Arsitektur iOS 32-bit

Arsitektur iOS 32-bit ("iphone" dan "simulator") tidak dibuat secara default. Anda dapat membuat j2objc dengan cara ini dengan terlebih dahulu menentukannya dalam variabel lingkungan J2OBJC_ARCHS:

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

Menentukan subset arsitektur yang didukung umumnya dapat digunakan untuk mempercepat build lokal, dengan hanya menentukan arsitektur yang dibutuhkan aplikasi Anda. Misalnya, untuk hanya membuat build iOS 64-bit ("iphone64") dan simulator terkaitnya ("simulator64"), tentukan J2OBJC_ARCHS="iphone64 simulator64" sebelum menjalankan make.

Membangun Distribusi Penuh

Meskipun tim j2objc tidak lagi memposting distribusi yang telah dibuat sebelumnya ke GitHub karena batasan ukuran filenya, skrip "build semuanya dalam satu langkah" masih dapat digunakan:

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

Skrip ini memerlukan waktu yang lama untuk dijalankan karena setiap arsitektur untuk setiap paket j2objc dibuat. Namun, hal ini sangat berguna jika terjadi kegagalan build umum, karena build hanya menggunakan kumpulan variabel lingkungan minimum. Jika skrip build_distribution berhasil, tetapi langkah-langkah build normal tidak, tinjau apakah ada variabel lingkungan lokal yang disetel dengan tidak benar.