الزامات
- سیستم Apple Mac OS X
- آخرین نسخه Xcode
- JDK JDK 11 نصب شده است
- آپاچی ماون
- (توصیه می شود اما لازم نیست) منبع بافر پروتکل Google
راه اندازی مک
- ابزارهای خط فرمان Xcode را با اجرای زیر نصب کنید:
sudo xcode-select --install
- به
.bash_profile
خود اضافه کنید:
export JAVA_HOME=`/usr/libexec/java_home -v 11`
یک فورک پروژه J2ObjC ایجاد کنید
برای فورک پروژه J2ObjC، صفحه اصلی آن را باز کنید و روی دکمه فورک کلیک کنید:
نام حساب GitHub خود را انتخاب کنید و فورک در عرض چند ثانیه ایجاد می شود.
سپس، یک کپی از فورک خود را برای توسعه در سیستم محلی خود کلون کنید. ابتدا روی [Clone or download button] کلیک کنید، سپس روی دکمه Copy to Clipboard کلیک کنید:
سپس در یک فهرست محلی کلون کنید:
git clone (Command-V) # Paste the copied URL
protobuf را نصب کنید
قبل از اینکه بتوانید J2ObjC را بسازید، باید protobuf C++ را نصب کنید.
برای نصب بسته باینری protobuf، از Homebrew استفاده کنید:
brew install protobuf
شما باید PROTOBUF_ROOT_DIR
روی ریشه ای که protobuf در آن نصب شده است تنظیم کنید. به طور معمول، این پیشفرض Homebrew /usr/local
است. موارد زیر را به .bash_profile
خود اضافه کنید:
export PROTOBUF_ROOT_DIR=/usr/local # or your custom Homebrew dir
برای تأیید، $PROTOBUF_ROOT_DIR/bin/protoc --version
اجرا کنید.
ساخت J2ObjC
برای ساختن از خط فرمان در پنجره ترمینال، اجرا کنید:
# 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
راه اندازی اختیاری برای بافرهای پروتکل
کامپایلر و زمان اجرا پروتکل J2ObjC به نصب بافرهای پروتکل (حداقل 3.21.3) نیاز دارد:
- کد منبع را از نسخه Protocol Buffers 3.21.7 دانلود کنید.
- دستورالعمل های نصب C++ را از README دنبال کنید. به گزینه
--prefix
توجه کنید تا محل نصب خود را مشخص کنید. - متغیر محیطی
PROTOBUF_ROOT_DIR
را برای اشاره به محل نصب Protocol Buffers خود تعریف کنید.
ویژگی های زبان جاوا 8 پست.
اطلاعیه را ببینید. علاوه بر مراحل بخش قبل، یک ماژول JRE باید با JDK 11 ساخته شود:
JAVA_HOME=`/usr/libexec/java_home -v 11` \
make -C jre_emul/ -f java.mk emul_module_dist
تست J2ObjC
برای آزمایش از خط فرمان در پنجره ترمینال، اجرا کنید:
# Run translator and library unit tests
make test
# Run all unit tests, including for protocol buffers
make test_all
تمیز کردن/تنظیم مجدد یک ساختمان
# Remove all files generated by the build
make clean
ساختمان های موازی
ساخت J2ObjC از ساختهای موازی پشتیبانی میکند که با استفاده از پرچم -j<n>
مشخص میشوند، جایی که n حداکثر تعداد وظایف همزمان است. حداکثر به سرعت/قدرت سیستم شما بستگی دارد. پیشنهاد می کنیم با -j4
شروع کنید. اگر سیستم شما از عهده آن برآید، تعداد را افزایش دهید تا زمانهای ساخت را کوتاه کنید و در صورت خطای سیستم با خطا، آن را کاهش دهید.
معماری پردازشگر ساختمان
از زمان انتشار j2objc 2.3، معماریهای iOS 32 بیتی ("iphone" و "شبیهساز") در توزیع عمومی گنجانده نشدهاند. شما می توانید j2objc را با استفاده از آنها ابتدا با تعیین متغیر محیطی J2OBJC_ARCHS بسازید:
$ export J2OBJC_ARCHS="iphone simulator macosx iphone64 watchv7k watch64 watchsimulator simulator64"
$ make -j8 all_dist
این همچنین می تواند برای سرعت بخشیدن به ساخت، فقط با مشخص کردن معماری های مورد نیاز برنامه شما استفاده شود. برای مثال فقط برای ساخت iOS 64 بیتی ("iphone64") و شبیه ساز مرتبط با آن ("simulator64")، قبل از اجرای make J2OBJC_ARCHS="iphone64 simulator64"
را تعریف کنید.