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