ant build tool เป็น command line tool เพื่อช่วย automate งานบางอย่างในขั้นตอนของการพัฒนา program เช่นการ copy file , deploy หรือการแก้ไข config file ที่มีค่าบางอย่างแตกต่างกัน ระหว่าง production และ development เช่นค่า connection string
ในบทความนี้เราจะมาศึกษาวิธีการติดตั้ง ant และใช้งานแก้ไข config file ครับ
download binary จาก http://ant.apache.org/bindownload.cgi แตก zip file ออกมา
แล้ว copy ไปวางในเครื่องเช่น C:\apache-ant-1.9.7
จากนั้นให้เข้าไปกำหนดค่าเหล่านี้ที่ environment variable
สร้าง variable ใหม่ตั้งชื่อว่า ่ ANT_HOME กำหนดค่าเป็น path ที่เราเก็บ ant folder เช่น C:\apache-ant-1.9.7 ตัวอย่างเช่น
ตรวจสอบว่าเรามี JDK และ JAVA_HOME variable แล้วยัง
ทำการเพิ่มค่าดังนี้เข้าไปเข้าไปที่ path variable %ANT_HOME%\bin ก่อนกำหนดค่าอย่าลืมคั้นด้วย ; (semi colon)
กด OK เพื่อบันทึกค่าที่เปลี่ยนแปลง เปิด command prompt แล้วพิมพ์ ant เพื่อทดสอบว่าเราได้ติดตั้ง ant เรียบร้อยแล้ว
หากมีข้อความแสดงว่า
put your code here
Buildfile: build.xml does not exist! Build failed แสดงว่าเราได้ทำการติดตั้ง ant เรียบร้อยแล้ว
การใช้งาน ant นั้นเราจะสร้าง file ที่เรียกว่า build file ซึ่งใน file นี้จะประกอบด้วยชุดคำสั่งต่างๆ ที่เรียกว่า task เช่นคำสั่งในการ output ข้อความออกมาที่หน้าจอ คือ task ที่ชื่อว่า echo
ใน build file จึงประกอบด้วย task ต่างๆ เพื่อทำงาน automate ต่างๆ ตามที่เราต้องการ
โดยปกติเราจะตั้งชื่อ build file ว่า build.xml และเมื่อเราเปิด command line ที่ folder ที่เก็บ build.xml แล้วใช้คำสั่ง ant ตัว ant command จะเรียกใช้ build.xml โดยอัตโนมัติ
ตัวอย่าง build.xml อย่างง่าย จะประกอบด้วย root XML element project และภายใน element นี้จะประกอบด้วย task ต่างๆ
build.xml
<project name="MyProject">
<echo message="Hello world"/>
</project>
ในตัวอย่างนี้จะเป็นการแสดง output ข้อความว่า Hello world ออกมาที่หน้าจอ ด้วย task ที่ชื่อว่า echo
เมื่อเราเปิด command prompt และพิมพ์คำสั่ง ant จะได้ผลลัพธ์ดังนี้
ตัวอย่างเช่น เราต้องการกำหนดค่า connection string ของ config file ที่ต่างกันระหว่าง production และ development
เราสร้างสร้าง build file แบบนี้ได้เลยครับ
build.xml
<project name="ConfigurationTransformer">
<property file="${env}.properties"/>
<copy file="app-template.config"
tofile="app.config" encoding="utf-8"
outputencoding="utf-8" overwrite="true">
<filterchain>
<expandproperties />
</filterchain>
</copy>
</project>
dev.properties
dbUrl=local ip
dbPort=1433
pro.properties
dbUrl=server ip
dbPort=1434
app-template.config
db{
host=${dbUrl}
port=${dbPort}
}
ตัวอย่าง file ทั้งหมดใน folder
เปิด command prompt ที่ folder เก็บ build file ใช้คำสั่ง ant -Denv=dev สำหรับ development environment และคำสั่ง ant -Denv=pro สำหรับ production environment
ผลลัพธ์ที่ได้
app.config
db{
host=local ip
port=1433
}
เมื่อทดสอบกับ คำสั่ง ant -Denv=pro ผลลัพธ์ที่ได้
db{
host=server ip
port=1434
}
credit