Apache Ant একটি শক্তিশালী বিল্ড টুল যা সফটওয়্যার ডেভেলপমেন্টে বিল্ড অটোমেশন প্রক্রিয়াকে সহজ করে তোলে। Resource Handling Tasks টাস্কগুলি বিশেষভাবে সোর্স কোড, রিসোর্স ফাইল, এবং অন্যান্য ফাইল সিস্টেমের উপাদান পরিচালনা করতে ব্যবহৃত হয়। এই টাস্কগুলির মাধ্যমে আপনি ফাইল কপি, মুভ, রিপ্লেস, এবং ফাইলের কনটেন্ট পরিবর্তন করতে পারেন, যা সফটওয়্যার ডেভেলপমেন্ট প্রক্রিয়াকে আরো কার্যকর এবং নমনীয় করে তোলে।
এই নিবন্ধে আমরা Resource Handling Tasks নিয়ে আলোচনা করবো, যা resource files, directories, এবং other assets এর পরিচালনা করতে ব্যবহৃত হয়।
copy
টাস্কটি ফাইল বা ডিরেক্টরি কপি করতে ব্যবহৃত হয়। এটি নির্দিষ্ট সোর্স ফাইল বা ডিরেক্টরি থেকে একটি টার্গেট ডিরেক্টরিতে কপি করে।
<copy file="src/resources/config.xml" todir="build/resources"/>
এটি src/resources/config.xml
ফাইলটিকে build/resources
ডিরেক্টরিতে কপি করবে।
<copy todir="build/resources">
<fileset dir="src/resources"/>
</copy>
এটি src/resources
ডিরেক্টরি থেকে সমস্ত ফাইল কপি করবে এবং build/resources
ডিরেক্টরিতে রাখবে।
file
: কপি করার জন্য সোর্স ফাইলের পাথ।todir
: কপি করার জন্য গন্তব্য ডিরেক্টরি।move
টাস্কটি ফাইল বা ডিরেক্টরি একটি স্থান থেকে অন্য স্থানে সরাতে ব্যবহৃত হয়।
<move file="src/resources/config.xml" tofile="build/resources/config.xml"/>
এটি src/resources/config.xml
ফাইলটিকে build/resources/config.xml
এ সরিয়ে নেবে।
<move dir="src/resources" todir="build/resources"/>
এটি src/resources
ডিরেক্টরিটি build/resources
ডিরেক্টরিতে সরিয়ে নেবে।
file
: সোর্স ফাইল যা সরানো হবে।todir
: গন্তব্য ডিরেক্টরি যেখানে ফাইল সরানো হবে।delete
টাস্কটি ফাইল বা ডিরেক্টরি মুছে ফেলতে ব্যবহৃত হয়।
<delete file="build/classes/oldclass.class"/>
এটি build/classes/oldclass.class
ফাইলটি মুছে ফেলবে।
<delete dir="build/classes"/>
এটি build/classes
ডিরেক্টরি এবং তার সমস্ত কনটেন্ট মুছে ফেলবে।
file
: মুছে ফেলার জন্য ফাইলের পাথ।dir
: মুছে ফেলার জন্য ডিরেক্টরি।replace
টাস্কটি একটি ফাইলের মধ্যে টোকেন বা পরিবর্তনশীল মান প্রতিস্থাপন করতে ব্যবহৃত হয়।
<replace file="build/config.xml" token="version" value="2.0"/>
এটি build/config.xml
ফাইলের মধ্যে version
টোকেনের মান 2.0
দিয়ে প্রতিস্থাপন করবে।
file
: যেখানে প্রতিস্থাপন করা হবে সেই ফাইলের পাথ।token
: যে টোকেনটি প্রতিস্থাপন করতে হবে।value
: প্রতিস্থাপিত মান।filter
টাস্কটি একটি ফাইলের মধ্যে নির্দিষ্ট টোকেন বা ভ্যালু প্রতিস্থাপন করতে ব্যবহৃত হয়, তবে এটি প্রপার্টির মান ব্যবহার করে।
<filter token="version" value="${project.version}" />
<replace file="build/config.xml" token="${version}" value="${project.version}"/>
এটি build/config.xml
ফাইলে ${version}
টোকেনকে ${project.version}
এর মান দিয়ে প্রতিস্থাপন করবে।
token
: প্রতিস্থাপন করার জন্য টোকেন।value
: প্রতিস্থাপন করার জন্য মান, যা একটি প্রপার্টি বা কাস্টম মান হতে পারে।unzip
টাস্কটি একটি ZIP ফাইল এক্সট্র্যাক্ট করতে ব্যবহৃত হয়। এটি ZIP ফাইলের কনটেন্ট একটি নির্দিষ্ট ডিরেক্টরিতে আনপ্যাক করতে সাহায্য করে।
<unzip src="dist/project.zip" dest="build/resources"/>
এটি dist/project.zip
ফাইলটি build/resources
ডিরেক্টরিতে এক্সট্র্যাক্ট করবে।
src
: ZIP ফাইলের পাথ।dest
: এক্সট্র্যাক্ট করা ফাইলগুলি যেখানে রাখা হবে।zip
টাস্কটি একটি ZIP আর্কাইভ তৈরি করতে ব্যবহৃত হয়। এটি একাধিক ফাইল বা ডিরেক্টরি নিয়ে একটি ZIP ফাইল তৈরি করে।
<zip destfile="dist/project.zip" basedir="build/classes"/>
এটি build/classes
ডিরেক্টরি থেকে সমস্ত ফাইল নিয়ে একটি ZIP ফাইল তৈরি করবে এবং সেটি dist/project.zip
নামে সংরক্ষণ করবে।
destfile
: তৈরি করা ZIP ফাইলের পাথ।basedir
: ZIP ফাইলে অন্তর্ভুক্ত করতে যে ডিরেক্টরি বা ফাইলগুলি আছে।fileset
টাস্কটি একটি নির্দিষ্ট প্যাটার্ন অনুযায়ী ফাইল নির্বাচন করতে ব্যবহৃত হয়। এটি কপি বা অন্য কাজের জন্য ফাইল বা ডিরেক্টরি নির্বাচন করতে সহায়তা করে।
<fileset dir="src" includes="**/*.java"/>
এটি src
ডিরেক্টরি থেকে সমস্ত .java
ফাইল নির্বাচন করবে।
dir
: ফাইল বা ডিরেক্টরি যেখানে নির্বাচন করা হবে।includes
: ফাইল বা ডিরেক্টরি নির্বাচন করার জন্য প্যাটার্ন।concat
টাস্কটি একাধিক ফাইলকে একত্রিত করে একটি নতুন ফাইল তৈরি করতে ব্যবহৃত হয়। এটি অনেক ফাইলের কনটেন্টকে একসাথে যোগ করতে সহায়তা করে।
<concat destfile="build/merged.txt">
<fileset dir="src" includes="*.txt"/>
</concat>
এটি src
ডিরেক্টরি থেকে সমস্ত .txt
ফাইল একত্রিত করবে এবং build/merged.txt
ফাইলে সেভ করবে।
destfile
: যেখানে ফাইলগুলি একত্রিত হয়ে সেভ হবে।fileset
: ফাইলগুলি নির্বাচন করার জন্য প্যাটার্ন।Apache Ant Resource Handling Tasks সফটওয়্যার ডেভেলপমেন্ট প্রক্রিয়ায় বিভিন্ন ধরনের ফাইল, ডিরেক্টরি এবং রিসোর্স ফাইলের কার্যকরী পরিচালনা করতে সহায়তা করে। copy
, move
, delete
, replace
, zip
, এবং unzip
এর মতো টাস্কগুলি ফাইল কপি, মুভ, রিপ্লেস, এক্সট্র্যাক্ট এবং প্যাকেজিংয়ের জন্য ব্যবহৃত হয়। এগুলি ব্যবহার করে আপনি বিল্ড প্রক্রিয়ায় ফাইল ও রিসোর্সের সাথে কাজ সহজভাবে পরিচালনা করতে পারেন, যা সফটওয়্যার ডেভেলপমেন্ট এবং ডিপ্লয়মেন্টে সময় এবং শ্রম বাঁচায়।
Apache Ant-এ <loadresource>
টাস্কটি ব্যবহার করা হয় external resources লোড করার জন্য, যেমন ফাইল, প্রপার্টি, বা অন্যান্য রিসোর্স যা আপনার Ant স্ক্রিপ্টের মধ্যে ব্যবহৃত হতে পারে। এটি আপনাকে বাইরের ফাইল বা রিসোর্স থেকে তথ্য লোড করার সুযোগ দেয়, যা পরবর্তী টাস্কে ব্যবহার করা যেতে পারে।
<loadresource>
টাস্কটি সাধারণত ফাইল থেকে প্রপার্টি বা কনফিগারেশন সেটিংস লোড করার জন্য ব্যবহৃত হয়, যেমন একটি XML, Properties, অথবা JSON ফাইল। এই টাস্কটির মাধ্যমে আপনি ফাইলের মধ্যে সংরক্ষিত ডেটাকে Ant স্ক্রিপ্টে ইনক্লুড বা রিড করতে পারেন।
<loadresource property="property_name" src="file_path" />
এটি একটি মৌলিক উদাহরণ যেখানে properties ফাইল থেকে প্রপার্টি লোড করা হচ্ছে এবং পরে সেই প্রপার্টি ব্যবহার করা হচ্ছে।
config.properties
project.name=MyProject
version=1.0.0
<project name="LoadResourceExample" default="showProperty" basedir=".">
<!-- Load properties from external file -->
<target name="loadProperties">
<loadresource property="project.config" src="config.properties"/>
</target>
<target name="showProperty" depends="loadProperties">
<echo message="Project Name: ${project.name}" />
<echo message="Version: ${version}" />
</target>
</project>
এখানে:
<loadresource>
টাস্কটি config.properties
ফাইল থেকে project.name
এবং version
প্রপার্টি লোড করবে।${project.name}
এবং ${version}
টাস্কে প্রিন্ট হবে।Project Name: MyProject
Version: 1.0.0
<loadresource>
টাস্কটি XML ফাইল থেকেও ডেটা লোড করতে পারে। আপনি XPath কুয়েরি ব্যবহার করে XML ফাইলের নির্দিষ্ট নোডের মানও লোড করতে পারেন।
config.xml
<config>
<project>
<name>MyProject</name>
<version>1.0.0</version>
</project>
</config>
<project name="LoadXMLResourceExample" default="showXMLProperty" basedir=".">
<!-- Load XML values -->
<target name="loadXML">
<loadresource property="xml.project.name" src="config.xml">
<xpath expression="/config/project/name" result="project.name"/>
<xpath expression="/config/project/version" result="version"/>
</loadresource>
</target>
<target name="showXMLProperty" depends="loadXML">
<echo message="Project Name: ${project.name}" />
<echo message="Version: ${version}" />
</target>
</project>
এখানে:
<xpath>
টাস্কটি ব্যবহার করে XML ফাইলের নির্দিষ্ট নোডগুলোর মান লোড করা হচ্ছে:/config/project/name
: প্রকল্পের নাম লোড করছে।/config/project/version
: প্রকল্পের সংস্করণ লোড করছে।Project Name: MyProject
Version: 1.0.0
<loadresource>
টাস্কটি JSON ফাইল থেকেও ডেটা লোড করতে পারে। যদিও Ant JSON ফাইল সরাসরি প্রক্রিয়া করার জন্য বিশেষ কোনো টাস্ক সরবরাহ করে না, তবে আপনি <loadresource>
টাস্কের মাধ্যমে JSON ফাইলের ডেটা লোড করতে পারেন এবং JavaScript বা Java দিয়ে প্রক্রিয়া করতে পারেন।
config.json
{
"project": {
"name": "MyProject",
"version": "1.0.0"
}
}
JSON.simple
or custom script)<project name="LoadJSONResourceExample" default="showJSONProperty" basedir=".">
<!-- Load JSON values (Requires external JavaScript or Java processing) -->
<target name="loadJSON">
<echo message="Loading JSON values is not directly supported by Ant. Consider using external libraries or custom Java/JS scripts." />
</target>
<target name="showJSONProperty" depends="loadJSON">
<echo message="Project Name: MyProject" />
<echo message="Version: 1.0.0" />
</target>
</project>
এখানে, JSON ফাইল লোড করতে Ant-এর জন্য JavaScript বা Java কোডের প্রয়োজন হতে পারে, কারণ Ant সরাসরি JSON ফাইল পঠন সমর্থন করে না।
আপনি <loadresource>
টাস্কটি ব্যবহার করে কোন বাইরের resource ফাইল থেকে ডেটা একটি প্রপার্টি বা ভেরিয়েবলে লোড করতে পারেন। এটি অত্যন্ত কার্যকর যখন আপনি কনফিগারেশন বা সেটিংস ফাইলগুলি একটি কেন্দ্রীয় জায়গা থেকে লোড করতে চান।
<project name="LoadResourceIntoVariable" default="processResource" basedir=".">
<target name="processResource">
<!-- Load a resource into a property -->
<loadresource property="my.property" src="resource.txt" />
<echo message="Loaded resource: ${my.property}" />
</target>
</project>
এখানে:
resource.txt
ফাইল থেকে my.property
প্রপার্টি লোড করা হবে এবং সেটির মান কনসোলে প্রিন্ট হবে।Loaded resource: [content from resource.txt]
<loadresource>
টাস্কটি Apache Ant-এ বাইরের resources যেমন প্রপার্টি ফাইল, XML ফাইল, JSON ফাইল বা অন্যান্য কনফিগারেশন ফাইল লোড করার জন্য ব্যবহৃত হয়। এটি property
টাস্কের মতো কাজ করে এবং লোড করা ডেটা পরবর্তী টাস্কে ব্যবহার করা যায়। আপনি <xpath>
, <fileset>
, এবং <echo>
টাস্কের সাথে এই রিসোর্সের মান ব্যবহার করতে পারেন। এটি Ant স্ক্রিপ্টে বাহ্যিক কনফিগারেশন বা ইনফরমেশন লোড করার জন্য খুবই উপকারী।
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>
টাস্কটি মুছে ফেলার জন্য ব্যবহৃত হয় এবং এটি পুরানো বা অপ্রয়োজনীয় ফাইল/ডিরেক্টরি মুছে ফেলতে সহায়ক।এই টাস্কগুলো আপনাকে ফাইল এবং ডিরেক্টরি ম্যানেজমেন্ট, সিক্যুয়েনশিয়াল কাজের মাধ্যমে কার্যকরী বিল্ড প্রক্রিয়া তৈরি করতে সহায়তা করবে।
Apache Ant একটি শক্তিশালী বিল্ড টুল যা Java প্রজেক্টের বিল্ড, টেস্টিং, প্যাকেজিং এবং ডিপ্লয়মেন্টের জন্য ব্যবহৃত হয়। এর মধ্যে একটি গুরুত্বপূর্ণ টাস্ক হল <concat>
টাস্ক, যা বিভিন্ন ফাইলের কন্টেন্ট একত্রিত (concatenate) করতে ব্যবহৃত হয়। এটি বিশেষভাবে তখন ব্যবহৃত হয় যখন আপনাকে একাধিক ফাইলের কন্টেন্ট একত্র করে একটি নতুন ফাইলে রাখতে হয়, যেমন ফাইলের কন্টেন্ট একত্রিত করা বা স্ক্রিপ্ট এবং রিসোর্স ফাইল ম্যানেজ করা।
<concat>
টাস্কটি সাধারণত CSS, JavaScript, বা সাধারণ টেক্সট ফাইলের কন্টেন্ট একত্রিত করার জন্য ব্যবহৃত হয়, যেখানে আপনাকে একাধিক ফাইলের কন্টেন্ট একটি নির্দিষ্ট অর্ডারে একত্রিত করতে হবে।
<concat>
টাস্কটি ফাইলের কন্টেন্ট একত্রিত করতে ব্যবহৃত হয়। এটি বিভিন্ন ফাইলকে একটি ফাইলে মর্জ (merge) করতে সাহায্য করে, এবং অনেক সময় এটি ওয়েব অ্যাপ্লিকেশন বিল্ডে ব্যবহৃত হয় যেখানে JavaScript বা CSS ফাইল একত্রিত করতে হয়।
true
হয়, তবে নতুন কন্টেন্ট পুরোনো কন্টেন্টের শেষে যোগ করা হবে (অথবা ডিফল্টরূপে নতুন ফাইল তৈরি হবে)।true
হয়, তবে কন্টেন্ট কনক্যাটিনেশন প্রক্রিয়াটি বিস্তারিতভাবে প্রদর্শিত হবে।<project name="ConcatTaskExample" default="concat-files">
<target name="concat-files">
<!-- Concatenate content from multiple files into one -->
<concat file="build/combined.txt">
<fileset dir="src" includes="file1.txt, file2.txt, file3.txt"/>
</concat>
</target>
</project>
<concat>
টাস্কটি file1.txt
, file2.txt
, এবং file3.txt
ফাইলগুলোর কন্টেন্ট একত্র করে combined.txt
ফাইলে রাইট করবে।<fileset>
টাস্কটি নির্দিষ্ট ডিরেক্টরি থেকে ফাইলের লিস্ট সংগ্রহ করে এবং সেগুলি কন্টেন্ট হিসেবে একত্রিত করা হয়।আপনি যদি চান যে নতুন কন্টেন্ট পুরোনো কন্টেন্টের শেষে যোগ হোক, তবে append="true"
ব্যবহার করতে পারেন।
<project name="ConcatWithAppend" default="concat-files">
<target name="concat-files">
<!-- Concatenate content from multiple files and append to the existing file -->
<concat file="build/combined.txt" append="true">
<fileset dir="src" includes="file4.txt, file5.txt"/>
</concat>
</target>
</project>
append="true"
অ্যাট্রিবিউটটি ব্যবহার করা হয়েছে, যাতে নতুন ফাইলের কন্টেন্ট combined.txt
ফাইলে যোগ করা হয়, পুরোনো কন্টেন্টের শেষে।আপনি একাধিক উৎস থেকে ফাইল কন্টেন্ট একত্রিত করতে পারেন এবং নির্দিষ্ট ফাইল অর্ডারে সেগুলি প্রক্রিয়া করতে পারেন।
<project name="ConcatMultipleSources" default="concat-files">
<target name="concat-files">
<!-- Concatenate content from multiple directories -->
<concat file="build/combined.css">
<fileset dir="src/styles" includes="style1.css, style2.css"/>
<fileset dir="src/themes" includes="theme1.css"/>
</concat>
</target>
</project>
<fileset>
টাস্কটি দুটি আলাদা ডিরেক্টরি থেকে CSS ফাইলগুলি একত্রিত করছে এবং সেগুলির কন্টেন্ট combined.css
ফাইলে লিখছে।যদি আপনি কন্টেন্ট একত্রিত করার প্রক্রিয়া দেখতে চান, তবে verbose="true"
ব্যবহার করতে পারেন। এটি কন্টেন্ট একত্রিত করার সময় আপনাকে বিস্তারিত মেসেজ প্রদর্শন করবে।
<project name="ConcatVerbose" default="concat-files">
<target name="concat-files">
<!-- Concatenate content with verbose mode -->
<concat file="build/combined-output.txt" verbose="true">
<fileset dir="src" includes="file1.txt, file2.txt"/>
</concat>
</target>
</project>
verbose="true"
ব্যবহৃত হয়েছে, যা কন্টেন্ট একত্রিত হওয়ার সময় বিস্তারিত তথ্য প্রদর্শন করবে, যেমন কোন ফাইল কন্টেন্ট একত্রিত হচ্ছে।আপনি <property>
টাস্কের মাধ্যমে প্রপার্টি ডিফাইন করে এবং তারপর সেই প্রপার্টি থেকে ফাইল কন্টেন্ট একত্রিত করতে পারেন।
<project name="ConcatUsingProperties" default="concat-files">
<property name="file1" value="src/file1.txt"/>
<property name="file2" value="src/file2.txt"/>
<target name="concat-files">
<!-- Concatenate files using properties -->
<concat file="build/combined.txt">
<fileset dir="${file1}"/>
<fileset dir="${file2}"/>
</concat>
</target>
</project>
<property>
টাস্ক ব্যবহার করে file1
এবং file2
এর পাথ সংজ্ঞায়িত করা হয়েছে এবং <concat>
টাস্ক সেই ফাইলের কন্টেন্ট একত্রিত করছে।<concat>
TaskApache Ant এর <concat>
টাস্কটি ফাইলের কন্টেন্ট একত্রিত করতে ব্যবহৃত হয়। এটি একাধিক ফাইল থেকে কন্টেন্ট একত্রিত করে একটি নতুন ফাইলে লিখে এবং এর মাধ্যমে আপনি সহজেই একাধিক ছোট ফাইলকে একটি বড় ফাইলে মর্জ (merge) করতে পারেন। append
, verbose
, এবং path
সহ অন্যান্য অ্যাট্রিবিউট ব্যবহার করে আপনি কন্টেন্ট একত্রিত করার প্রক্রিয়াটি কাস্টমাইজ করতে পারেন। <concat>
টাস্কটি বিশেষভাবে তখন ব্যবহৃত হয় যখন আপনাকে একাধিক ছোট ফাইলের কন্টেন্ট একত্রিত করতে হয়, যেমন ওয়েব অ্যাপ্লিকেশনের CSS, JavaScript ফাইল, বা সাধারণ টেক্সট ফাইল।
common.read_more