Yêu cầu
- Hệ thống Apple Mac OS X
- Phiên bản mới nhất của Xcode
- Đã cài đặt JDK 11
- Apache Maven
- (Nên dùng nhưng không bắt buộc) Nguồn Google Protocol Buffer
Thiết lập máy Mac
- Cài đặt các công cụ dòng lệnh Xcode bằng cách chạy:
sudo xcode-select --install
- Thêm vào
.bash_profile
:
export JAVA_HOME=`/usr/libexec/java_home -v 11`
- Nếu bạn chưa cài đặt Maven (hãy thử
mvn -version
trong một thiết bị đầu cuối), hãy sử dụng Homebrew:
brew install maven
Tạo một nhánh của dự án J2ObjC
Để phân nhánh dự án J2ObjC, hãy mở trang chính của dự án rồi nhấp vào nút Fork (Phân nhánh):
Chọn tên tài khoản GitHub của bạn và nhánh sẽ được tạo trong vài giây.
Tiếp theo, hãy nhân bản một bản sao của nhánh bạn đã tạo vào hệ thống cục bộ để phát triển. Trước tiên, hãy nhấp vào [nút Sao chép hoặc tải xuống], sau đó nhấp vào nút Sao chép vào bảng nhớ tạm:
Sau đó, hãy nhân bản vào một thư mục cục bộ:
git clone (Command-V) # Paste the copied URL
Cài đặt protobuf và abseil
Bạn cần cài đặt protobuf C++ thì mới 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 dựng Protobuf C++ hiện phụ thuộc vào thư viện Abseil, vì vậy, hãy cài đặt thư viện đó:
brew install abseil
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 nội dung sau vào .bash_profile
:
export PROTOBUF_ROOT_DIR=/usr/local # or your custom Homebrew dir
Để xác minh, hãy chạy $PROTOBUF_ROOT_DIR/bin/protoc --version
.
Xây dựng J2ObjC
Để tạo bản dựng 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 protocol buffer compiler and runtime for J2ObjC
make protobuf_dist
# Build everything that is included in the project's distribution bundles
make all_dist
Kiểm thử J2ObjC
Để kiểm thử qua 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 bản dựng
# Remove all files generated by the build
make clean
Bản dựng song 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. Giá trị tối đa phụ thuộc vào tốc độ của hệ thống; bạn nên bắt đầu với -j4
.
Tăng số lượng để rút ngắn thời gian tạo bản dựng nếu hệ thống của bạn có thể xử lý được, và giảm số lượng nếu quá trình tạo không thành công do lỗi hệ thống.
Xây dựng cấu trúc iOS 32 bit
Cấu trúc iOS 32 bit ("iphone" và "trình mô phỏng") không được tạo theo mặc định. Bạn có thể tạo j2objc bằng các cấu hình này bằng cách chỉ định các cấu hình đó trong biến môi trường J2OBJC_ARCHS:
$ export J2OBJC_ARCHS="iphone simulator"
$ make -j8 all_dist
Thông thường, bạn có thể chỉ định một tập hợp con các cấu trúc được hỗ trợ để tăng tốc các bản dựng cục bộ, bằng cách chỉ chỉ đị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 liên kết với iOS 64 bit ("simulator64"), hãy xác định J2OBJC_ARCHS="iphone64 simulator64"
trước khi chạy make.
Xây dựng bản phân phối đầy đủ
Mặc dù nhóm j2objc không đăng các bản phân phối tạo sẵn lên GitHub nữa do giới hạn về kích thước tệp, nhưng bạn vẫn có thể sử dụng tập lệnh "tạo mọi thứ trong một bước":
$ scripts/build_distribution.sh HEAD-<current-date> $PROTOBUF_ROOT_DIR
Tập lệnh này mất nhiều thời gian để chạy vì mọi cấu trúc cho mọi gói j2objc đều được tạo. Tuy nhiên, tính năng này rất hữu ích nếu có lỗi bản dựng chung, vì tính năng này chỉ tạo bằng tập hợp biến môi trường tối thiểu. Nếu tập lệnh build_distribution thành công nhưng các bước xây dựng thông thường không thành công, hãy kiểm tra xem có biến môi trường cục bộ nào được đặt không chính xác hay không.