Apache Ant – 7) Döküman derlemek

Dökümantasyon her proje için mutlaka olması gereken parçalarından birisidir. Özellikle projenin sürümünün çıkmasından sonra destek verilmesi ve bakımının yapılması aşamalarında çok önemli bir rol oynamaktadır. Java standard paketinin içinde gelen javadoc aracı ile kolay döküman yazmak için bir altyapı sunmaktadır. Ant ile bu dökümantasyon işlemlerini otomatize etmek daha da kolaylaşmaktadır.

Bildiğiniz gibi, javadoc gayet esnek ve farklı seçeneklerle döküman oluşturabilme imkanı sunuyor. Ant bu özellikleri javadoc görevi ile bizim kullanımımıza sunuyor.
Aşağıda sık kullanılan javadoc özellikleri listelenmiştir.


Özellikler

Javadoc için verilecek olan dosyaların kaynağı sourcepath, sourcepathref ya da sourcefiles özellikleri ile belirlenebilir.

  • sourcepath özelliği dosyaların bulunduğu klasörü göstermek için kullanılır. Örnek: \src klasörü
  • sourcepathref tanımlanmış olan bir path özelliğini referans etmek için kullanılır. Örnek: dokuman.kaynak.dir
  • sourcefiles tek tek dosya belirlemek için kullanılır. Dosya isimleri virgül(,) ile ayrılmalıdır.

Hedef yolumuz ise destdir özelliği ile belirtilecektir. Örnek: derle.dir Eğer java paketleri bazında çıkaracağınız dökümanı filtrelemek isterseniz javadoc özelliği size bu imkanı sunacaktır. İşlemi yapabilmek için ise packagenames özelliği kullanılacaktır, paketleri aralarına virgül koyarak ayırabilirsiniz. İsterseniz group özelliğini kullanarak paketleri gruplayabilirsiniz. Böylelikle işlemler arasında gezinmek daha kolay olacaktır.

Uygulama koyulalım

Önceki bölümlerde oluşturduğumuz “Merhaba Dünya Projesi” üzerinden devam edelim ve projemizin içine dökümantasyon kodlarımızı da ekleyelim.

Aşağıda bir javadoc örneği verilmiştir. Bu örneğimizde, javadoc için kaynak klasörümüz olarak kaynak.dir ve hedef olarak da hedef.dir belirlenmiştir. Ayrıca çıkacak dökümanın title/header/footer özellikleri de belirlenmiştir. Kullanım kolaylığı olması açısından birkaç grup tanımlama örneği de eklenmiştir.

  • utility/yararlı sınıflar için bir grup
  • görsel arayüzler için bir grup
  • veritabanı ile ilgili sınıflar için bir grup

Fark edeceğiniz üzere veritabanı ile ilgili iki paket tanımlanmıştır.

<target name = "dokumantasyon">
   <javadoc packagenames="merhaba.*" sourcepath="${kaynak.dir}"
 destdir = "dokuman" version = "true" windowtitle = "Merhaba Dünya Projesi">
      <doctitle><![CDATA[= Merhaba Dünya Projesi =]]></doctitle>
      <bottom>
         <![CDATA[Copyright © 2011. All Rights Reserved.]]>
      </bottom>
      <group title = "yararli paketler" packages = "merhaba.util.*"/>
      <group title = "web paketleri" packages = "merhaba.web.*"/>
      <group title = "veri paketleri" packages = "merhaba.entity.*:merhaba.dao.*"/>
   </javadoc>
   <echo message = "java doc ile dökümanlar oluşturulmuştur!." />
</target>

Dökümantasyon kodlarımızı yazdıktan sonra ant dokumantasyon komutu ile çalıştırabilirsiniz.