Apache Ant একটি শক্তিশালী বিল্ড টুল, যা Java প্রোজেক্টের বিল্ড এবং রিসোর্স ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। অ্যাপাচি অ্যান্টে <copy>
, <move>
, এবং <delete>
টাস্কগুলি খুবই গুরুত্বপূর্ণ টাস্ক, যা ফাইল বা ডিরেক্টরি পরিচালনার জন্য ব্যবহৃত হয়। এই টাস্কগুলির মাধ্যমে আপনি সহজেই ফাইল কপি করা, স্থানান্তর করা, এবং মুছে ফেলার কাজ করতে পারেন, যা বিল্ড প্রক্রিয়াকে আরও কার্যকর এবং নিয়ন্ত্রিত করে তোলে।
এখানে আমরা এই টাস্কগুলির উদ্দেশ্য এবং ব্যবহার সম্পর্কে বিস্তারিত আলোচনা করব।
<copy>
Task: ফাইল কপি করাPurpose: <copy>
টাস্কের মাধ্যমে আপনি একটি ফাইল বা ডিরেক্টরি কপি করতে পারেন। এটি বিভিন্ন জায়গায় ফাইল কপি করার জন্য ব্যবহৃত হয়, যেমন সোর্স ফোল্ডার থেকে ডেস্টিনেশন ফোল্ডারে ফাইল কপি করা।
<copy file="source_file" tofile="destination_file"/>
<copy todir="destination_directory">
<fileset dir="source_directory"/>
</copy>
file
: সোর্স ফাইলের পাথ, যেটি কপি করতে হবে।tofile
: গন্তব্য ফাইলের পাথ।todir
: গন্তব্য ডিরেক্টরি, যেখানে ফাইল বা ডিরেক্টরি কপি করা হবে।overwrite
: যদি ফাইলটি ইতিমধ্যেই গন্তব্য ডিরেক্টরিতে থাকে, তবে সেটি ওভাররাইট করা হবে কি না তা নির্ধারণ করে। ডিফল্টভাবে true
।<project name="CopyExample" default="copy-files">
<target name="copy-files">
<!-- Copy a single file -->
<copy file="src/example.txt" tofile="dest/example.txt"/>
<!-- Copy all files from src folder to dest folder -->
<copy todir="dest">
<fileset dir="src"/>
</copy>
</target>
</project>
এখানে:
example.txt
ফাইল src
থেকে dest
ফোল্ডারে কপি করা হচ্ছে।src
ডিরেক্টরির সমস্ত ফাইল dest
ফোল্ডারে কপি করা হচ্ছে।includes
/excludes
: নির্দিষ্ট ফাইল বা এক্সটেনশন কপি করতে wildcards ব্যবহার করা যায়।flatten
: সাবডিরেক্টরি ছাড়া সমস্ত ফাইল গন্তব্য ডিরেক্টরিতে কপি করবে।<move>
Task: ফাইল স্থানান্তর (Move)Purpose: <move>
টাস্কের মাধ্যমে একটি ফাইল বা ডিরেক্টরি এক স্থান থেকে অন্য স্থানে স্থানান্তর করতে পারেন। এটি কপি করার পর পুরানো ফাইল মুছে ফেলার মতো কাজ করে।
<move file="source_file" tofile="destination_file"/>
<move todir="destination_directory">
<fileset dir="source_directory"/>
</move>
file
: সোর্স ফাইল, যেটি স্থানান্তর করতে হবে।tofile
: গন্তব্য ফাইল।todir
: গন্তব্য ডিরেক্টরি, যেখানে ফাইল বা ডিরেক্টরি স্থানান্তর করা হবে।<project name="MoveExample" default="move-files">
<target name="move-files">
<!-- Move a single file -->
<move file="src/example.txt" tofile="dest/example.txt"/>
<!-- Move all files from src folder to dest folder -->
<move todir="dest">
<fileset dir="src"/>
</move>
</target>
</project>
এখানে:
example.txt
ফাইল src
থেকে dest
ফোল্ডারে স্থানান্তরিত হচ্ছে।src
ডিরেক্টরির সমস্ত ফাইল dest
ফোল্ডারে স্থানান্তরিত হচ্ছে।overwrite
: গন্তব্যে একই নামের ফাইল থাকলে সেটি ওভাররাইট হবে কি না তা নির্ধারণ করা যায়।flatten
: ফাইলগুলোকে সাবডিরেক্টরি ছাড়া গন্তব্য ডিরেক্টরিতে সরিয়ে নেওয়া যাবে।<delete>
Task: ফাইল বা ডিরেক্টরি মুছে ফেলাPurpose: <delete>
টাস্কের মাধ্যমে আপনি একটি ফাইল বা ডিরেক্টরি মুছে ফেলতে পারেন। এটি সাধারণত পুরানো বা অপ্রয়োজনীয় ফাইল বা ডিরেক্টরি মুছে ফেলার জন্য ব্যবহৃত হয়।
<delete file="file_to_delete"/>
<delete dir="dir_to_delete"/>
file
: মুছে ফেলার জন্য ফাইল।dir
: মুছে ফেলার জন্য ডিরেক্টরি।includeemptydirs
: যদি সত্য হয়, তবে খালি ডিরেক্টরিগুলি মুছে ফেলা হবে।<project name="DeleteExample" default="delete-files">
<target name="delete-files">
<!-- Delete a single file -->
<delete file="dest/example.txt"/>
<!-- Delete a directory -->
<delete dir="old_build"/>
</target>
</project>
এখানে:
example.txt
ফাইলটি dest
ডিরেক্টরি থেকে মুছে ফেলা হবে।old_build
ডিরেক্টরিটি মুছে ফেলা হবে।quiet
: যদি সত্য হয়, তবে delete
টাস্কটি সাইলেন্ট মোডে কাজ করবে, অর্থাৎ কোনো আউটপুট প্রিন্ট করবে না।failonerror
: যদি delete
টাস্ক কোনো কারণে ব্যর্থ হয়, তবে এটি একটি ত্রুটি তৈরি করবে। ডিফল্টভাবে এটি true
হয়।Copy
, Move
, and Delete
Tasks*
, **
, ?
) ব্যবহার করে আপনি ফাইল ফিল্টারিং করতে পারেন। এটি আপনাকে নির্দিষ্ট ফাইল বা এক্সটেনশন কপি/মুভ/Delete করার জন্য সহায়তা করবে।<copy>
টাস্কের মাধ্যমে ফাইলগুলো অন্যত্র কপি করে সেগুলি ব্যাকআপ রাখতে পারেন।flatten
অ্যাট্রিবিউট ব্যবহার করতে পারেন, যাতে ফাইলগুলো গন্তব্য ডিরেক্টরিতে সাবডিরেক্টরি ছাড়া সরানো হয়।<delete>
টাস্ক ব্যবহার করে অস্থায়ী ফাইল বা ডিরেক্টরি পরিষ্কার রাখুন যাতে স্টোরেজ অপটিমাইজড থাকে।<copy>
, <move>
, বা <delete>
টাস্কের মধ্যে if
এবং unless
অ্যাট্রিবিউট ব্যবহার করে শর্তসাপেক্ষভাবে কাজগুলো চালান।<copy>
টাস্ক ব্যবহার করে আপনি একটি ফাইল বা ডিরেক্টরি কপি করতে পারেন, যা অনেকটা ব্যাকআপ বা ফাইল ডিস্ট্রিবিউশনের জন্য ব্যবহৃত হয়।<move>
টাস্ক ফাইল বা ডিরেক্টরি এক স্থান থেকে অন্য স্থানে স্থানান্তর করতে ব্যবহৃত হয়।<delete>
টাস্কটি মুছে ফেলার জন্য ব্যবহৃত হয় এবং এটি পুরানো বা অপ্রয়োজনীয় ফাইল/ডিরেক্টরি মুছে ফেলতে সহায়ক।এই টাস্কগুলো আপনাকে ফাইল এবং ডিরেক্টরি ম্যানেজমেন্ট, সিক্যুয়েনশিয়াল কাজের মাধ্যমে কার্যকরী বিল্ড প্রক্রিয়া তৈরি করতে সহায়তা করবে।
common.read_more