অ্যাপাচি আইভি (Apache Ivy) একটি শক্তিশালী ডিপেনডেন্সি ম্যানেজমেন্ট টুল যা জাভা প্রোজেক্টগুলোর জন্য ব্যবহৃত হয়। Ivy Task ব্যবহার করে আপনি খুব সহজেই প্রোজেক্টের জন্য প্রয়োজনীয় ডিপেনডেন্সি গুলি রিট্রিভ (retrieve) করতে পারেন। এই টাস্কটি ব্যবহার করে আপনি আইভির মাধ্যমে নির্দিষ্ট রেপোজিটরি থেকে ডিপেনডেন্সি গুলি ডাউনলোড এবং লোকাল ক্যাশে সংরক্ষণ করতে পারবেন।
Ivy Task হল অ্যাপাচি আইভির একটি বিল্ট-ইন টাস্ক যা ডিপেনডেন্সি রিট্রিভ করার জন্য ব্যবহৃত হয়। এটি সাধারণত অ্যাপাচি অ্যান্ট (Apache Ant) বিল্ড টুলের সাথে ব্যবহৃত হয় এবং এটি ডিপেনডেন্সি গুলো নির্দিষ্ট রেপোজিটরি থেকে ডাউনলোড করে প্রোজেক্টের বিল্ড ডিরেক্টরিতে সংগ্রহ করে।
<target name="retrieve-dependencies">
<ivy:retrieve/>
</target>
এখানে, <ivy:retrieve/>
টাস্কটি ডিপেনডেন্সি গুলো নির্দিষ্ট কনফিগারেশন অনুসারে রিট্রিভ করবে।
আইভির ডিপেনডেন্সি রিট্রিভ করতে প্রথমে আপনাকে ivy.xml ফাইল তৈরি করতে হবে, যেখানে আপনি প্রোজেক্টের ডিপেনডেন্সি গুলি উল্লেখ করবেন। উদাহরণস্বরূপ:
<ivy-module version="2.0">
<info organisation="com.example" module="myproject"/>
<dependencies>
<dependency org="org.springframework" name="spring-core" rev="5.2.8.RELEASE"/>
<dependency org="com.google.guava" name="guava" rev="30.0-jre"/>
</dependencies>
</ivy-module>
এখানে, org.springframework
এবং com.google.guava
এর ডিপেনডেন্সি গুলি উল্লেখ করা হয়েছে।
আপনাকে ivysettings.xml ফাইলেও রেপোজিটরি এবং ক্যাশ কনফিগারেশন নির্ধারণ করতে হবে:
<ivysettings>
<repositories>
<repository name="central" url="https://repo1.maven.org/maven2"/>
</repositories>
<cache name="default-cache" path="${user.home}/.ivy2/cache"/>
</ivysettings>
এখানে, https://repo1.maven.org/maven2
URL থেকে ডিপেনডেন্সি সংগ্রহ করা হবে এবং ক্যাশ ডিরেক্টরি হিসেবে ~/.ivy2/cache
ব্যবহার করা হবে।
<target name="retrieve-dependencies">
<ivy:retrieve/>
</target>
এটি ivy.xml ফাইলের ডিপেনডেন্সি গুলি রিট্রিভ করবে এবং এগুলিকে লোকাল ক্যাশে এবং বিল্ড ডিরেক্টরিতে সংরক্ষণ করবে।
আপনি যদি ডিপেনডেন্সির ফাইলগুলো কোন নির্দিষ্ট ডিরেক্টরিতে রাখতে চান, তাহলে retrieve
টাস্কে pattern
অ্যাট্রিবিউট ব্যবহার করে প্যাটার্ন কাস্টমাইজ করতে পারেন:
<target name="retrieve-dependencies">
<ivy:retrieve pattern="libs/[artifact]-[revision](-[classifier]).[ext]"/>
</target>
এখানে, ডিপেনডেন্সির আর্কাইভ ফাইলগুলি libs/
ডিরেক্টরিতে [artifact]-[revision]
প্যাটার্ন অনুসারে রিট্রিভ হবে।
আপনি যদি শুধুমাত্র নির্দিষ্ট একটি ডিপেনডেন্সি রিট্রিভ করতে চান, তবে retrieve
টাস্কে only
অ্যাট্রিবিউট ব্যবহার করতে পারেন:
<target name="retrieve-single-dependency">
<ivy:retrieve only="org.springframework:spring-core"/>
</target>
এটি শুধুমাত্র spring-core
ডিপেনডেন্সি রিট্রিভ করবে।
override: যদি আপনার লোকাল ক্যাশে একই ডিপেনডেন্সি পূর্বে ডাউনলোড হয়ে থাকে, এবং আপনি সেটি আবার ডাউনলোড করতে চান, তবে override
অ্যাট্রিবিউট ব্যবহার করে আপনি এটি নির্ধারণ করতে পারবেন। উদাহরণ:
<ivy:retrieve override="true"/>
confs: ডিপেনডেন্সি রিট্রিভ করার জন্য আপনি নির্দিষ্ট কনফিগারেশন চিহ্নিত করতে পারেন, যেমন compile
, runtime
, test
ইত্যাদি।
<ivy:retrieve conf="compile"/>
useOrigin: এটি মূল ডিপেনডেন্সির ফাইলের নাম ব্যবহার করতে পারে:
<ivy:retrieve useOrigin="true"/>
Ivy Task ডিপেনডেন্সি ম্যানেজমেন্ট প্রক্রিয়াকে সহজ এবং দ্রুত করতে সাহায্য করে, এবং এটি অ্যাপাচি অ্যান্টের সাথে একত্রে ব্যবহৃত হলে প্রোজেক্ট বিল্ডিং এবং ডিপেনডেন্সি রিট্রিভালের জন্য একটি শক্তিশালী টুল হয়ে ওঠে।
common.read_more