Apache Ant – 4) Özellik dosyaları

Projeniz içinde kullandığınız özellikleri/ayarları(properties) isterseniz direk olarak Java’nın desteklediği tip olan properties dosyası olarak tutabilirsiniz. Özelliklerin dosyalara ayrılması ve ayrı dosyalarda tutulması proje büyüdükçe daha anlamlı hale gelmektedir.

Proje özelliklerini dosyalara ayırmak aşağıda maddelendirilen artıları da birlikte getirmektedir.

Aynı derleme dosyasında birbirinden farklı özellikleri ekleyebilir ve farklı ortamlar için derleme işlemleri yapılabilir. Örneğin özellikleri geliştirme, test ve canlı ortamlarda çalıştırmak için GEL/TEST/CNL şeklinde properties dosyaları oluşturulabilir ve bu ortamlar için derlemeler yapılabilir.

Eğer bir özelliğe ait değeri bulunduğunuz ortamda bilmiyorsanız kullanışlı olacaktır. Özelliğin değeri bilinen bir ortamda derleme işlemini yapabilirsiniz.

Katı bir kural olmamakla beraber genelde build.properties dosyası isim olarak kullanılır ve build.xml ile yanyana konumlandırılır. Birden fazla dosya oluşturabilir ve bu dosyalara çalıştırılacak olan ortamların isimleri verilebilir. Örneğin build.properties.GEL, build.properties.TEST, build.properties.CNL gibi.

Yazılan özellik dosyasının içeriği windows işletim sisteminde kullanılan .ini dosyaları veya java programlama dilinin desteklediğin .properties dosyaları ile aynı şekilde olacaktır. Bu dosyalar her satırda bir özellik ve onun değeri olacak şekilde oluşturulurlar. Her bir özellik anahtar/değer (key/value) çifti olarak tutulur. Bu anahtar/değer bilgileri eşittir (=) işareti ile birbirinden ayrılır/atanır. Herbir özellik için ayrıca bir açıklama satırı yazılması tavsiye edilir. Açıklama satırı ise diyez (#) işareti ile başlar.

Aşağıda .properties ve build.xml için örnekler verilmiştir.

build.xml

<?xml version="1.0"?>
<project name="Merhaba Dünya Projesi" default="bilgi">
   <property file="build.properties"/>
   <target name="bilgi">
      <echo>Apache Ant versiyon numarası ${ant.version} - Şu anda ${siteadi} sayfasındasınız </echo>
   </target>  
</project>

build.properties

# Site adı

siteadi=www.programla.co

derlemeversiyonu=3.3.2

Yukarıda verilen siteadi değişkeni özellikle belirtilmiş bir örnek olup sitenin ismi atanmıştır. Bu şekilde istediğiniz kadar kendinize ait özellik belirleyebilir ve değerini verebilirsiniz. Örnek olarak derleme versiyonunu belirlemek için derlemeversiyonu adında bir başka özellik de tanımlanmıştır.