Membuat J2ObjC

Persyaratan

  • Sistem Apple Mac OS X
  • Xcode versi terbaru
  • JDK JDK 11 diinstal
  • Apache Maven
  • (Direkomendasikan, tetapi tidak wajib) Sumber Buffer Protokol Google

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 11`
  • Jika Maven belum diinstal (coba mvn -version di terminal), gunakan Homebrew:
brew install maven

Membuat Fork project J2ObjC

Untuk melakukan 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 atau download], lalu klik tombol Salin ke Papan Klip:

Clone

Kemudian, clone 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 menetapkan PROTOBUF_ROOT_DIR ke root tempat protobuf diinstal. Biasanya, ini 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.

Mem-build J2ObjC

Untuk mem-build 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 tanda -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 dengan error sistem.

Mem-build Arsitektur iOS 32-bit

Arsitektur iOS 32-bit ("iphone" dan "simulator") tidak di-build secara default. Anda dapat mem-build j2objc dengan menentukannya terlebih dahulu di 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 diperlukan aplikasi Anda. Untuk hanya mem-build iOS 64-bit ("iphone64") dan simulator terkait ("simulator64"), misalnya, tentukan J2OBJC_ARCHS="iphone64 simulator64" sebelum menjalankan make.

Mem-build Distribusi Lengkap

Meskipun tim j2objc tidak lagi memposting distribusi bawaan ke GitHub karena batasan ukuran filenya, skrip "build everything in one step" masih dapat digunakan:

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

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