Apache Ant-এ <fileset>
টাস্কটি এমন একটি গুরুত্বপূর্ণ টাস্ক যা আপনাকে ফাইল বা ডিরেক্টরি নির্বাচন করতে সহায়তা করে। Fileset টাস্কটি File বা Directory নির্বাচন করার জন্য ব্যবহৃত হয় এবং এই ফাইলগুলোর উপর বিভিন্ন কাজ (যেমন কপি, ডিলিট, বা অ্যাকশন) করার জন্য এটি খুব কার্যকরী।
<fileset>
টাস্কটি সাধারণত srcdir, includes, excludes ইত্যাদি অ্যাট্রিবিউট ব্যবহার করে কনফিগার করা হয়, যাতে আপনি প্রয়োজনীয় ফাইল বা ডিরেক্টরি নির্বাচন করতে পারেন। এটি ফাইলের পাথ বা প্যাটার্ন নির্ধারণ করে দিয়ে সেই অনুযায়ী কাজ করতে সক্ষম হয়।
<fileset dir="directory_path">
<include name="file_pattern"/>
<exclude name="exclude_pattern"/>
</fileset>
এখানে:
এটি একটি সাধারণ উদাহরণ যেখানে একটি নির্দিষ্ট ডিরেক্টরি থেকে সব .java
ফাইল নির্বাচন করা হবে:
<project name="FilesetExample" default="copyFiles" basedir=".">
<target name="copyFiles">
<fileset dir="src">
<include name="**/*.java" />
</fileset>
</target>
</project>
এখানে:
src
ডিরেক্টরির মধ্যে ফাইল খুঁজবে।.java
ফাইল নির্বাচন করবে।এই স্ক্রিপ্টটি চালানোর সময়, src
ডিরেক্টরি থেকে সব .java
ফাইল নির্বাচিত হবে এবং আপনি পরবর্তী টাস্কে এগুলো ব্যবহার করতে পারবেন (যেমন কপি বা কম্পাইল করতে)।
এটি একটি উদাহরণ যেখানে ফাইল প্যাটার্ন ব্যবহার করে কিছু ফাইল ইনক্লুড করা এবং কিছু বাদ দেওয়া হবে:
<project name="FilesetExample" default="copyFiles" basedir=".">
<target name="copyFiles">
<fileset dir="src">
<include name="**/*.java" />
<exclude name="**/Test*.java" />
</fileset>
</target>
</project>
এখানে:
.java
ফাইল নির্বাচন করবে।Test
দিয়ে শুরু হওয়া .java
ফাইলগুলো বাদ দেবে।এই স্ক্রিপ্টটি src
ডিরেক্টরির সমস্ত .java
ফাইল নির্বাচন করবে, তবে Test
দিয়ে শুরু হওয়া .java
ফাইলগুলো বাদ দেওয়া হবে।
আপনি যদি একাধিক ডিরেক্টরি থেকে ফাইল নির্বাচন করতে চান, তবে fileset টাস্কটি ব্যবহার করে এটি করতে পারেন।
<project name="FilesetMultipleDirs" default="copyFiles" basedir=".">
<target name="copyFiles">
<fileset dir="src">
<include name="**/*.java" />
</fileset>
<fileset dir="lib">
<include name="**/*.jar" />
</fileset>
</target>
</project>
এখানে:
src
ডিরেক্টরি থেকে সব .java
ফাইল নির্বাচন করবে।lib
ডিরেক্টরি থেকে সব .jar
ফাইল নির্বাচন করবে।এই স্ক্রিপ্টটি src
এবং lib
ডিরেক্টরি থেকে নির্দিষ্ট ফাইল নির্বাচন করবে এবং পরবর্তী টাস্কে সেগুলো ব্যবহার করতে পারবে।
Fileset টাস্কটি অন্যান্য Ant টাস্কগুলির সাথে একত্রে ব্যবহার করা যায়, যেমন , , বা টাস্কগুলির মধ্যে।
<project name="FilesetExample" default="copyFiles" basedir=".">
<target name="copyFiles">
<copy todir="build">
<fileset dir="src">
<include name="**/*.java" />
</fileset>
</copy>
</target>
</project>
এখানে:
src
ডিরেক্টরি থেকে সব .java
ফাইল build ডিরেক্টরিতে কপি করবে।এই স্ক্রিপ্টটি src
ডিরেক্টরি থেকে সব .java
ফাইল কপি করে build ডিরেক্টরিতে রাখবে।
একটি ফাইল প্যাটার্নের সাথে multiple includes এবং excludes ব্যবহার করা যেতে পারে, যেমন:
<project name="FilesetMultiplePatterns" default="copyFiles" basedir=".">
<target name="copyFiles">
<copy todir="build">
<fileset dir="src">
<include name="**/*.java" />
<include name="**/*.xml" />
<exclude name="**/*Test*.java" />
</fileset>
</copy>
</target>
</project>
এখানে:
.java
এবং .xml
ফাইল নির্বাচন করছে।*Test*.java
ফাইল বাদ দিচ্ছে।এই স্ক্রিপ্টটি src
ডিরেক্টরি থেকে সব .java
এবং .xml
ফাইল কপি করবে, তবে Test
দিয়ে শুরু হওয়া .java
ফাইলগুলো বাদ দেবে।
আপনি fileset টাস্কটি archive (যেমন zip বা tar) টাস্কের সাথে ব্যবহার করে ফাইলগুলিকে আর্কাইভ করতে পারেন।
<project name="FilesetArchiveExample" default="createArchive" basedir=".">
<target name="createArchive">
<zip destfile="build/archive.zip">
<fileset dir="src">
<include name="**/*.java" />
<exclude name="**/*Test*.java" />
</fileset>
</zip>
</target>
</project>
এখানে:
src
ডিরেক্টরি থেকে নির্বাচিত .java
ফাইলগুলো জিপ আর্কাইভে যোগ করবে, তবে Test
দিয়ে শুরু হওয়া ফাইলগুলো বাদ যাবে।<fileset>
টাস্কটি Apache Ant-এ ফাইল বা ডিরেক্টরি নির্বাচন করার জন্য ব্যবহৃত হয় এবং এটি বিভিন্ন কাজে সাহায্য করে যেমন:
Fileset টাস্কের মাধ্যমে আপনি include, exclude, এবং dir অ্যাট্রিবিউটের মাধ্যমে ফাইল বা ডিরেক্টরি নির্বাচন করতে পারেন, যা আপনার বিল্ড প্রক্রিয়াকে আরও অটোমেটেড এবং কার্যকরী করে তোলে।
common.read_more