Fileset Task: ফাইল বা ডিরেক্টরি নির্বাচন করা

Java Technologies - অ্যাপাচি অ্যান্ট টাস্কস (Apache ANT Tasks) File এবং Directory Management Tasks |
138
138

Apache Ant-এ <fileset> টাস্কটি এমন একটি গুরুত্বপূর্ণ টাস্ক যা আপনাকে ফাইল বা ডিরেক্টরি নির্বাচন করতে সহায়তা করে। Fileset টাস্কটি File বা Directory নির্বাচন করার জন্য ব্যবহৃত হয় এবং এই ফাইলগুলোর উপর বিভিন্ন কাজ (যেমন কপি, ডিলিট, বা অ্যাকশন) করার জন্য এটি খুব কার্যকরী।

<fileset> টাস্কটি সাধারণত srcdir, includes, excludes ইত্যাদি অ্যাট্রিবিউট ব্যবহার করে কনফিগার করা হয়, যাতে আপনি প্রয়োজনীয় ফাইল বা ডিরেক্টরি নির্বাচন করতে পারেন। এটি ফাইলের পাথ বা প্যাটার্ন নির্ধারণ করে দিয়ে সেই অনুযায়ী কাজ করতে সক্ষম হয়।

Fileset Task এর Syntax

<fileset dir="directory_path">
    <include name="file_pattern"/>
    <exclude name="exclude_pattern"/>
</fileset>

এখানে:

  • dir: সেই ডিরেক্টরি যেখানে ফাইল বা ডিরেক্টরি অবস্থিত।
  • include: ফাইল বা ডিরেক্টরি নির্বাচন করার জন্য প্যাটার্ন বা নাম।
  • exclude: ফাইল বা ডিরেক্টরি বাদ দেওয়ার জন্য প্যাটার্ন বা নাম।

১. Basic Example: Selecting Files from a Directory

এটি একটি সাধারণ উদাহরণ যেখানে একটি নির্দিষ্ট ডিরেক্টরি থেকে সব .java ফাইল নির্বাচন করা হবে:

<project name="FilesetExample" default="copyFiles" basedir=".">
    <target name="copyFiles">
        <fileset dir="src">
            <include name="**/*.java" />
        </fileset>
    </target>
</project>

এখানে:

  • dir="src": src ডিরেক্টরির মধ্যে ফাইল খুঁজবে।
  • include name="/*.java"**: সব .java ফাইল নির্বাচন করবে।

আউটপুট:

এই স্ক্রিপ্টটি চালানোর সময়, src ডিরেক্টরি থেকে সব .java ফাইল নির্বাচিত হবে এবং আপনি পরবর্তী টাস্কে এগুলো ব্যবহার করতে পারবেন (যেমন কপি বা কম্পাইল করতে)।


২. Including and Excluding Files Using Patterns

এটি একটি উদাহরণ যেখানে ফাইল প্যাটার্ন ব্যবহার করে কিছু ফাইল ইনক্লুড করা এবং কিছু বাদ দেওয়া হবে:

<project name="FilesetExample" default="copyFiles" basedir=".">
    <target name="copyFiles">
        <fileset dir="src">
            <include name="**/*.java" />
            <exclude name="**/Test*.java" />
        </fileset>
    </target>
</project>

এখানে:

  • include name="/*.java"**: সমস্ত .java ফাইল নির্বাচন করবে।
  • exclude name="/Test*.java"**: Test দিয়ে শুরু হওয়া .java ফাইলগুলো বাদ দেবে।

আউটপুট:

এই স্ক্রিপ্টটি src ডিরেক্টরির সমস্ত .java ফাইল নির্বাচন করবে, তবে Test দিয়ে শুরু হওয়া .java ফাইলগুলো বাদ দেওয়া হবে।


৩. Selecting Files from Multiple Directories

আপনি যদি একাধিক ডিরেক্টরি থেকে ফাইল নির্বাচন করতে চান, তবে 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>

এখানে:

  • প্রথম fileset টাস্কটি src ডিরেক্টরি থেকে সব .java ফাইল নির্বাচন করবে।
  • দ্বিতীয় fileset টাস্কটি lib ডিরেক্টরি থেকে সব .jar ফাইল নির্বাচন করবে।

আউটপুট:

এই স্ক্রিপ্টটি src এবং lib ডিরেক্টরি থেকে নির্দিষ্ট ফাইল নির্বাচন করবে এবং পরবর্তী টাস্কে সেগুলো ব্যবহার করতে পারবে।


৪. Using Fileset with Ant Tasks (Fileset অন্য টাস্কে ব্যবহার করা)

Fileset টাস্কটি অন্যান্য Ant টাস্কগুলির সাথে একত্রে ব্যবহার করা যায়, যেমন , , বা টাস্কগুলির মধ্যে।

উদাহরণ: Copying Files with Fileset

<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 ডিরেক্টরিতে কপি করবে।
  • fileset এর মাধ্যমে নির্দিষ্ট ফাইল বা ডিরেক্টরি নির্বাচন করা হচ্ছে।

আউটপুট:

এই স্ক্রিপ্টটি src ডিরেক্টরি থেকে সব .java ফাইল কপি করে build ডিরেক্টরিতে রাখবে।


৫. Using Fileset with Multiple Includes and Excludes

একটি ফাইল প্যাটার্নের সাথে 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>

এখানে:

  • দুটি include প্যাটার্ন: .java এবং .xml ফাইল নির্বাচন করছে।
  • একটি exclude প্যাটার্ন: *Test*.java ফাইল বাদ দিচ্ছে।

আউটপুট:

এই স্ক্রিপ্টটি src ডিরেক্টরি থেকে সব .java এবং .xml ফাইল কপি করবে, তবে Test দিয়ে শুরু হওয়া .java ফাইলগুলো বাদ দেবে।


৬. Fileset in Combination with or

আপনি 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.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion