Custom Task: Java ব্যবহার করে কাস্টম Task তৈরি করা

Java Technologies - অ্যাপাচি অ্যান্ট টাস্কস (Apache ANT Tasks) কাস্টম Task তৈরি |
183
183

Apache Ant-এ Custom Task তৈরি করা একটি অত্যন্ত কার্যকরী উপায় যখন আপনি কোনো বিশেষ কার্যক্রম সম্পাদন করতে চান যা Ant-এর বিল্ট-ই টাস্কে অন্তর্ভুক্ত নয়। আপনি Java ব্যবহার করে কাস্টম টাস্ক তৈরি করতে পারেন এবং এটি Ant স্ক্রিপ্টে ব্যবহার করতে পারেন।

Custom Task কী?

Custom Task হল Ant-এর এমন টাস্ক যা আপনি নিজের প্রয়োজন অনুযায়ী তৈরি করেন। এটি Java ক্লাসের মাধ্যমে তৈরি করা হয় এবং Ant বিল্ড স্ক্রিপ্টে কার্যকর করা হয়। কাস্টম টাস্ক তৈরি করার মাধ্যমে আপনি Ant এর বিদ্যমান কার্যক্রমকে আরও কাস্টমাইজ করতে পারেন।

Custom Task তৈরি করার জন্য ধাপ:

  1. Java ক্লাস তৈরি করা: একটি Java ক্লাস তৈরি করতে হবে যা AntTask ক্লাস থেকে ইনহেরিট (inherit) করবে।
  2. execute() মেথড বাস্তবায়ন করা: execute() মেথডে টাস্কের কার্যক্রম (logic) লিখতে হবে।
  3. Ant বিল্ড স্ক্রিপ্টে কাস্টম টাস্ক ব্যবহার করা: ট্যাগ ব্যবহার করে Ant স্ক্রিপ্টে কাস্টম টাস্ক রেজিস্টার করতে হবে।

১. Java ক্লাস তৈরি করা

প্রথমে, Java ক্লাস তৈরি করুন যা AntTask ক্লাস থেকে উত্তরাধিকারসূত্রে প্রাপ্ত হবে এবং execute() মেথডে আপনার কাস্টম কার্যক্রম থাকবে।

CustomTask.java

import org.apache.tools.ant.Task;

public class CustomTask extends Task {

    private String message;  // একটি প্রপার্টি যা বার্তা ধারণ করবে

    // setter method for the 'message' property
    public void setMessage(String message) {
        this.message = message;
    }

    // execute() method is called when the task is run in the build
    @Override
    public void execute() {
        if (message != null) {
            System.out.println("Custom Task Message: " + message);
        } else {
            System.out.println("No message provided!");
        }
    }
}

এখানে:

  • CustomTask ক্লাসটি Task ক্লাস থেকে ইনহেরিট করছে এবং setMessage() মেথডের মাধ্যমে একটি প্রপার্টি সেট করছে।
  • execute() মেথডে আমরা একটি কাস্টম বার্তা কনসোলে প্রিন্ট করছি।

২. Ant বিল্ড স্ক্রিপ্টে কাস্টম টাস্ক ব্যবহার করা

এখন, Ant বিল্ড স্ক্রিপ্টে ট্যাগ ব্যবহার করে কাস্টম টাস্ক রেজিস্টার করুন এবং ট্যাগে এই কাস্টম টাস্ক ব্যবহার করুন।

build.xml

<project name="CustomTaskExample" default="runCustomTask" basedir=".">

    <!-- Registering the custom task -->
    <taskdef name="customtask" classname="CustomTask" />

    <target name="runCustomTask">
        <!-- Using the custom task -->
        <customtask message="Hello from Custom Task!" />
    </target>

</project>

