Apache Ant একটি ওপেন সোর্স বিল্ড টুল যা বিভিন্ন ধরনের কাজ সম্পাদন করার জন্য ব্যবহৃত হয়। এর মধ্যে একটি শক্তিশালী টাস্ক হল <available>
টাস্ক, যা শর্তসাপেক্ষে (conditional) ফাইল বা ডিরেক্টরি উপস্থিতি পরীক্ষা করতে ব্যবহৃত হয়।
<available>
টাস্কটি একটি নির্দিষ্ট ফাইল বা ডিরেক্টরি অস্তিত্ব পরীক্ষা করে এবং নির্দিষ্ট প্রপার্টি সেট করতে পারে। এটি বেশ উপকারী যখন আপনি কোনো কাজ বা বিল্ড প্রক্রিয়া চালানোর আগে নিশ্চিত করতে চান যে নির্দিষ্ট ফাইল বা ডিরেক্টরি বিদ্যমান রয়েছে।
<available>
টাস্কটি ব্যবহার করে আপনি একটি নির্দিষ্ট ফাইল বা ডিরেক্টরি পরীক্ষা করতে পারেন। যদি ফাইল বা ডিরেক্টরি উপস্থিত থাকে, এটি একটি প্রপার্টি সেট করবে, যা পরবর্তীতে শর্তসাপেক্ষ কাজগুলিতে ব্যবহার করা যেতে পারে।
<project name="FileCheck" default="check-file">
<target name="check-file">
<!-- Check if a file exists -->
<available file="src/main/java/Main.java" property="file.exists"/>
<echo message="File exists: ${file.exists}"/>
</target>
</project>
<available file="src/main/java/Main.java"
টাস্কটি পরীক্ষা করবে যে src/main/java/Main.java
ফাইলটি উপস্থিত আছে কিনা।file.exists
প্রপার্টি true
সেট হবে, এবং এটি echo
টাস্কে প্রদর্শিত হবে।<project name="DirectoryCheck" default="check-directory">
<target name="check-directory">
<!-- Check if a directory exists -->
<available dir="build/classes" property="dir.exists"/>
<echo message="Directory exists: ${dir.exists}"/>
</target>
</project>
<available dir="build/classes"
টাস্কটি পরীক্ষা করবে যে build/classes
ডিরেক্টরি উপস্থিত আছে কিনা।dir.exists
প্রপার্টি true
সেট হবে এবং এটি echo
টাস্কে প্রদর্শিত হবে।<available>
টাস্কটি কেবল উপস্থিতি পরীক্ষা করার জন্য নয়, এর মাধ্যমে শর্তসাপেক্ষ কাজও করা যায়। আপনি যদি কোনো নির্দিষ্ট ফাইল বা ডিরেক্টরি উপস্থিতি পরীক্ষা করতে চান এবং তার উপর ভিত্তি করে কিছু কাজ করতে চান, তাহলে <available>
টাস্কের মাধ্যমে এটি সহজেই করা সম্ভব।
<project name="ConditionalTaskExample" default="conditional-task">
<target name="conditional-task">
<!-- Check if a file exists -->
<available file="build/output.jar" property="output.exists"/>
<!-- If the file exists, perform task 1 -->
<target name="task1" if="output.exists">
<echo message="The output file exists, proceeding with task 1..."/>
</target>
<!-- If the file does not exist, perform task 2 -->
<target name="task2" unless="output.exists">
<echo message="The output file does not exist, proceeding with task 2..."/>
</target>
</target>
</project>
<available file="build/output.jar"
টাস্কটি পরীক্ষা করবে build/output.jar
ফাইলটি উপস্থিত আছে কিনা।task1
টার্গেটটি চলবে এবং একটি মেসেজ প্রদর্শন করবে যে ফাইলটি রয়েছে এবং টাস্ক 1 চলবে।task2
টার্গেটটি চলবে এবং একটি মেসেজ প্রদর্শন করবে যে ফাইলটি উপস্থিত নেই এবং টাস্ক 2 চলবে।এইভাবে, <available>
টাস্কটি শর্তসাপেক্ষভাবে কাজ করে, যা আপনাকে ফাইল বা ডিরেক্টরি উপস্থিতি চেক করে সিদ্ধান্ত নিতে সহায়তা করে।
<available file="build/output.jar" property="output.exists" nocreate="true"/>
<available file="build/output.jar" property="output.exists" value="true"/>
অ্যাপাচি অ্যান্টের <available>
টাস্কটি ফাইল বা ডিরেক্টরি উপস্থিতি পরীক্ষা করতে ব্যবহৃত হয় এবং এটি শর্তসাপেক্ষ কাজ বা বিল্ড প্রক্রিয়া পরিচালনায় সহায়তা করে। এটি প্রপার্টি সেট করার মাধ্যমে অন্য টাস্কের কার্যক্রম নিয়ন্ত্রণ করতে সাহায্য করে এবং ফাইল বা ডিরেক্টরি অস্তিত্ব যাচাইয়ের জন্য অত্যন্ত কার্যকরী টাস্ক।
<available>
টাস্কটি ফাইল বা ডিরেক্টরি চেক করার সময় if
এবং unless
অ্যাট্রিবিউট ব্যবহার করে শর্তসাপেক্ষ কাজ করার সুযোগ দেয়, যা একটি বিল্ড স্ক্রিপ্টের মধ্যে আরও নমনীয়তা এবং কার্যকরীতা নিয়ে আসে।
common.read_more