Anda di halaman 1dari 4

Apache Ant: Memahami Fungsi dan Dasar

Penggunaan Build Tool


Tentang Apache Ant dan Build Tool
Apache Ant adalah software berbasis Java yang digunakan untuk keperluan build tool.
Sebagai build tool, tugas utama dari Ant adalah untuk menyediakan sumber daya dan
melaksanakan proses yang memungkinkan membangun suatu software dari bentuk source
code menjadi aplikasi yang siap didistribusikan atau bahkan telah diinstall pada remote
server. Meskipun definisi tersebut kelihatannya sederhana, kita akan melihat bahwa Ant
mempunyai banyak sekali tasks yang bisa digunakan untuk berbagai keperluan sesuai dengan
tujuan utama dari build tool. Ada banyak build tool yang tersedia, beberapa diantaranya
adalah build tool yang bersifat spesifik untuk sistem operasi tertentu. Beberapa contoh dari
build tool, diantaranya adalah:

GNU Make (ingat siklus ./configure, make, make install)

Jam

rake (untuk Ruby), dan lain-lain

Tulisan ini tidak untuk membandingkan berbagai build tools yang tersedia, tetapi lebih ke
arah bagaimana memahami posisi Ant dan bagaimana kita bisa menggunakan Ant untuk
keperluan mempermudah membangun software.
Ant merupakan software untuk keperluan build tool yang bersifat cross platform, bisa
digunakan pada berbagai sistem operasi yang mendukung Java. Meskipun demikian,
pembahasan dalam tulisan ini akan menggunakan Linux. Jika anda menggunakan Windows,
silahkan sesuaikan dengan sistem operasi anda (hanya jika diperlukan). Selama tidak
menggunakan fitur spesifik dari sistem operasi yang bersangkutan (diantaranya dengan tag
<exec>), maka pembahasan ini bersifat cross platform.
Mengapa Harus Menggunakan Build Tool?
Build tool tidak diperlukan jika software yang akan kita bangun sangat sederhana (seperti
misalnya hanya menampilkan satu atau beberapa baris tulisan) dan kita tidak keberatan untuk
menuliskan dan mencantumkan berbagai dependencies dari software tersebut (misalnya
berbagai file jar yang kita perlukan). Jika aplikasi yang kita bangun relatif kompleks,
melibatkan banyak dependencies, dengan struktur direktori tertentu, serta memerlukan
banyak eksekusi atau menjalankan tools (misalnya jar, rmic, javac, bzip2, dan lain-lain),
maka kita memerlukan build tool untuk meng-otomatiskan proses membangun (compile,
test, run, deploy) software tersebut. Anda bisa membayangkan sendiri jika harus mengetikkan
berpuluh-puluh baris untuk siklus compile, test, run, deploy jika tidak menggunakan build
tool.
Instalasi Apache Ant

Ant adalah software bebas dan mempunyai lisensi ASF (Apache Software Foundation). Ant
bisa diperoleh di http://ant.apache.org. Versi terakhir saat tulisan ini dibuat adalah versi 1.7.1.
Download distribusi Ant seperti berikut ini:
[bpdp@bpdp-arch ant]$ ls -la
total 7484
drwxr-xr-x 2 bpdp users
4096 2009-09-01 03:08 .
drwxr-xr-x 26 bpdp users
4096 2009-09-19 17:37 ..
-rw-r--r-- 1 bpdp users 7641928 2008-07-09 16:19 apache-ant-1.7.1bin.tar.bz2
[bpdp@bpdp-arch ant]$

Asumsi:

JDK telah terinstall dan JAVA_HOME telah di-set.

Ant akan diinstall di direktori $HOME/software/

Berikut adalah langkahnya:


