Apache Ant একটি জনপ্রিয় ওপেন সোর্স বিল্ড টুল যা প্রধানত Java প্রজেক্টের বিল্ড, টেস্টিং এবং ডিপ্লয়মেন্টের জন্য ব্যবহৃত হয়। <subant>
টাস্কটি অ্যাপাচি অ্যান্টে ব্যবহৃত হয় একটি বিল্ড স্ক্রিপ্টের মধ্যে অন্য বিল্ড স্ক্রিপ্ট (sub-build) চালানোর জন্য। এটি একটি বিল্ড ফাইলের মধ্যে অন্য একটি বিল্ড ফাইল (যেমন সাব-বিল্ড) রেফারেন্স করার সুবিধা প্রদান করে, যা অ্যাপাচি অ্যান্টে মডুলার বিল্ড সিস্টেম তৈরি করতে সাহায্য করে।
Subant Task সাধারণত বড় এবং স্কেলেবল প্রজেক্টে ব্যবহৃত হয় যেখানে একটি মূল বিল্ড স্ক্রিপ্ট (parent build) থেকে একাধিক সাব-বিল্ড স্ক্রিপ্ট (sub-builds) চালানো হয়। এটি প্রজেক্টের বিভিন্ন অংশের জন্য আলাদা আলাদা বিল্ড ফাইল তৈরি করার সুবিধা দেয়।
<subant>
টাস্কটি একটি সাব-বিল্ড স্ক্রিপ্ট চালানোর জন্য ব্যবহৃত হয়। এই টাস্কটি আপনাকে মূল বিল্ড স্ক্রিপ্ট থেকে অন্য বিল্ড স্ক্রিপ্টের টাস্ক বা টার্গেট চালানোর সুযোগ দেয়।
true
হয়, তাহলে সাব-বিল্ডগুলি সমান্তরালে চালানো হবে (প্যারালাল প্রসেসিং)।true
হয়, তাহলে মূল বিল্ড স্ক্রিপ্টের সমস্ত প্রপার্টি এবং এন্টারপ্রাইজ কনফিগারেশন সাব-বিল্ডে ঐচ্ছিকভাবে হেরিট করবে।<project name="ParentBuild" default="parent-target">
<target name="parent-target">
<echo message="Main build process starts here..."/>
<!-- Running a sub-build -->
<subant file="sub-build.xml" target="sub-target"/>
<echo message="Main build process ends here..."/>
</target>
</project>
<subant>
টাস্কটি sub-build.xml
ফাইল থেকে sub-target
টার্গেট চালাবে।parent-target
প্রথমে চালানো হবে, তারপর sub-target
সাব-বিল্ড ফাইল থেকে চালানো হবে।sub-target
এর মধ্যে থাকা টাস্ক সম্পন্ন হওয়ার পর মূল বিল্ড স্ক্রিপ্টের বাকি অংশ চালানো হবে।<subant>
টাস্কের inheritall
অ্যাট্রিবিউট ব্যবহার করে আপনি মূল বিল্ড ফাইলের সমস্ত প্রপার্টি এবং অন্যান্য কনফিগারেশন সাব-বিল্ডে হেরিট করতে পারেন।
inheritall
<project name="ParentBuild" default="parent-target">
<!-- Property Definition in Parent Build -->
<property name="project.name" value="MyJavaApp"/>
<target name="parent-target">
<echo message="Running parent build..."/>
<!-- Running a sub-build with inherited properties -->
<subant file="sub-build.xml" target="sub-target" inheritall="true"/>
<echo message="Main build complete"/>
</target>
</project>
sub-build.xml
:
<project name="SubBuild" default="sub-target">
<target name="sub-target">
<!-- Using inherited property from parent build -->
<echo message="Sub-build for ${project.name}"/>
</target>
</project>
parent-build.xml
এ project.name
নামক একটি প্রপার্টি ডিফাইন করা হয়েছে।<subant inheritall="true"/>
ব্যবহারের মাধ্যমে সাব-বিল্ড ফাইল sub-build.xml
এই প্রপার্টি ও অন্যান্য কনফিগারেশনকে হেরিট করবে এবং ${project.name}
প্রপার্টি ব্যবহার করে সাব-বিল্ডের মধ্যে একটি মেসেজ প্রদর্শিত হবে।<subant>
টাস্কের মাধ্যমে আপনি একাধিক সাব-বিল্ড চালাতে পারেন, এবং যদি parallel="true"
অ্যাট্রিবিউট ব্যবহার করেন, তাহলে একাধিক সাব-বিল্ড সমান্তরালে (প্যারালাল) চালানো হবে।
<project name="ParentBuild" default="parent-target">
<target name="parent-target">
<echo message="Running parent build..."/>
<!-- Running multiple sub-builds in parallel -->
<subant file="sub-build1.xml" target="sub-target" parallel="true"/>
<subant file="sub-build2.xml" target="sub-target" parallel="true"/>
<echo message="All sub-builds completed"/>
</target>
</project>
sub-build1.xml
এবং sub-build2.xml
সমান্তরালে (parallel) চালানো হবে।parallel="true"
অ্যাট্রিবিউট ব্যবহার করা হয়েছে, যার ফলে দুটি সাব-বিল্ড একসাথে চালানো হবে।সাব-বিল্ডগুলির মধ্যে নির্ভরতা তৈরি করতে পারেন, অর্থাৎ একটি সাব-বিল্ডের সম্পন্ন হওয়ার পর অন্য একটি চালানোর জন্য নির্ধারণ করা যেতে পারে।
<project name="ParentBuild" default="parent-target">
<target name="parent-target">
<echo message="Running parent build..."/>
<!-- Running sub-build 1 first -->
<subant file="sub-build1.xml" target="sub-target"/>
<!-- Running sub-build 2 after sub-build 1 completes -->
<subant file="sub-build2.xml" target="sub-target"/>
<echo message="Sub-builds completed in sequence"/>
</target>
</project>
sub-build1.xml
টাস্কটি প্রথমে চালানো হবে, এবং এর পরেই sub-build2.xml
টাস্কটি চালানো হবে।<subant>
Task<subant>
টাস্কটি অ্যাপাচি অ্যান্টে একটি অত্যন্ত কার্যকর টাস্ক যা আপনাকে মূল বিল্ড স্ক্রিপ্ট থেকে একাধিক সাব-বিল্ড ফাইল চালাতে সাহায্য করে। এটি আপনাকে বিল্ড স্ক্রিপ্টের মধ্যে মডুলার কাজ করতে এবং একাধিক সাব-বিল্ড ফাইল পুনরায় ব্যবহার করতে সক্ষম করে। parallel="true"
অ্যাট্রিবিউট ব্যবহার করে আপনি একাধিক সাব-বিল্ড সমান্তরালে চালাতে পারেন এবং inheritall
অ্যাট্রিবিউটের মাধ্যমে মূল বিল্ড স্ক্রিপ্টের প্রপার্টি ও কনফিগারেশন সাব-বিল্ডে হেরিট করতে পারেন।
common.read_more