Apache IVY - Publikasikan Tugas

mempublikasikan tugas digunakan untuk mempublikasikan artefak saat ini dan file deskriptor diselesaikan ke repositori yang disebutkan.

Mari buat Tester.java, build.xml dan ivy.xml seperti yang dijelaskan dalam bab IVY - Resolve Task .

Perbarui build.xml untuk menggunakan tugas ivy publish. Pertama kita akan membuat file jar dan kemudian menerbitkannya.

build.xml

<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
   <property name = "build.dir" value = "build"/>
   <target name="resolve" description="resolve dependencies">
      <ivy:resolve />
   </target>
   <target name = "jar">
      <jar destfile = "${build.dir}/lib/application.jar"
         basedir = "${build.dir}/classes">      
         <manifest>
            <attribute name = "Main-Class" value = "com.tutorialspoint.Application"/>
         </manifest>
      </jar>
   </target>
   <target name="publish" depends="jar">
      <ivy:resolve />
      <ivy:publish resolver="local" pubrevision="1.0" overwrite="true">
         <artifacts pattern="${build.dir}/lib/[artifact].[ext]" />
      </ivy:publish>   
   </target>
</project>

Berikut adalah istilah-istilah penting.

  • resolver - resolver yang akan digunakan untuk publikasi.

  • pattern - pola untuk menemukan artefak.

Di sini mempublikasikan tugas terlebih dahulu membangun jar, kemudian menyelesaikan dependensi, mengatur informasi dan kemudian menerbitkan artefak ke repositori lokal.

Membangun proyek

Karena kami sudah menyiapkan semua file. Pergi saja ke konsol. Navigasi keE: > ivy folder dan jalankan perintah semut.

E:\ivy > ant publish

Ivy akan beraksi, menyelesaikan dependensi, Anda akan melihat hasil berikut.

E:\ivy > ant publish
Buildfile: E:\ivy\build.xml

jar:

publish:
[ivy:resolve] :: Apache Ivy 2.5.0 - 20191020104435 :: https://ant.apache.org/ivy
/ ::
[ivy:resolve] :: loading settings :: url = jar:file:/E:/Apache/apache-ant-1.9.14
/lib/ivy-2.5.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:resolve] :: resolving dependencies :: com.tutorialspoint#test;1.0.0
[ivy:resolve]   confs: [default]
[ivy:resolve]   found commons-lang#commons-lang;2.6 in public
[ivy:resolve]   found junit#junit;3.8.1 in public
[ivy:resolve] :: resolution report :: resolve 121ms :: artifacts dl 15ms
      ---------------------------------------------------------------------
      |                  |            modules            ||   artifacts   |
      |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
      ---------------------------------------------------------------------
      |      default     |   2   |   2   |   0   |   0   ||   4   |   0   |
      ---------------------------------------------------------------------
[ivy:publish] :: publishing :: com.tutorialspoint#test
[ivy:publish]   published application to C:\Users\Acer\.ivy2\local\com.tutorials
point\test\1.0\jars\application.jar
[ivy:publish]   published ivy to C:\Users\Acer\.ivy2\local\com.tutorialspoint\te
st\1.0\ivys\ivy.xml

BUILD SUCCESSFUL
Total time: 1 second

Anda dapat memverifikasi artefak ivy publikasikan di repositori lokal.