Semut - Tipe Data

Ant menyediakan sejumlah tipe data yang telah ditentukan sebelumnya. Jangan bingung istilah "tipe data" dengan yang tersedia dalam bahasa pemrograman, sebagai gantinya anggap mereka sebagai satu set layanan yang sudah dibangun ke dalam produk.

Tipe data berikut disediakan oleh Apache Ant.

Kumpulan file

Tipe data kumpulan file mewakili kumpulan file. Ini digunakan sebagai filter untuk menyertakan atau mengecualikan file yang cocok dengan pola tertentu.

Misalnya, lihat kode berikut. Di sini, atribut src mengarah ke folder sumber proyek.

Kumpulan file memilih semua file .java di folder sumber kecuali yang berisi kata 'Stub'. Filter case-sensitive diterapkan ke kumpulan file yang berarti file dengan nama Samplestub.java tidak akan dikecualikan dari kumpulan file.

<fileset dir = "${src}" casesensitive = "yes">
   <include name = "**/*.java"/>
   <exclude name = "**/*Stub*"/>
</fileset>

Set pola

Kumpulan pola adalah pola yang memungkinkan untuk memfilter file atau folder dengan mudah berdasarkan pola tertentu. Pola dapat dibuat menggunakan karakter meta berikut -

  • ? - Hanya cocok dengan satu karakter.

  • * - Mencocokkan nol atau banyak karakter.

  • ** - Mencocokkan nol atau banyak direktori secara rekursif.

Contoh berikut menggambarkan penggunaan kumpulan pola.

<patternset id = "java.files.without.stubs">
   <include name = "src/**/*.java"/>
   <exclude name = "src/**/*Stub*"/>
</patternset>

Patternset kemudian dapat digunakan kembali dengan kumpulan file sebagai berikut -

<fileset dir = "${src}" casesensitive = "yes">
   <patternset refid = "java.files.without.stubs"/>
</fileset>

Daftar file

Jenis data daftar file mirip dengan kumpulan file kecuali perbedaan berikut -

  • filelist berisi daftar file yang dinamai secara eksplisit dan tidak mendukung wild card.

  • tipe data daftar file dapat diterapkan untuk file yang ada atau tidak ada.

Mari kita lihat contoh tipe data daftar file berikut. Di sini, atributnyawebapp.src.folder menunjuk ke folder sumber aplikasi web proyek.

<filelist id = "config.files" dir = "${webapp.src.folder}">
   <file name = "applicationConfig.xml"/>
   <file name = "faces-config.xml"/>
   <file name = "web.xml"/>
   <file name = "portlet.xml"/>
</filelist>

Set filter

Menggunakan tipe data filteret bersama dengan tugas salin, Anda dapat mengganti teks tertentu di semua file yang cocok dengan pola dengan nilai pengganti.

Contoh umum adalah menambahkan nomor versi ke file catatan rilis, seperti yang ditunjukkan pada kode berikut.

<copy todir = "${output.dir}">
   <fileset dir = "${releasenotes.dir}" includes = "**/*.txt"/>
   
   <filterset>
      <filter token = "VERSION" value = "${current.version}"/>
   </filterset>
</copy>

Dalam Kode ini -

  • Atribut output.dir menunjuk ke folder keluaran proyek.

  • Atribut releasenotes.dir menunjuk ke folder catatan rilis proyek.

  • Atribut current.version menunjuk ke folder versi proyek saat ini.

  • Tugas salin, seperti namanya, digunakan untuk menyalin file dari satu lokasi ke lokasi lain.

Jalan

Itu pathtipe data biasanya digunakan untuk mewakili jalur kelas. Entri di jalur dipisahkan menggunakan titik koma atau titik dua. Namun, karakter ini diganti pada saat proses oleh karakter pemisah jalur sistem yang menjalankan.

Classpath disetel ke daftar kelas dan file jar dalam proyek, seperti yang ditunjukkan pada contoh di bawah ini.

<path id = "build.classpath.jar">
   <pathelement path = "${env.J2EE_HOME}/${j2ee.jar}"/>
   
   <fileset dir = "lib">
      <include name = "**/*.jar"/>
   </fileset>
</path>

Dalam kode ini -

  • Atribut env.J2EE_HOME menunjuk ke variabel lingkungan J2EE_HOME.

  • Atribut j2ee.jar menunjuk ke nama file jar J2EE di folder dasar J2EE.