Apache Ant-এ Custom Task তৈরি করা একটি অত্যন্ত কার্যকরী উপায় যখন আপনি কোনো বিশেষ কার্যক্রম সম্পাদন করতে চান যা Ant-এর বিল্ট-ই টাস্কে অন্তর্ভুক্ত নয়। আপনি Java ব্যবহার করে কাস্টম টাস্ক তৈরি করতে পারেন এবং এটি Ant স্ক্রিপ্টে ব্যবহার করতে পারেন।
Custom Task হল Ant-এর এমন টাস্ক যা আপনি নিজের প্রয়োজন অনুযায়ী তৈরি করেন। এটি Java ক্লাসের মাধ্যমে তৈরি করা হয় এবং Ant বিল্ড স্ক্রিপ্টে কার্যকর করা হয়। কাস্টম টাস্ক তৈরি করার মাধ্যমে আপনি Ant এর বিদ্যমান কার্যক্রমকে আরও কাস্টমাইজ করতে পারেন।
প্রথমে, Java ক্লাস তৈরি করুন যা AntTask ক্লাস থেকে উত্তরাধিকারসূত্রে প্রাপ্ত হবে এবং execute() মেথডে আপনার কাস্টম কার্যক্রম থাকবে।
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!");
}
}
}
এখানে:
এখন, Ant বিল্ড স্ক্রিপ্টে ট্যাগ ব্যবহার করে কাস্টম টাস্ক রেজিস্টার করুন এবং ট্যাগে এই কাস্টম টাস্ক ব্যবহার করুন।
<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>
এখানে:
এখন, Ant বিল্ড স্ক্রিপ্টটি চালিয়ে কাস্টম টাস্কের আউটপুট দেখতে পারেন।
ant runCustomTask
Custom Task Message: Hello from Custom Task!
এখানে, CustomTask টাস্কটি কনসোলে "Custom Task Message: Hello from Custom Task!"
বার্তাটি প্রিন্ট করেছে।
আপনি কাস্টম টাস্কে একাধিক প্রপার্টি বা প্যারামিটারও পাস করতে পারেন। যেমন:
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!");
}
}
}
<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>
এখানে:
Hello John Doe
আপনি 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);
}
}
}
এখানে:
[info] Custom Task Message: Hello from Custom Task!
Custom Task তৈরি করা Apache Ant-এ একটি শক্তিশালী উপায়, যা আপনাকে নিজের প্রয়োজন অনুযায়ী Ant স্ক্রিপ্টে নতুন কার্যক্রম যোগ করার সুযোগ দেয়। এটি Java ব্যবহার করে তৈরি করা হয় এবং Ant স্ক্রিপ্টে ব্যবহার করা হয়। Custom Task এর মাধ্যমে আপনি আপনার কাজের ধরণ, ইনপুট, আউটপুট, এবং লজিক অনুযায়ী কাস্টম কার্যক্রম সম্পাদন করতে পারেন। AntTask শ্রেণী (class) থেকে ইনহেরিট করা এবং execute() মেথড বাস্তবায়ন করে এই কাস্টম টাস্ক তৈরি করা হয়।
common.read_more