Local এবং Remote Repository তে Module Publish করা

Java Technologies - অ্যাপাচি আইভি (Apache IVY) IVY Retrieve এবং Publish Task |
146
146

Apache Ivy একটি শক্তিশালী ডিপেন্ডেন্সি ম্যানেজমেন্ট টুল যা আপনাকে local এবং remote রিপোজিটরি ব্যবহারের মাধ্যমে লাইব্রেরি বা মডিউল publish করতে সাহায্য করে। Publish মানে হল, আপনার তৈরি করা বা প্রোজেক্টে ব্যবহৃত লাইব্রেরি বা মডিউলটিকে একটি নির্দিষ্ট রিপোজিটরিতে আপলোড করা, যাতে অন্য ডেভেলপাররা বা প্রোজেক্টগুলো সেটি ব্যবহার করতে পারে।

Local Repository তে Module Publish করা

একটি local repository হলো আপনার সিস্টেমে বা লোকাল সার্ভারে সংরক্ষিত রিপোজিটরি, যেখানে আপনার প্রোজেক্টের লাইব্রেরি বা মডিউলটি সংরক্ষণ করা হয়। এটি সাধারণত ডেভেলপারদের জন্য ব্যবহৃত হয় যখন তারা নতুন বা কাস্টম লাইব্রেরি তৈরি করে এবং সেটি আপলোড করতে চায়।

Step 1: ivy.xml ফাইল তৈরি করা

প্রথমে, একটি ivy.xml ফাইল তৈরি করুন যেখানে আপনি মডিউলটি ডিফাইন করবেন এবং রিপোজিটরি নির্ধারণ করবেন।

<ivy-module version="2.0">
    <info organisation="com.example" module="my-module" revision="1.0.0" />
    
    <publications>
        <artifact name="my-module" type="jar" ext="jar" />
    </publications>
</ivy-module>

এখানে:

  • <info> ট্যাগে মডিউল এবং সংস্করণ (revision) নির্ধারণ করা হয়েছে।
  • <publications> ট্যাগে artifact প্রকাশিত হবে, যা JAR ফাইল হিসেবে নির্ধারণ করা হয়েছে।

Step 2: Ivy Settings কনফিগারেশন

Ivy তে local repository তে মডিউল পাবলিশ করার জন্য আপনাকে ivysettings.xml ফাইল কনফিগার করতে হবে। এই ফাইলে আপনি local repository এর পাথ নির্ধারণ করবেন।

<ivysettings>
    <repositories>
        <repository name="local" url="file://${user.home}/.ivy2/local" />
    </repositories>
    <resolvers>
        <resolver name="local" class="org.apache.ivy.plugins.resolver.FileSystemResolver">
            <artifact pattern="file://${user.home}/.ivy2/local/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
        </resolver>
    </resolvers>
</ivysettings>

এখানে:

  • <repository> ট্যাগে local repository এর লোকেশন নির্ধারণ করা হয়েছে। এটি আপনার সিস্টেমের ${user.home}/.ivy2/local ফোল্ডারে সংরক্ষিত হবে।
  • <resolver> ট্যাগে FileSystemResolver ব্যবহার করা হয়েছে, যা ফাইল সিস্টেম থেকে লাইব্রেরি রেজলভ করবে।

Step 3: Module Publish করার জন্য Ant স্ক্রিপ্ট

এখন, Ant বিল্ড স্ক্রিপ্টে Ivy টাস্ক ব্যবহার করে মডিউলটি লোকাল রিপোজিটরিতে প্রকাশ (publish) করুন।

<project name="IvyPublishExample" default="publish" basedir=".">
    <taskdef name="ivy" classname="org.apache.ivy.ant.IvyTask" />
    
    <target name="publish">
        <ivy:publish settings="ivysettings.xml"/>
    </target>
</project>

এখানে:

  • <ivy:publish> টাস্ক ব্যবহার করা হয়েছে যা মডিউলটি local repository তে প্রকাশ করবে।
  • settings="ivysettings.xml" এই ফাইলের মাধ্যমে কনফিগারেশন ফাইল নির্দেশ করা হয়েছে।

Step 4: Publish Command

Ant স্ক্রিপ্টটি চালানোর মাধ্যমে মডিউলটি local repository তে প্রকাশ করতে পারেন:

ant publish

