Customizing build-time apps

ডেভেলপার অথবা ডিভাইস ভেন্ডার হিসেবে,আপনাকে অ্যাপসটি কাস্টমাইজ করতে চাইবেন যা একটি Firefox OS  ডিভাইসের উপরে বিভিন্ন কারণে প্রথম বার কাজ করে।এই অনুচ্ছেদ এটা করার বিভিন্ন প্রক্রিয়ার উপরে আলোচনা করে।

গায়ার ভিতরে অ্যাপ লোকেশন

অ্যাপস Firefox OS এর উপর কাজ করে সেগুলো গায়া সোর্স ট্রী এর ভিতরে থাকে,দুটা লোকেশনের মাঝে একটিঃ

  • gaia/apps/:এটা সেখানে যেখানে ডিফল্ট সিস্টেম অ্যাপস পাওয়া যায়,যেমন দিন পঞ্জিকা,ই-মেইল,সেটিংস ইত্যাদি।
  • gaia/dev-apps:এটা সেখানে যেখানে অন্য অ্যাপস পাওয়া যায়,যেমন ঐগুলো কাস্টমাইজেশন প্রক্রিয়ায় যোগ হয়।

যদি আপনি আপনার  গায়া/B2G নির্মাণে এসব অ্যাপস বাদ দিতে /যোগ করতে চান,আপনি নিচে দেখানো বেশ কিছু পথে এটি করতে পারেন।

Brute force কাস্টমাইজেশন প্রক্রিয়া

 "brute force"প্রক্রিয়া হল সাধারনভাবে অ্যাপস মুছে ফেলা যা আপনি গঠনের সময় উপস্থিত রাখতে চান,গঠনের পু্বে।

এডিটিং কনফিগ লিস্টস

সবচেয়ে বিশুদ্ধ প্রক্রিয়া হল  apps-*.list ফাইল এডিট করাf (খুজেন বিভিন্ন নির্দেশনামুলক ডিভাইসে খুজেন  gaia/build/config/, যেমন phone/  এবং tablet/ এর ভিতরে) গঠনের সময় আপনি অ্যাপস এর পথ যোগ করে চান। উদাহরন হিসেবে, gaia/build/config/phone/apps-production.list দেখতে কিছুটা এর মতঃ

apps/bluetooth
apps/bookmark
apps/browser
apps/calendar
apps/callscreen
etc.

নোট করুন যে আপনি আরো সরাসরি ভাবে সকল অ্যাপস নির্দিষ্ট করতে পারেন,এর মতঃ