1. $ cd software
2. $ tar -xjvf apache-ant-1.7.1-bin.tar.bz2
Hasilnya:
[bpdp@bpdp-arch software]$ pwd
/home/bpdp/software
[bpdp@bpdp-arch software]$ ls -la apache-ant-1.7.1/
total 276
drwxr-xr-x 6 bpdp users
4096 2008-06-27 12:04 .
drwxr-xr-x 25 bpdp users
4096 2009-09-28 10:05 ..
-rw-r--r-- 1 bpdp users
126 2008-06-27 12:04 INSTALL
-rw-r--r-- 1 bpdp users 51380 2008-06-27 12:04 KEYS
-rw-r--r-- 1 bpdp users 15289 2008-06-27 12:04 LICENSE
-rw-r--r-- 1 bpdp users
1270 2008-06-27 12:04 NOTICE
-rw-r--r-- 1 bpdp users
4119 2008-06-27 12:04 README
-rw-r--r-- 1 bpdp users 146814 2008-06-27 12:04 WHATSNEW
drwxr-xr-x 2 bpdp users
4096 2009-09-04 10:23 bin
drwxr-xr-x 9 bpdp users
4096 2009-09-04 10:23 docs
drwxr-xr-x 3 bpdp users
4096 2009-09-04 10:23 etc
-rw-r--r-- 1 bpdp users
7160 2008-06-27 12:04 fetch.xml
-rw-r--r-- 1 bpdp users
4445 2008-06-27 12:04 get-m2.xml
drwxr-xr-x 2 bpdp users
4096 2009-09-04 10:23 lib
[bpdp@bpdp-arch software]$

Setelah itu, setting konfigurasi environment variable di $HOME/.bashrc sebagai berikut:


export ANT_HOME=/home/bpdp/software/apache-ant-1.7.1/
export PATH=$PATH:$ANT_HOME/bin

Setelah itu setiap kali login, shell sudah mengenali ant yang telah kita install. Jika telah
terinstall dengan benar, hasil instalasi adalah sebagai berikut:
[bpdp@bpdp-arch software]$ ant -version

Apache Ant version 1.7.1 compiled on June 27 2008


[bpdp@bpdp-arch software]$

Jika ingin mengetahui lebih lengkap lagi, gunakan parameter -diagnostics.


Ant dan build.xml
Pada saat dijalankan, Ant akan mencari file build.xml pada direktori yang aktif. Jika tidak
menemukan, Ant akana menampilkan pesan kesalahan berikut:
[bpdp@bpdp-arch software]$ ant
Buildfile: build.xml does not exist!
Build failed
[bpdp@bpdp-arch software]$

File build.xml merupakan file XML yang digunakan untuk mendeskripsikan proyek build
yang akan dikerjakan oleh Ant. Contoh sederhana untuk mengkompilasi dan menjalankan
program Java yang akan menampilkan string Hello World adalah sebagai berikut:
Struktur Direktori dan File
.
|-- build
|
`-- classes
`-- src
`-- simpleant
`-- HelloWorld.java

Catatan: Direktori simpleant ada di bawah src dan file HelloWorld.java ada di dalam direktori
simpleant.
Asumsi: hasil kompilasi akan diletakkan di direktori build/classes.
Tanpa Apache Ant Shell
$ javac -sourcepath src -d build/classes/ src/simpleant/HelloWorld.java
$ java -cp build/classes simpleant.HelloWorld
Hello World
$

Tanpa Apache Ant jar


Untuk keperluan ini anda harus membuat file manifest terlebih dahulu (misalnya helloworldmanifest).
$ cat helloworld-manifest
Main-Class: simpleant.HelloWorld
$ mkdir build/jar
$ jar cfm build/jar/HelloWorld.jar helloworld-manifest -C build/classes/ .
$ java -jar build/jar/HelloWorld.jar
Hello World
$

Menggunakan Apache Ant

build.xml
<project>
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes"/>
</target>
<target name="jar">
<mkdir dir="build/jar"/>
<jar destfile="build/jar/HelloWorld.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="simpleant.HelloWorld"/>
</manifest>
</jar>
</target>
<target name="run">
<java jar="build/jar/HelloWorld.jar" fork="true"/>
</target>
</project>

Eksekusi ant dengan berbagai parameter adalah sebagai berikut:


[bpdp@bpdp-arch helloworld-with-ant]$ ant compile
Buildfile: build.xml
compile:
[mkdir] Created dir: /home/bpdp/kerjaan/src/java/helloworld-withant/build/classes
[javac] Compiling 1 source file to /home/bpdp/kerjaan/src/java/helloworldwith-ant/build/classes
BUILD SUCCESSFUL
Total tim

Anda mungkin juga menyukai