Karınca Özellikleri
Özellikler, Apache Ant’in çalışma zamanında değeri ${key} değerine genişletmeye çalıştığı anahtar/değer çiftleridir.
Yüklenebilirler oluşturmak veya özel dağıtımlar yapmak vb. için çok fazla işlem yapmanız gerekiyorsa, Ant özellikleri çok yararlıdır.
Örneğin, kaynak kod dizini olarak ${src.dir}, proje için kütüphane olarak ${lib.dir}, javadocs için ${javadoc.dir} vb. olarak işaretleyebilirsiniz.
Her yere tam yol yazmak yerine bu yer tutucu ile onları yönlendirebilirsiniz.
Ant’ta özellik nasıl bildirilir ve kullanılır.
Ant, bazı yerleşik özellikler sağlar
Mülk Adı | Değer |
---|---|
temel | projenin mutlak yolu basedir |
ant.file | yapı dosyasının mutlak yolu. |
ant.sürüm | Ant |
ant.project.default-target | şu anda yürütülmekte olan projenin varsayılan hedefinin adı |
ant.proje.adı | projenin adı |
ant.java.sürüm | JVM sürümü Karınca algılandı |
Bu örnekte, özel karınca özellikleri oluşturacağız ve bunları geçici bir dizin oluşturmak ve içine bir dosya kopyalamak için kullanacağız.
- Aynı dosyada belirtilen özellikler.
<project name="Test Project for Ant" default="init">
<property name="temp.dir" value="${basedir}/temp" />
<target name="init" description="initialize">
<mkdir dir="${temp.dir}" />
<copy file="${basedir}/test.xml" todir="${temp.dir}/" />
</target>
</project>
Ant’ta ${basedir}, temel konumu veya ant dosyanızın bulunduğu konumu belirtir. Burada adında bir özellik ilan ettim
temp.dir
hangi basedir/temp konumuna atıfta bulunacaktır.
Böylece, hedef init diyoruz, ${temp.dir} yer tutucusunu gerçek değeriyle değiştirecek ve betiğimizi yürütmeye başlayacak. Bu hedef, temel dizin altında temp adlı bir dizin oluşturacak, test.xml dosyasını temp dizinine kopyalayacaktır.
- Farklı dosyalarda belirtilen özellikler.
Bu örnekte, farklı dosyada bildirilen özelliklere başvuracağız. Bu, uygulama sürümünü içeren örnek bir dosyadır (app_version.xml).
<project name="Project Properties">
<property name="app.version" value="1.0" />
</project>
Bu dosyayı dahil etmek için, ant hedeflerini yürütürken bu dosyayı içe aktarmak için import ant görevini ekleyeceğiz.
<import file="app_version.xml" />
Yukarıdaki kod gibi görünecek
<project name="Test Project for Ant" default="init">
<import file="app_version.xml" />
<property name="temp.dir" value="${basedir}/temp" />
<target name="init" description="initialize">
<mkdir dir="${temp.dir}" />
<copy file="${basedir}/test.xml" todir="${temp.dir}/" />
<echo message="App version is:${app.version}" />
</target>
Dosya içe aktarıldıktan sonra, özellik adı (app.version) aracılığıyla doğrudan erişilebilir.
.xml dosyası kullandım, aynı kullanım durumu .properties dosyaları için de çalışacak.