এটি আপনার my-module জার ফাইলটি local repository তে ${user.home}/.ivy2/local/com/example/my-module/1.0.0/my-module-1.0.0.jar পাথে প্রকাশ করবে।


Remote Repository তে Module Publish করা

Remote repository হল একটি সার্ভার বা পাবলিক রিপোজিটরি যেখানে লাইব্রেরি বা মডিউলগুলি সারা বিশ্বে শেয়ার করা হয়, যেমন Maven Central বা Ivy Repository। আপনি যদি আপনার মডিউলটি অন্য ডেভেলপারদের সাথে শেয়ার করতে চান, তবে এটি একটি remote repository তে প্রকাশ করা প্রয়োজন।

Step 1: ivysettings.xml কনফিগারেশন

প্রথমত, আপনাকে একটি remote repository কনফিগার করতে হবে যেখানে আপনি মডিউলটি পাবলিশ করবেন। নিচে Maven Central রিপোজিটরি ব্যবহার করার উদাহরণ দেওয়া হয়েছে:

<ivysettings>
    <repositories>
        <repository name="maven-central" url="https://repo.maven.apache.org/maven2" />
    </repositories>
    
    <resolvers>
        <resolver name="maven-central" class="org.apache.ivy.plugins.resolver.URLResolver">
            <artifact pattern="https://repo.maven.apache.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
        </resolver>
    </resolvers>
</ivysettings>

এখানে:

  • <repository> ট্যাগে Maven Central রিপোজিটরি এর URL নির্ধারণ করা হয়েছে।
  • <resolver> ট্যাগে URLResolver ব্যবহৃত হয়েছে, যা Maven Central থেকে লাইব্রেরি রেজলভ করবে।

Step 2: Publish Command for Remote Repository

Ivy টাস্কের মাধ্যমে remote repository তে মডিউল পাবলিশ করা যেতে পারে। Ant স্ক্রিপ্টে নিম্নলিখিতভাবে publish টাস্ক ব্যবহার করতে পারেন:

<project name="IvyPublishRemote" default="publish" basedir=".">
    <taskdef name="ivy" classname="org.apache.ivy.ant.IvyTask"/>
    
    <target name="publish">
        <ivy:publish settings="ivysettings.xml"/>
    </target>
</project>

এখানে:

  • <ivy:publish> টাস্কটি Maven Central বা অন্য remote repository তে মডিউল প্রকাশ করবে।

Step 3: Publish Command for Remote Repository

এখন, আপনি Ant স্ক্রিপ্টটি চালিয়ে মডিউলটি remote repository তে প্রকাশ করতে পারেন:

ant publish

এটি আপনার my-module মডিউলটি Maven Central বা আপনার নির্দিষ্ট remote repository তে প্রকাশ করবে।


৩. Authentication for Remote Repository

যদি আপনি private remote repository তে মডিউল পাবলিশ করতে চান, তবে আপনাকে authentication কনফিগার করতে হবে।

<credentials host="repo.example.com" username="myuser" password="mypassword"/>

এখানে:

  • host: আপনার remote repository এর হোস্ট।
  • username এবং password: নিরাপদ এক্সেসের জন্য আপনার লগইন তথ্য।

এটি Ivy কে নির্দিষ্ট remote repository তে পাবলিশ করার জন্য প্রয়োজনীয় authentication প্রদান করবে।


সারাংশ

Ivy এবং Ant এর মাধ্যমে আপনি সহজেই আপনার প্রোজেক্টের মডিউলগুলি local এবং remote repositories তে পাবলিশ করতে পারেন। Local repository তে মডিউল প্রকাশ করার জন্য আপনাকে Ivy সেটিংস কনফিগারেশন এবং Ivy টাস্কের মাধ্যমে লাইব্রেরি ডাউনলোড এবং রেজলভ করতে হবে। Remote repository তে মডিউল প্রকাশ করতে আপনাকে Ivy সেটিংস কনফিগারেশন এবং Ant স্ক্রিপ্টের মাধ্যমে রিপোজিটরি URL এবং authentication কনফিগার করতে হবে। Ivy এর মাধ্যমে এই প্রক্রিয়া সহজভাবে স্বয়ংক্রিয়ভাবে সম্পন্ন করা যায়, যা ডেভেলপারদের জন্য লাইব্রেরি ম্যানেজমেন্ট আরও সহজ এবং কার্যকরী করে তোলে।

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

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

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

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