Apache Ant একটি ওপেন সোর্স বিল্ড টুল যা Java প্রজেক্টের বিল্ড, টেস্টিং এবং ডিপ্লয়মেন্টের জন্য ব্যবহৃত হয়। এর মধ্যে একটি শক্তিশালী টাস্ক হল <scriptdef>
টাস্ক, যা আপনাকে কাস্টম স্ক্রিপ্ট টাস্ক ডিফাইন করার সুযোগ দেয়। এর মাধ্যমে আপনি JavaScript, Groovy, Python বা BeanShell স্ক্রিপ্টে নিজের কাস্টম টাস্ক তৈরি করতে পারেন এবং এটি আপনার বিল্ড স্ক্রিপ্টে ব্যবহার করতে পারেন।
<scriptdef>
টাস্কের সাহায্যে আপনি বিল্ড প্রক্রিয়ার মধ্যে নিজস্ব কাস্টম স্ক্রিপ্ট ফাংশনালিটি অন্তর্ভুক্ত করতে পারেন, যা বিশেষ করে যখন কোনো নির্দিষ্ট কার্যকলাপ (যেমন ফাইল ম্যানিপুলেশন, গণনা, বা পরিবেশগত চেক) করতে হয় এবং তা সরাসরি Java দিয়ে করতে চান না।
<scriptdef>
Task: Overview<scriptdef>
টাস্কটি একটি কাস্টম স্ক্রিপ্ট টাস্ক তৈরি করে যা বিল্ড প্রক্রিয়ায় পুনরায় ব্যবহার করা যায়। এই টাস্কটি স্ক্রিপ্টিং ভাষায় কোড লিখতে এবং তা টাস্ক হিসেবে রান করানোর সুযোগ দেয়। এটি একটি Custom Task তৈরি করতে ব্যবহৃত হয়, যা স্ক্রিপ্টের ভিতরে প্রয়োজনীয় কার্যকলাপ সংজ্ঞায়িত করে এবং পরে তা বিল্ড স্ক্রিপ্টে ব্যবহার করা হয়।
javascript
, groovy
, python
, বা beanshell
।<parameter>
: কাস্টম টাস্কের জন্য প্যারামিটার যোগ করতে ব্যবহৃত হয়।<scriptdef>
Task উদাহরণ<project name="ScriptdefExample" default="run-custom-task">
<target name="run-custom-task">
<!-- Define a custom task using JavaScript -->
<scriptdef name="greet" language="javascript">
<parameter name="name"/>
<![CDATA[
// JavaScript code
console.log('Hello, ' + name + '!');
]]>
</scriptdef>
<!-- Execute the custom task -->
<greet name="John"/>
</target>
</project>
<scriptdef>
টাস্কের মধ্যে language="javascript"
ব্যবহৃত হয়েছে, যার মাধ্যমে JavaScript কোড লেখা হচ্ছে।<parameter name="name"/>
এর মাধ্যমে name
প্যারামিটারটি কাস্টম স্ক্রিপ্টে পাস করা হচ্ছে।<greet name="John"/>
এই টাস্কটি greet
কাস্টম স্ক্রিপ্টটিকে name="John"
প্যারামিটার দিয়ে এক্সিকিউট করবে এবং আউটপুট হিসেবে "Hello, John!" কনসোলে প্রদর্শিত হবে।<project name="GroovyScriptdefExample" default="run-groovy-task">
<target name="run-groovy-task">
<!-- Define a custom task using Groovy -->
<scriptdef name="calculate-sum" language="groovy">
<parameter name="a"/>
<parameter name="b"/>
<![CDATA[
// Groovy code
def sum = a + b
println "The sum of $a and $b is $sum"
]]>
</scriptdef>
<!-- Execute the custom Groovy task -->
<calculate-sum a="5" b="10"/>
</target>
</project>
language="groovy"
ব্যবহার করে Groovy স্ক্রিপ্ট ডিফাইন করা হয়েছে।<parameter name="a"/>
এবং <parameter name="b"/>
এর মাধ্যমে স্ক্রিপ্টে প্যারামিটার পাস করা হচ্ছে।<calculate-sum a="5" b="10"/>
টাস্কটি স্ক্রিপ্টটি চালাবে এবং আউটপুট হবে: "The sum of 5 and 10 is 15"
।<project name="PythonScriptdefExample" default="run-python-task">
<target name="run-python-task">
<!-- Define a custom task using Python -->
<scriptdef name="say-goodbye" language="python">
<parameter name="name"/>
<![CDATA[
# Python code
print(f"Goodbye, {name}!")
]]>
</scriptdef>
<!-- Execute the custom Python task -->
<say-goodbye name="Alice"/>
</target>
</project>
language="python"
ব্যবহার করে Python স্ক্রিপ্টটি ডিফাইন করা হয়েছে।<parameter name="name"/>
প্যারামিটার ব্যবহার করে নাম পাস করা হচ্ছে।<say-goodbye name="Alice"/>
টাস্কটি চলবে এবং আউটপুট হিসেবে "Goodbye, Alice!" কনসোলে প্রদর্শিত হবে।একাধিক প্যারামিটার সহ কাস্টম স্ক্রিপ্ট তৈরি করা যায়, যা আরো জটিল কার্যকলাপ সম্পাদন করতে সাহায্য করে।
<project name="AdvancedScriptdef" default="run-complex-task">
<target name="run-complex-task">
<!-- Define a custom task using Groovy with multiple parameters -->
<scriptdef name="greet-user" language="groovy">
<parameter name="greeting"/>
<parameter name="name"/>
<![CDATA[
// Groovy code
println "$greeting, $name!"
]]>
</scriptdef>
<!-- Execute the custom task with multiple parameters -->
<greet-user greeting="Good Morning" name="David"/>
</target>
</project>
<parameter>
টাস্কের মাধ্যমে দুইটি প্যারামিটার, greeting
এবং name
পাস করা হয়েছে।<greet-user greeting="Good Morning" name="David"/>
টাস্কটি Groovy স্ক্রিপ্ট চালাবে এবং আউটপুট হিসেবে "Good Morning, David!" কনসোলে প্রদর্শিত হবে।<scriptdef>
Task<scriptdef>
টাস্কটি অ্যাপাচি অ্যান্টে কাস্টম স্ক্রিপ্ট টাস্ক তৈরি করার জন্য ব্যবহৃত হয়, যা JavaScript, Groovy, Python বা Beanshell ভাষায় লেখা যেতে পারে। এই টাস্কটি আপনাকে আপনার বিল্ড স্ক্রিপ্টে বিশেষ কার্যকলাপ যোগ করার সুযোগ দেয় এবং আপনি যে ভাষায় দক্ষ, সেই ভাষায় কাস্টম টাস্ক তৈরি করতে পারেন। এটি আপনার বিল্ড প্রক্রিয়াকে আরো নমনীয় এবং কাস্টমাইজেবল করে তোলে।
common.read_more