ساخت J2ObjC

الزامات

  • سیستم 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" را تعریف کنید.