সমস্ত প্রকল্প এবং সাব-প্রকল্পের মধ্যে পার্থক্য কী


124

একটি বহু-প্রকল্পের গ্রেড বিল্ডে, কেউ আমাকে বলতে পারবেন যে "অলপ্রজেক্টগুলি" বিভাগ এবং "সাবপ্রজেক্ট" এর মধ্যে পার্থক্যটি ঠিক কী? শুধু পিতামাতার ডিরেক্টরি? কেউ কি উভয় ব্যবহার করে? যদি তা হয়, তবে আপনার কি সাধারণ নিয়ম রয়েছে যা প্রতিটি ক্ষেত্রে সাধারণত কী রাখা হয় তা নির্ধারণ করে?

সম্পর্কিত প্রশ্ন: দুটি সিনট্যাক্সের মধ্যে পার্থক্য কী (আসলেই সমস্ত প্রকল্প এবং সাবজেক্টর জন্য):

subprojects {  ...
}

এবং

configure(subprojects) { ...
}

আপনি কখন একজনের ওপরে পারবেন?

উত্তর:


119

একটি বহু-প্রকল্পের গ্রেড বিল্ডে আপনার একটি রুটপ্রজেক্ট এবং সাব-প্রকল্প রয়েছে। উভয়ের সংমিশ্রণটি হল সমস্ত প্রকল্প pro রুটপ্রজেক্টটি যেখানে বিল্ডটি শুরু হচ্ছে। একটি সাধারণ প্যাটার্ন হ'ল মূল প্রকল্পটির কোনও কোড নেই এবং সাবপ্রজেক্টগুলি জাভা প্রকল্পগুলি। কোন ক্ষেত্রে আপনি জাভা প্লাগইনটি কেবলমাত্র সাব-প্রকল্পগুলিতে প্রয়োগ করেন:

subprojects {
    apply plugin: 'java'
} 

এটি কেবলমাত্র সাব-মডিউলগুলি তৈরি করে এমন কোনও মভেন অগ্রিগেট পম প্রকল্পের সমতুল্য।

দুটি বাক্য গঠন সম্পর্কে, তারা ঠিক একই জিনিস করে। প্রথমটি আরও ভাল দেখায়।


আমি আপনার উত্তরটি বোঝার চেষ্টা করছি এবং কেন "রুটপ্রজেক্টের কোনও কোড নেই"?
মারিয়ান প্যাডজিওচ

6
এটিতে কোড থাকতে পারে তবে বেশিরভাগ সময় এটি কেবলমাত্র একক মূল প্রকল্পের অধীনে সমস্ত উপ প্রকল্পগুলি একত্রিত করার জন্য।
মল্লাউদ্দিন

44

রায়ানের উত্তরে যুক্ত করা, configureআপনি যখন অবজেক্টের কাস্টম সাবসেটগুলি কনফিগার করতে চান তখন পদ্ধতিটি গুরুত্বপূর্ণ হয়ে ওঠে। উদাহরণস্বরূপ configure([project(":foo"), project(":bar")]) { ... }বা configure(tasks.matching { it.name.contains("foo") }) { ... }

allprojectsবনাম কখন ব্যবহার করবেন subprojectsতা পরিস্থিতির উপর নির্ভর করে। প্রায়শই আপনি উভয় ব্যবহার করবেন। উদাহরণস্বরূপ, জাভা প্লাগইনের মতো কোড সম্পর্কিত প্লাগইনগুলিতে সাধারণত প্রয়োগ করা হয় subprojects, কারণ অনেকগুলি বিল্ডে মূল প্রকল্পটিতে কোনও কোড থাকে না। অন্যদিকে Eclipse এবং IDEA প্লাগইনগুলিতে সাধারণত প্রয়োগ করা হয় allprojects। যদি সন্দেহ হয়, উদাহরণ এবং অন্যান্য বিল্ড এবং / বা পরীক্ষা দেখুন। সাধারণ লক্ষ্যটি অপ্রাসঙ্গিক কনফিগারেশন এড়ানো। সেই দিক থেকে এটি যতক্ষণ প্রত্যাশিত ফলাফল দেয় তার subprojectsচেয়ে ভাল allprojects


আমার সাব প্রকল্পগুলির কিছু যদি প্রোটোকল বাফারগুলির উপর নির্ভর করে? আমি কি প্রোটো-গ্রেডেল-প্লাগইন সকলের মধ্যে প্রয়োগ করতে পারি? বা সাব বা কেবল সাব কিছু প্রকল্পের?
ব্যবহারকারী 1870400
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.