Xây dựng J2ObjC

Yêu cầu

  • Hệ thống Mac OS X của Apple
  • Phiên bản mới nhất của Xcode
  • Đã cài đặt JDK 11
  • Apache Maven
  • (Được đề xuất nhưng không bắt buộc) Nguồn Vùng đệm giao thức Google

Thiết lập máy Mac

  • Cài đặt công cụ dòng lệnh Xcode bằng cách chạy:
sudo xcode-select --install
  • Thêm vào .bash_profile của bạn:
export JAVA_HOME=`/usr/libexec/java_home -v 11`

Tạo một Fork của dự án J2ObjC

Để phát triển dự án J2ObjC, hãy mở trang chính của dự án rồi nhấp vào nút Fork:

Nĩa

Chọn tên tài khoản GitHub của bạn và nhánh phát triển sẽ được tạo trong vài giây.

Tiếp theo, hãy sao chép một bản sao của nhánh riêng vào hệ thống cục bộ để phát triển. Trước tiên, hãy nhấp vào [Clone or download button] (Sao chép hoặc nút tải xuống) rồi nhấp vào nút Sao chép vào bảng nhớ tạm:

Sao chép

Sau đó, hãy sao chép vào một thư mục cục bộ:

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

Cài đặt protobuf

Bạn cần cài đặt protobuf C++ trước khi có thể tạo J2ObjC.

Để cài đặt gói nhị phân protobuf, hãy sử dụng Homebrew:

brew install protobuf

Bạn cần đặt PROTOBUF_ROOT_DIR thành thư mục gốc nơi cài đặt protobuf. Thông thường, đó là /usr/local mặc định của Homebrew. Thêm phần sau vào .bash_profile của bạn:

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

Để xác minh, hãy chạy $PROTOBUF_ROOT_DIR/bin/protoc --version.

Toà nhà J2ObjC

Để tạo từ một dòng lệnh trong cửa sổ dòng lệnh, hãy chạy:

# Build just the translator and libraries
make dist

# Build the full distribution (including frameworks)
make frameworks

# 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

Thiết lập tuỳ chọn cho vùng đệm giao thức

Trình biên dịch và thời gian chạy Bộ đệm giao thức J2ObjC yêu cầu cài đặt Vùng đệm giao thức (tối thiểu là 3.21.3):

  • Tải mã nguồn xuống từ bản phát hành Protocol Buffers 3.21.7.
  • Làm theo hướng dẫn cài đặt C++ trong tệp README. Hãy chú ý đến tuỳ chọn --prefix để chỉ định vị trí cài đặt.
  • Xác định biến môi trường PROTOBUF_ROOT_DIR để trỏ đến vị trí cài đặt Bộ đệm giao thức.

Đăng các tính năng ngôn ngữ Java 8.

Xem thông báo. Ngoài các bước trong phần trước, bạn cần xây dựng một mô-đun JRE với JDK 11:

JAVA_HOME=`/usr/libexec/java_home -v 11` \
make -C jre_emul/ -f java.mk emul_module_dist

Kiểm thử J2ObjC

Để kiểm thử qua một dòng lệnh trong cửa sổ dòng lệnh, hãy chạy:

# Run translator and library unit tests
make test

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

Dọn dẹp/xây dựng lại công trình

# Remove all files generated by the build
make clean

Bản dựng song

Bản dựng J2ObjC hỗ trợ các bản dựng song song, được chỉ định bằng cờ -j<n>, trong đó n là số lượng tác vụ đồng thời tối đa. Mức tối đa phụ thuộc vào tốc độ/mạnh của hệ thống; bạn nên bắt đầu bằng -j4. Tăng số lượng để rút ngắn thời gian xây dựng nếu hệ thống của bạn có thể xử lý được, và giảm thời gian xây dựng nếu hệ thống gặp lỗi.

Xây dựng kiến trúc bộ xử lý

Kể từ bản phát hành j2objc 2.3, kiến trúc iOS 32 bit ("iphone" và "trình mô phỏng") không được đưa vào bản phân phối công khai. Trước tiên, bạn có thể tạo j2objc bằng các thành phần này bằng cách chỉ định biến môi trường J2OBJC_ARCHS:

$ export J2OBJC_ARCHS="iphone simulator macosx iphone64 watchv7k watch64 watchsimulator simulator64"
$ make -j8 all_dist

Tác vụ này cũng có thể dùng để tăng tốc độ xây dựng bằng cách chỉ xác định các cấu trúc mà ứng dụng của bạn cần. Ví dụ: để chỉ tạo iOS 64 bit ("iphone64") và trình mô phỏng được liên kết ("simulator64"), hãy xác định J2OBJC_ARCHS="iphone64 simulator64" trước khi chạy make.