apps/*

প্রক্রিয়া পছন্দের জন্য যা apps-*.list ফাইল ব্যবহার করে যা সহজেপ্রাপ্ত  gaia/Makefile এর ভিতরে গঠনের সময় অ্যাপস নির্দিষ্ট করে,এবং এর মত কিছু দেখায়ঃ

GAIA_DEVICE_TYPE?=phone
  ...
GAIA_APP_TARGET?=engineering
  ...
ifeq ($(MAKECMDGOALS), demo)
GAIA_DOMAIN=thisdomaindoesnotexist.org
GAIA_APP_TARGET=demo
else ifeq ($(MAKECMDGOALS), dogfood)
DOGFOOD=1
else ifeq ($(MAKECMDGOALS), production)
PRODUCTION=1
endif
  ...
ifeq ($(PRODUCTION), 1)
GAIA_OPTIMIZE=1
GAIA_APP_TARGET=production
endif

ifeq ($(DOGFOOD), 1)
GAIA_APP_TARGET=dogfood
endif
  ...
ifndef GAIA_APP_CONFIG
GAIA_APP_CONFIG=build$(SEP)config$(SEP)apps-$(GAIA_APP_TARGET).list
endif

প্রাথমিকভাবে , GAIA_APP_TARGET পরিবর্তন সেট হয় engineering তে এবং GAIA_DEVICE_TYPE পরিবর্তন সেট হয়  phone তে,সোর্স থেকে ডিফল্ট গায়া গঠনে  gaia/config/phone/app-engineering.list ব্যবহার করবে(যা সকল টেস্ট,ডেমোস,ইত্যাদি যোগ করে)

বিভিন্ন অ্যাপস লিস্টের ব্যবহার নির্দেশনা দিতে আপনি নির্দিষ্ট করেন বিভিন্ন অপশন যখন  make কমান্ড চলমান থাকে .  gaia/build/config/phone/apps-production.list গঠনের সাথে উদাহরণ হিসেবে,আপনি ব্যবহার করবেন

PRODUCTION=1 গঠন

যদি আপনি বিশেষভাবে  DEMO=1 গঠনের সাথে নির্দেশনা দেন তখন ইহা apps-demo.list.ব্যবহার করবে।আপনি বিশেষভাবে  DOGFOOD=1 গঠনের সাথে নির্দিষ্ট করেন,তখন ইহা apps-dogfood.list ব্যবহার করবে।

 GAIA_APP_CONFIG ইডিটিং দ্বারা  gaia/Makefile এ আপনি সম্পুর্ন ভাবে সিদ্ধান্ত নিতে পারেন এবং আপনার নিজের apps-*.list ফাইল প্রদান করেন ।

gaia/Android.mk বহন করে এইসব লাইন গুলোঃ

ifneq ($(filter user userdebug, $(TARGET_BUILD_VARIANT)),)
GAIA_MAKE_FLAGS += PRODUCTION=1
B2G_SYSTEM_APPS := 1
endif

যখন আপনি গঠন করবেন,যদি VARIANT=user অথবা VARIANT=userdebug সেট হয় (এইগুলো  TARGET_BUILD_VARIANT এ পরিবর্তনে  প্রতিসৃত হয়ে থাকে), PRODUCTION=1 হল সয়ংক্রিয়ভাবে সেট যখন গায়া গঠন ।

নোটঃ খুজে বের করুন যা তৈরি করে অন্য অপশন যা আমাদের make options reference এ সহজে প্রাপ্ত।

বাজার কাস্টমাইজেশনের ব্যবহার

তৃতীয়,এবংসবচেয়ে পুনরায় বিশুদ্ধ(কিন্তু সবচেয়ে জটিল) উপায় হল কাস্টমাইজেশন ব্যবহার করা।এগুলো আপনাকে ব্যতিচারের সময় গঠনের কাস্টমাইজেশন প্রক্রিয়া নির্দেশ করে থাকে,গায়া কোর রিপু পরিবর্তন ছাড়া। আপনি আপনার নিজের দূরের নির্দেশনায় কাস্টমাইজেশন যোগ করতে পারেন,অথবা ব্যবহার করেন পুর্বে বিদ্যমান নির্দেশনা যা  সোর্স থেকে আসে।

উদাহরন হিসেবে,GAIA_DISTRIBUTION_DIR পরিবেশের পরিবর্তনের সাথে কাস্টমাইজেশনের স্থান নির্দেশ করা,এর মতঃ

GAIA_DISTRIBUTION_DIR=<DISTRIBUTION_PATH> make production

আরো বেশি কাস্টমাইজেশনের উদাহরনের প্রক্রিয়া বিভক্তিকরনের জন্য,দয়া করে  https://github.com/mozilla-b2g/gaia/tree/master/customization নির্দেশ করুন।

 ইহার নিজের আলাদা ভিতরের বিষয় হল কাস্টমাইজেশন।ইহা সম্পর্কে আর বেশি জানার জন্য,আমাদের Market Customizations guide পড়ূন।

নোটঃযদি তুমি তোমার গাইয়া বিল্ডের অংশ হিসেবে কাস্টম এক্সটারনাল অ্যাপ যোগ করতে চাও, তোমাকে একটি্ নির্দেষট পথে তাদের তৈরি করা প্রয়োজন,এবং তারপরে তাদের স্থাপন কর   gaia/dev-apps/ ফোল্ডারে। Building Prebundled web apps  পড়ো আমাদের  আরো খুজে বার করতে ।

গুরুত্বপুর্ণঃযদি তুমি  ভাগ করার জন্য একতি কাসট্ম তৈরি করে ডিভাইস ভেন্ডার হওI ,তোমাকে  তোমার ফোন/ট্যাব্লেট/ইত্যাদি তে ফায়ারফক্স মার্কেট প্ল্যাচ  যোগ করার আগে প্তোমাকে খুশি হতে হবে বিচারের মান দন্ডের প্রয়োজন।মোযিলার সাথে যোগাযোগ কর  আরো বিস্তারিত  জানতে।

 

ডকুমেন্ট ট্যাগ এবং অবদানকারী

 Contributors to this page: chrisdavidmills, Bristy
 সর্বশেষ হালনাগাদ করেছেন: chrisdavidmills,