Apache Ant একটি শক্তিশালী বিল্ড টুল যা মূলত Java প্রজেক্টের বিল্ড, টেস্টিং এবং ডিপ্লয়মেন্টের জন্য ব্যবহৃত হয়। PropertySet Task অ্যাপাচি অ্যান্টে একটি গুরুত্বপূর্ণ টাস্ক যা আপনাকে একাধিক properties (প্রপার্টি) গোষ্ঠী হিসেবে সংরক্ষণ করতে এবং একত্রে ব্যবহৃত করার সুবিধা দেয়। এটি একটি গ্রুপ হিসেবে প্রপার্টিগুলিকে সংগঠিত করতে সহায়ক, যার ফলে একই সময়ে একাধিক প্রপার্টি নির্ধারণ করা সহজ হয় এবং পুনঃব্যবহারযোগ্যতা নিশ্চিত হয়।
PropertySet টাস্কটি অ্যাপাচি অ্যান্টের মধ্যে বেশিরভাগ জায়গায় ব্যবহার হয় যেখানে আপনাকে একাধিক প্রপার্টি একত্রিত করতে হবে, বা প্রপার্টি গ্রুপের মধ্যে মান নির্ধারণ করতে হবে।
PropertySet টাস্কটি একটি set of properties তৈরি করে যা একাধিক প্রপার্টি একত্রে সংজ্ঞায়িত করতে সাহায্য করে। এটি কোনো নির্দিষ্ট টাস্কের জন্য একাধিক প্রপার্টি সেট করতে ব্যবহৃত হতে পারে এবং এগুলি পরবর্তীতে অন্যান্য টাস্কে ব্যবহার করা যেতে পারে।
<project name="PropertySetExample" default="set-properties">
<target name="set-properties">
<!-- Define a PropertySet -->
<propertyset id="my-properties">
<property name="app.name" value="MyJavaApp"/>
<property name="app.version" value="1.0.0"/>
<property name="app.build" value="2024-12-01"/>
</propertyset>
<!-- Display the properties -->
<echo message="App Name: ${app.name}"/>
<echo message="App Version: ${app.version}"/>
<echo message="Build Date: ${app.build}"/>
</target>
</project>
<propertyset>
টাস্কটি ID হিসেবে my-properties
নির্ধারণ করেছে এবং এর মধ্যে তিনটি প্রপার্টি (app.name
, app.version
, app.build
) সেট করা হয়েছে।<echo>
টাস্কের মাধ্যমে আপনি নির্ধারিত প্রপার্টিগুলি দেখাতে পারেন।refid
অ্যাট্রিবিউট ব্যবহার করে আপনি পূর্বে তৈরি করা প্রপার্টি সেট রেফারেন্স করতে পারেন। এটি সাধারণত পুনঃব্যবহারযোগ্য প্রপার্টি সেট তৈরি করতে সহায়ক।
<project name="PropertySetWithRefid" default="use-properties">
<!-- Define a PropertySet -->
<propertyset id="app-settings">
<property name="app.name" value="MyWebApp"/>
<property name="app.language" value="English"/>
</propertyset>
<target name="use-properties">
<!-- Use the property set through refid -->
<echo message="Application Name: ${app.name}"/>
<echo message="Application Language: ${app.language}"/>
</target>
</project>
<propertyset>
টাস্কে id="app-settings"
সেট করা হয়েছে।refid="app-settings"
অ্যাট্রিবিউটটি ব্যবহার না হলেও, প্রপার্টি গুলির মান ঠিকমতো কাজ করবে, কারণ অ্যান্ট সরাসরি এই প্রপার্টি গুলিকে গ্র্যাব করতে সক্ষম।${app.name}
এবং ${app.language}
টাস্কে রেফারেন্স করা হয়েছে।অ্যাপাচি অ্যান্টের <propertyset>
টাস্কে includes এবং excludes অ্যাট্রিবিউট ব্যবহার করা যেতে পারে, যা কেবলমাত্র নির্দিষ্ট প্রপার্টি গুলিকে অন্তর্ভুক্ত বা বাদ দিতে সহায়তা করে।
<project name="PropertySetWithIncludesExcludes" default="use-properties">
<target name="use-properties">
<!-- Define PropertySet with includes and excludes -->
<propertyset id="webapp-settings" includes="app.*">
<property name="app.name" value="MyWebApp"/>
<property name="app.language" value="English"/>
<property name="app.version" value="1.2.3"/>
<property name="build.date" value="2024-12-01"/>
</propertyset>
<!-- Use the included properties -->
<echo message="Application Name: ${app.name}"/>
<echo message="Application Language: ${app.language}"/>
<echo message="Application Version: ${app.version}"/>
</target>
</project>
includes="app.*"
অ্যাট্রিবিউটের মাধ্যমে কেবলমাত্র app.*
প্রপার্টিগুলি অন্তর্ভুক্ত করা হয়েছে। এর মানে হল, শুধুমাত্র app.name
, app.language
, এবং app.version
প্রপার্টিগুলি অন্তর্ভুক্ত হবে, যখন অন্য প্রপার্টি (যেমন build.date
) বাদ দেওয়া হবে।আপনি একটি PropertySet এর মধ্যে অন্য একটি PropertySet ব্যবহার করে আরও জটিল কনফিগারেশন তৈরি করতে পারেন।
<project name="NestedPropertySet" default="use-properties">
<target name="use-properties">
<!-- Define a PropertySet with nested sets -->
<propertyset id="base-settings">
<property name="app.name" value="BaseApp"/>
</propertyset>
<propertyset id="extended-settings" refid="base-settings">
<property name="app.version" value="2.0"/>
<property name="app.language" value="Spanish"/>
</propertyset>
<!-- Use the extended settings -->
<echo message="App Name: ${app.name}"/>
<echo message="App Version: ${app.version}"/>
<echo message="App Language: ${app.language}"/>
</target>
</project>
propertyset
base-settings
নামে একটি প্রপার্টি সেট তৈরি করা হয়েছে।extended-settings
নামে একটি নতুন propertyset
তৈরি করা হয়েছে, যা পূর্বে তৈরি করা base-settings
থেকে প্রপার্টি রেফারেন্স করেছে এবং নতুন প্রপার্টি যোগ করেছে।PropertySet টাস্কটি অ্যাপাচি অ্যান্টে একটি শক্তিশালী ফিচার, যা একাধিক প্রপার্টি একত্রিত করতে এবং পুনরায় ব্যবহারযোগ্যভাবে সংরক্ষণ করতে সহায়তা করে। এর মাধ্যমে আপনি একটি গোষ্ঠী হিসাবে প্রপার্টি পরিচালনা করতে পারেন এবং সেই প্রপার্টিগুলি পরবর্তীতে বিল্ড স্ক্রিপ্টে ব্যবহৃত হতে পারে।
<propertyset>
টাস্কের মাধ্যমে একাধিক প্রপার্টি একটি সেট হিসেবে সংজ্ঞায়িত করা যায়।includes
এবং excludes
অ্যাট্রিবিউট ব্যবহার করে নির্দিষ্ট প্রপার্টি অন্তর্ভুক্ত বা বাদ দিতে পারেন।refid
অ্যাট্রিবিউটের মাধ্যমে আপনি পূর্বে তৈরি করা প্রপার্টি সেট পুনরায় ব্যবহার করতে পারেন।এটি বিল্ড স্ক্রিপ্টকে আরো পরিষ্কার, মডুলার এবং পুনঃব্যবহারযোগ্য করে তোলে, যার মাধ্যমে প্রপার্টির সন্নিবেশ ও ব্যবস্থাপনা আরও সহজ হয়।
common.read_more