নির্ভরতা আপগ্রেড বিশ্লেষণ এবং স্বয়ংক্রিয়

নির্ভরতা ব্যবস্থাপনা সহজতর করতে খুঁজছেন? আপনার প্রসেসগুলিতে কিছু টুলিং যোগ করা জিনিসগুলিকে গতি বাড়তে পারে এবং আপনাকে এমন অঞ্চলগুলির দিকে নির্দেশ করতে পারে যেগুলি আরও একটু মনোযোগের প্রয়োজন হতে পারে।

স্বয়ংক্রিয় সংস্করণ আপগ্রেড

অ্যান্ড্রয়েড স্টুডিও এডিটরে পুরানো লাইব্রেরি সংস্করণগুলিকে হাইলাইট করে, সাথে তাদের আপগ্রেড করার জন্য দ্রুত সংশোধন করে৷ কিন্তু এর জন্য আপনার সমস্ত বিল্ড ফাইল নিয়মিত চেক করা প্রয়োজন।

অনেকগুলি তৃতীয় পক্ষের সরঞ্জাম রয়েছে যা প্রক্রিয়াটিকে স্বয়ংক্রিয় করতে পারে, আপনার বিল্ড ফাইলগুলিকে আপগ্রেড করতে এবং ঐচ্ছিকভাবে পরিবর্তনের জন্য একটি পুল-অনুরোধ তৈরি করতে পারে৷ তারা প্রতিটি নির্ভরতার সর্বশেষ উপলব্ধ সংস্করণগুলি সনাক্ত করে এবং আপডেট করে, তবে আচরণগত সামঞ্জস্য নিশ্চিত করতে আপনাকে প্রকাশের আগে ফলাফলগুলি বিশ্লেষণ করতে হবে। কিছু জনপ্রিয় উদাহরণ অন্তর্ভুক্ত:

উপলব্ধ আপগ্রেড চেক করুন

গ্রেডল সংস্করণ প্লাগইন আপনাকে আরও ম্যানুয়াল আপগ্রেড নিয়ন্ত্রণ দেয়। এটির dependencyUpdates টাস্ক চালানো (এর মাধ্যমে . /gradlew :dependencyUpdates ) আপনার লাইব্রেরি নির্ভরতাগুলির নতুন সংস্করণগুলির একটি প্রতিবেদন তৈরি করে৷ এটি লাইব্রেরির স্থিতি পরীক্ষা করতে এবং একটি নির্দিষ্ট সময়ে আপনি কোন লাইব্রেরিগুলি আপগ্রেড করতে চান তা ম্যানুয়ালি লক্ষ্য করতে কার্যকর হতে পারে।

এটি বিশেষভাবে উপযোগী হতে পারে যদি আপনি একটি সংস্করণ ক্যাটালগের পরিবর্তে আপনার নির্ভরতা সংস্করণগুলি নির্দিষ্ট করার জন্য একটি কাস্টম পদ্ধতি ব্যবহার করেন।

রিপোর্ট নির্ভরতা পরিবর্তন

আপনি সরাসরি ব্যবহার করেন এমন লাইব্রেরিগুলির সংস্করণগুলি আপগ্রেড করা আপনার অ্যাপ্লিকেশনে অনেক বিস্তৃত প্রভাব ফেলতে পারে৷ আপনার ব্যবহার করা প্রতিটি লাইব্রেরিতে অন্য লাইব্রেরি নির্ভরতা প্রয়োজন হতে পারে, একটি বৃহত্তর ট্রানজিটিভ নির্ভরতা গ্রাফ তৈরি করে।

নির্ভরতা গার্ড আপনার অ্যাপ্লিকেশন বা লাইব্রেরির সংস্করণগুলির মধ্যে সেই গ্রাফের পরিবর্তনগুলি প্রকাশ করে। এটি আপগ্রেড বিশ্লেষণের জন্য একটি অমূল্য হাতিয়ার হতে পারে, যাতে আপনি প্রত্যক্ষ এবং পরোক্ষ আপগ্রেডগুলি বিবেচনা করেন তা নিশ্চিত করে৷

অব্যবহৃত এবং অপব্যবহৃত নির্ভরতা সনাক্ত করুন