এখানে:

  • ট্যাগটি কাস্টম টাস্ক রেজিস্টার করতে ব্যবহৃত হয়। এখানে name="customtask" টাস্কের নাম এবং classname="CustomTask" কাস্টম Java ক্লাসের নাম দেওয়া হয়েছে।
  • : এই টাস্কটি ব্যবহার করার সময় আমরা message প্রপার্টি প্রদান করছি।

৩. কাস্টম টাস্ক চালানো

এখন, Ant বিল্ড স্ক্রিপ্টটি চালিয়ে কাস্টম টাস্কের আউটপুট দেখতে পারেন।

ant runCustomTask

আউটপুট:

Custom Task Message: Hello from Custom Task!

এখানে, CustomTask টাস্কটি কনসোলে "Custom Task Message: Hello from Custom Task!" বার্তাটি প্রিন্ট করেছে।


৪. Additional Example: Parameterized Custom Task

আপনি কাস্টম টাস্কে একাধিক প্রপার্টি বা প্যারামিটারও পাস করতে পারেন। যেমন:

CustomTask.java (Multiple Parameters)

import org.apache.tools.ant.Task;

public class CustomTask extends Task {

    private String message;
    private String name;

    // setter methods for properties
    public void setMessage(String message) {
        this.message = message;
    }

    public void setName(String name) {
        this.name = name;
    }

    // execute() method
    @Override
    public void execute() {
        if (message != null && name != null) {
            System.out.println(message + " " + name);
        } else {
            System.out.println("No message or name provided!");
        }
    }
}

build.xml (Using Multiple Parameters)

<project name="CustomTaskExample" default="runCustomTask" basedir=".">

    <!-- Registering the custom task -->
    <taskdef name="customtask" classname="CustomTask" />

    <target name="runCustomTask">
        <!-- Using the custom task with multiple parameters -->
        <customtask message="Hello" name="John Doe" />
    </target>

</project>

এখানে:

  • message এবং name দুটি প্রপার্টি CustomTask টাস্কে পাস করা হচ্ছে।

আউটপুট:

Hello John Doe

৫. Using Custom Task with Logging

আপনি Ant-এর বিল্ট-ই লগিং ফিচার ব্যবহার করে কাস্টম টাস্কের আউটপুট লোগ করতে পারেন। যেমন:

import org.apache.tools.ant.Task;

public class CustomTask extends Task {

    private String message;

    public void setMessage(String message) {
        this.message = message;
    }

    @Override
    public void execute() {
        if (message != null) {
            log("Custom Task Message: " + message, Project.MSG_INFO);
        } else {
            log("No message provided!", Project.MSG_WARN);
        }
    }
}

এখানে:

  • log() মেথড ব্যবহার করে কাস্টম টাস্কের আউটপুট Ant লোগিং সিস্টেমের মাধ্যমে প্রিন্ট করা হচ্ছে।
  • Project.MSG_INFO এবং Project.MSG_WARN ব্যবহার করে info এবং warning বার্তা লগ করা হচ্ছে।

আউটপুট:

[info] Custom Task Message: Hello from Custom Task!

সারাংশ

Custom Task তৈরি করা Apache Ant-এ একটি শক্তিশালী উপায়, যা আপনাকে নিজের প্রয়োজন অনুযায়ী Ant স্ক্রিপ্টে নতুন কার্যক্রম যোগ করার সুযোগ দেয়। এটি Java ব্যবহার করে তৈরি করা হয় এবং Ant স্ক্রিপ্টে ব্যবহার করা হয়। Custom Task এর মাধ্যমে আপনি আপনার কাজের ধরণ, ইনপুট, আউটপুট, এবং লজিক অনুযায়ী কাস্টম কার্যক্রম সম্পাদন করতে পারেন। AntTask শ্রেণী (class) থেকে ইনহেরিট করা এবং execute() মেথড বাস্তবায়ন করে এই কাস্টম টাস্ক তৈরি করা হয়।

common.content_added_by
টপ রেটেড অ্যাপ

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

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

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