Kamis, 16 Desember 2010

OTOMATISASI PROSES BUILD DENGAN APACHE ANT

tirta|concept > sedikit berbagi penggunaan apache ant untuk build ;D semoga berguna......

Build tool seperti Apache Ant digunakan untuk menyediakan sumber daya dan melaksanakan proses yang membangun software dari bentuk source code menjadi aplikasi yang siap didistribusikan.

Otomatisasi dilakukan dengan menggunakan sistem operasi windows, adapun perangkat lunak terkait yang dibutuhkan adalah : java dengan jdk 1.6 keatas dan Apache Ant 1.8 keatas.

• Buat direktori baru.
Direktori yang dibuat, digunakan untuk meletakkan file – file yang terkait denga proses build yang dilakukan oleh Apache Ant. Buat folder sqa yang diletakkan pada C:\Document and Setting\... . Isi folder sqa adalah build dan src, serta masing‐ masing berisi folder classes dan simpleant.

• Membuat program sederhana HelloWorld.java
File HelloWorld.java diletakkan pada folder simpleant.

• Kompilasi dan eksekusi file program tanpa menggunakan Ant.
Masuk terlebih dahulu ke direktori sqa, setelah itu ketikkan perintah dibawah ini.

C:\Users\tirtaconcept\sqa>javac -sourcepath src -d build/classes/
src/simpleant/ HelloWorld.java
Perintah javac diikuti oleh –sourcepath src, yang gunanya memberi tahu java bahwa data yang akan dikompilasi di direktori src. Selanjutnya –d berguna untuk memberi tahu hasil kompilasi. Dilanjutkan perintah berikut ini.

C:\Users\tirtaconcept\sqa>java -cp build/classes simpleant.HelloWorld
Hello World
Perintah –cp (class path) yang mengikuti java berarti menunjukkan bahwa HelloWorld.java yang dikompilasi, class nya diletakkan di direktori classes. Kompilasi berhasil dilakukan jika “Hello World” muncul di layar.

• Kompilasi dan eksekusi file menggunakan Ant.
Buat lah file build.xml yang berisikan target yang akan dikerjakan.
<project name="HelloWorld" basedir="." default="main">
...
...
<property name="main-class" value="simpleant.HelloWorld"/>
Name dari project menggunakan nama file, serta value dari property main‐class juga berisi file yang akan dikompilasi. basedir="." default, titik menunjuk pada current directory build.xml berada. Selanjutnya "main"> berarti metode pada source code yang dijalankan oleh Ant. Property yang berisi keterangan direktori yang digunakan dituliskan lengkap. Selanjutnya menuliskan target – target yang hendak dikerjakan oleh Ant.

<target name="clean">
<delete dir="${build.dir}"/>
Pada target clean dilakukan penghapusan direktory build.

<target name="run" depends="jar">
<mkdir dir="${classes.dir}"/>
<java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/>
Pada target run, bergantung pada target jar. run menjalankan perintah membuat direktori classes lalu ada proses anak yang dilakukan (fork) yaitu mengakses file jar pada direktori jar.

<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar"
basedir="${classes.dir}">
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
Pada target jar, bergantung pada target compile yang sebelumnya dilakukan. jar akan membuat direktori jar yang digunakan untuk meletakkan file (destfile : destination file) executable jar (java archieve) berdasarkan pada kompilasi file class pada direktori classes. Dibuat juga file manifest dengan nama Main‐Class dengan value main‐class.

<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}"/>
Pada target compile, akan membuat direktori classes. Selanjutnya menjalankan file program yang ada pada direktori src dimana destination dir nya adalah direktori classes. Class dari program tersebut berada pada direktori classes. direktori sqa isinya berubah menjadi seperti berikut.

C:\Users\tirtaconcept\sqa>tree
Folder PATH listing
Volume serial number is B8D0-C1DF
C:.
├───build
│ ├───classes
│ │ └───simpleant
│ └───jar
└───src
└───simpleant

• Menjalankan Ant.
Ketikkan Ant diikuti dengan target yang telah dibuat :
C:\Users\tirtaconcept\sqa>ant clean
Buildfile: C:\Users\tirtaconcept\sqa\build.xml
clean:
[delete] Deleting directory C:\Users\tirtaconcept\sqa\build
BUILD SUCCESSFUL
Hasilnya folder build dihapus dan muncul pesan Build Successful.
Buildfile: C:\Users\tirtaconcept\sqa\build.xml
run:
[java] Hello World
BUILD SUCCESSFUL
Hasilnya Hello World muncul di layar dan muncul pesan Build Successful.

Kompilasi tanpa Ant:
C:\Users\tirtaconcept\sqa>javac -sourcepath src -d build/classes/
src/simpleant/
HelloWorld.java
C:\Users\tirtaconcept\sqa>java -cp build/classes simpleant.HelloWorld
Hello World

Kompilasi menggunakan Ant:
C:\Users\tirtaconcept\sqa>ant run
Buildfile: C:\Users\tirtaconcept\sqa\build.xml
compile:
[mkdir] Created dir: C:\Users\tirtaconcept\sqa\build\classes
[javac] C:\Users\tirtaconcept\sqa\build.xml:12: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 3 source files to C:\Users\tirtaconcept\sqa\build\classes
jar:
[mkdir] Created dir: C:\Users\tirtaconcept\sqa\build\jar
[jar] Building jar: C:\Users\tirtaconcept\sqa\build\jar\HelloWorld.jar
run:
[java] Hello World
BUILD SUCCESSFUL
Total time: 1 second

tirta|concept > contoh lain

Sabtu, 11 Desember 2010

Atur Java dan Apache Ant di Windows

Untuk dapat menggunakan Apache Ant dalam otomatisasi proses build program yang ditulis dalam bahasa java, atur dulu environtment variabel untuk Jdk Java dan Apache Ant. Jdk Java yang digunakan adalah Jdk 1.6 atau versi terbaru dan Apache Ant 1.8 atau versi terbaru. Download Apache Ant 1.8.1 disini.
Atur Environtment Variabel, buka System Properties > Advanced > Environtment Variabel. Pada PATH, tambahkan variabel value nya alamat terinstall jdk (C:\Program Files (x86)\Java\jdk1.6.0_18\bin) dan alamat ekstrak dari Apache Ant (E:\Master\Programming Aplication\apache-ant-1.8.1\bin) dipisah tanda titik koma “ ; “. Untuk path ini alamat yang dimasukkan sampai posisi \bin.
     
Kemudian buat variabel baru dengan nama JAVA_HOME, isi variabel value nya dengan alamat jdk (x86)\Java\jdk1.6.0_18). Buat juga variabel baru dengan nama ANT_HOME, isi variabel value nya dengan alamat Apache Ant (E:\Master\Programming Aplication\apache-ant-1.8.1). Alamat yang dimasukkan tidak sampai posisi \bin.



Cek apakah java dan Ant sudah dikenali dengan menggunakan perintah > java –version untuk java dan > ant –version untuk ant pada command prompt windows. Jika sudah dikenali maka hasilnya sebagai berikut.


Pada saat login maka terminal windows sudah mengenali Java dan Ant yang sudah diinstall.