অ্যাপাচি আইভি (Apache Ivy) একটি ডিপেনডেন্সি ম্যানেজমেন্ট টুল, যা ডিপেনডেন্সি রেজল্যুশন এবং ম্যানেজমেন্টকে সহজ করে তোলে। Module ID এবং Publications হল অ্যাপাচি আইভি’র দুটি গুরুত্বপূর্ণ ধারণা যা মডিউল এবং ডিপেনডেন্সি সম্পর্কিত তথ্য নির্ধারণ করে।
Module ID আইভির মধ্যে একটি মডিউল বা লাইব্রেরি নির্ধারণ করতে ব্যবহৃত হয়। এটি মূলত তিনটি অংশে বিভক্ত:
এটি মূলত একটি মডিউলকে ইউনিকভাবে চিহ্নিত করতে ব্যবহৃত হয় এবং ডিপেনডেন্সি রেজল্যুশনের জন্য আইভি এই তথ্য ব্যবহার করে ডিপেনডেন্সি খুঁজে বের করে।
ধরা যাক, আপনার প্রোজেক্টে একটি মডিউল রয়েছে যার নাম library
এবং এটি com.example
প্রতিষ্ঠানের অন্তর্গত, সংস্করণ 1.0
:
<ivy-module version="2.0">
<info organisation="com.example" module="library"/>
<dependencies>
<dependency org="com.example" name="library" rev="1.0"/>
</dependencies>
</ivy-module>
এখানে:
com.example
(প্রতিষ্ঠানের নাম)library
(মডিউল বা লাইব্রেরির নাম)1.0
(মডিউল বা লাইব্রেরির সংস্করণ)এই Module ID আইভি-কে জানাতে সাহায্য করে কোন লাইব্রেরি বা মডিউল ব্যবহার করা হচ্ছে।
Publications হল আইভি মডিউল বা লাইব্রেরি প্রকাশের তথ্য যা জানায় কিভাবে একটি মডিউল ব্যবহারকারীকে সরবরাহ করা হবে। সাধারণত, Publications আইভি রেপোজিটরিতে (লোকাল বা রিমোট) প্রকাশিত মডিউলের আর্কাইভ ফাইলগুলির জন্য ব্যবহৃত হয়।
প্রচলিত প্রকাশের ধরনগুলি হল:
আইভি সাধারণত ivy.xml
ফাইলের মধ্যে মডিউল সম্পর্কিত ডিপেনডেন্সি, আর্কাইভ প্যাটার্ন, এবং প্রকাশের তথ্য সংরক্ষণ করে।
<ivy-module version="2.0">
<info organisation="com.example" module="library" revision="1.0"/>
<publications>
<artifact name="library" type="jar" ext="jar"/>
<artifact name="library-sources" type="jar" ext="jar" classifier="sources"/>
<artifact name="library-javadoc" type="jar" ext="jar" classifier="javadoc"/>
</publications>
</ivy-module>
এখানে:
library
: মডিউলটি একটি jar
আর্কাইভ ফাইল হিসেবে প্রকাশিত হবে।library-sources
: মডিউলটির সোর্স কোড sources
ক্লাসিফায়ারসহ একটি jar
ফাইল হিসেবে প্রকাশিত হবে।library-javadoc
: মডিউলটির javadoc
ডকুমেন্টেশন একটি jar
ফাইল হিসেবে প্রকাশিত হবে।Module ID এবং Publications এর সঠিক ব্যবহারের মাধ্যমে অ্যাপাচি আইভি ডিপেনডেন্সি ম্যানেজমেন্ট এবং রেজল্যুশন প্রক্রিয়াটি কার্যকরী এবং সুবিধাজনক হয়ে ওঠে। এগুলি ব্যবহার করে আপনি:
type
: প্রকাশের ধরন (যেমন jar
, war
, pom
, ইত্যাদি)।ext
: ফাইল এক্সটেনশন (যেমন .jar
, .tar
, ইত্যাদি)।classifier
: কোনো অতিরিক্ত প্রকাশের ধরনের জন্য (যেমন সোর্স বা জাভাডক)। উদাহরণ: sources
, javadoc
।<ivy-module version="2.0">
<info organisation="com.example" module="library" revision="1.0"/>
<publications>
<artifact name="library" type="jar" ext="jar"/>
<artifact name="library" type="pom" ext="pom"/>
<artifact name="library-sources" type="jar" ext="jar" classifier="sources"/>
</publications>
</ivy-module>
এখানে:
jar
এবং pom
ফাইল আকারে প্রকাশিত হবে।sources
ক্লাসিফায়ার দিয়ে আলাদা করা হয়েছে।jar
, pom
, সোর্স কোড, জাভাডক)।common.read_more