বিল্ডিং J2ObjC

প্রয়োজনীয়তা

  • অ্যাপল ম্যাক ওএস এক্স সিস্টেম
  • এক্সকোডের সর্বশেষ সংস্করণ
  • JDK JDK 11 ইনস্টল করা হয়েছে
  • অ্যাপাচি মাভেন
  • (প্রস্তাবিত কিন্তু প্রয়োজন নেই) গুগল প্রোটোকল বাফার উৎস

ম্যাক সেটআপ

  • চালানোর মাধ্যমে Xcode কমান্ড লাইন সরঞ্জাম ইনস্টল করুন:
sudo xcode-select --install
  • আপনার .bash_profile এ যোগ করুন:
export JAVA_HOME=`/usr/libexec/java_home -v 11`

J2ObjC প্রকল্পের একটি ফর্ক তৈরি করুন

J2ObjC প্রজেক্টকে ফর্ক করতে, এর মূল পৃষ্ঠাটি খুলুন এবং ফর্ক বোতামে ক্লিক করুন:

কাঁটা

আপনার GitHub অ্যাকাউন্টের নাম নির্বাচন করুন, এবং কাঁটা কয়েক সেকেন্ডের মধ্যে তৈরি হবে।

এর পরে, বিকাশের জন্য আপনার স্থানীয় সিস্টেমে আপনার ফর্কের একটি অনুলিপি ক্লোন করুন। প্রথমে, [ক্লোন বা ডাউনলোড বোতাম] ক্লিক করুন, তারপর ক্লিপবোর্ডে অনুলিপি বোতামে ক্লিক করুন:

ক্লোন

তারপর একটি স্থানীয় ডিরেক্টরিতে ক্লোন করুন:

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

প্রোটোবাফ ইনস্টল করুন

J2ObjC তৈরি করার আগে আপনাকে প্রোটোবাফ সি++ ইনস্টল করতে হবে।

প্রোটোবাফ বাইনারি প্যাকেজ ইনস্টল করতে, হোমব্রু ব্যবহার করুন:

brew install protobuf

আপনাকে PROTOBUF_ROOT_DIR সেই রুটে সেট করতে হবে যেখানে প্রোটোবাফ ইনস্টল করা আছে। সাধারণত, এটি 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) ইনস্টল করা প্রয়োজন:

  • প্রোটোকল বাফার 3.21.7 রিলিজ থেকে সোর্স কোড ডাউনলোড করুন।
  • README থেকে C++ ইনস্টলেশন নির্দেশাবলী অনুসরণ করুন। আপনার ইনস্টলেশনের অবস্থান নির্দিষ্ট করতে --prefix বিকল্পে মনোযোগ দিন।
  • আপনার প্রোটোকল বাফার ইনস্টল অবস্থান নির্দেশ করতে PROTOBUF_ROOT_DIR পরিবেশ পরিবর্তনশীল সংজ্ঞায়িত করুন।

পোস্ট জাভা 8 ভাষার বৈশিষ্ট্য।

ঘোষণা দেখুন। পূর্ববর্তী বিভাগের ধাপগুলি ছাড়াও, JDK 11 এর সাথে একটি JRE মডিউল তৈরি করা প্রয়োজন:

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 অনুযায়ী, 32-বিট আইওএস আর্কিটেকচার ("iphone" এবং "সিমুলেটর") পাবলিক ডিস্ট্রিবিউশনে অন্তর্ভুক্ত নয়। আপনি প্রথমে J2OBJC_ARCHS এনভায়রনমেন্ট ভেরিয়েবল নির্দিষ্ট করে এর সাথে j2objc তৈরি করতে পারেন:

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

এটি শুধুমাত্র আপনার অ্যাপের প্রয়োজনীয় আর্কিটেকচারগুলি নির্দিষ্ট করে বিল্ডের গতি বাড়ানোর জন্য ব্যবহার করা যেতে পারে। শুধুমাত্র 64-বিট iOS ("iphone64") এবং এর সাথে সম্পর্কিত সিমুলেটর ("simulator64") তৈরি করতে, উদাহরণস্বরূপ, মেক চালানোর আগে J2OBJC_ARCHS="iphone64 simulator64" সংজ্ঞায়িত করুন।