আপনার বিল্ডকে সুস্থ রাখা বিল্ডের গতি উন্নত করতে পারে এবং আপনার অ্যাপ্লিকেশন এবং লাইব্রেরির প্রয়োজনীয় নির্ভরতাগুলিতে অ্যাক্সেস রয়েছে তা নিশ্চিত করতে পারে। নির্ভরতা বিশ্লেষণ গ্রেডল প্লাগইন আপনাকে আপনার নির্ভরতা পরীক্ষা করার জন্য সরঞ্জাম দেয়, আপনার বিল্ড ফাইলগুলিতে সঠিক ব্যবহার পরীক্ষা করে।

এর প্রতিবেদনের মধ্যে রয়েছে:

  • অব্যবহৃত নির্ভরতা
  • ব্যবহৃত ট্রানজিটিভ নির্ভরতা (আপনাকে স্পষ্টভাবে এগুলি ঘোষণা করা উচিত যাতে আপনার সরাসরি নির্ভরতা সেগুলি ব্যবহার করা বন্ধ করলে আপনার অ্যাপ্লিকেশন সেগুলি অ্যাক্সেস করতে পারে)
  • নির্ভরতাগুলি ভুল সুযোগে ঘোষণা করা হয়েছে৷
  • কিছু প্লাগইন অপ্রয়োজনীয় ব্যবহার
  • আপনার নির্ভরতার গ্রাফভিজ ভিউ

লাইসেন্স ব্যবস্থাপনা

প্রতিটি লাইব্রেরির বিকাশকারীরা আপনার ব্যবহারের জন্য তাদের লাইসেন্স দেয়। আপনাকে লাইসেন্সের শর্তাবলী মেনে চলতে হবে অথবা আপনি সেই লাইব্রেরি ব্যবহার করতে পারবেন না। কিছু লাইসেন্স খুব অনুমোদনযোগ্য, প্রায়ই তাদের ব্যবহারের জন্য শুধুমাত্র একটি নোটিশ প্রয়োজন। কিছু "ভাইরাল" হিসাবে বিবেচিত হয়; আপনি যদি সেই লাইব্রেরিগুলি ব্যবহার করেন, তাহলে আপনাকে অবশ্যই আপনার অ্যাপ্লিকেশন বা লাইব্রেরিতে একই লাইসেন্স প্রয়োগ করতে হবে।

লাইসেন্স যেকোনো রিলিজের সাথে পরিবর্তন হতে পারে। আপনি যখনই আপগ্রেড করবেন, আপনার যাচাই করা উচিত যে আপনি যে নির্ভরতাগুলি ব্যবহার করছেন তা আপনার অ্যাপ্লিকেশন বা লাইব্রেরির সাথে একটি সামঞ্জস্যপূর্ণ উপায়ে লাইসেন্সকৃত৷

লাইসেন্স রিপোর্ট করুন

গ্রেডল লাইসেন্স রিপোর্ট প্লাগইন আপনার সমস্ত নির্ভরতার লাইসেন্স রিপোর্ট করার মাধ্যমে সাহায্য করে। আপনি যখন কোনো নির্ভরতা আপগ্রেড করবেন তখন এই প্রতিবেদনটি পরীক্ষা করতে ভুলবেন না। লাইসেন্সগুলি আপনার প্রয়োজনীয়তার সাথে সামঞ্জস্যপূর্ণ কিনা তা যাচাই করুন এবং নিশ্চিত করুন যে আপনি তাদের প্রয়োজনীয় শর্তাবলী পূরণ করছেন।

লাইসেন্স নোটিশ তৈরি করুন

লাইসেন্সিং শর্তাবলীর জন্য প্রায়ই একটি বিজ্ঞপ্তির প্রয়োজন হয় যা একটি অ্যাপ্লিকেশনের ব্যবহারকারী বা লাইব্রেরির গ্রাহকরা অ্যাক্সেস করতে পারেন। প্লে সার্ভিসেস ওএসএস লাইসেন্স প্লাগইন এবং গ্রেডল লাইসেন্স প্লাগইন লাইসেন্স তথ্য প্রদর্শনের জন্য ডেটা এবং ক্রিয়াকলাপ তৈরি করে। (মনে রাখবেন যে আপনি আপনার অ্যাপ্লিকেশন UI এর উপর ভিত্তি করে ডেটা প্রদর্শনের জন্য আপনার নিজস্ব উপায় তৈরি করতে চাইতে পারেন)।

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