Karınca - Veri Türleri

Ant, önceden tanımlanmış bir dizi veri türü sağlar. "Veri türleri" terimini programlama dilinde mevcut olanlarla karıştırmayın, bunun yerine bunları üründe zaten yerleşik olan bir dizi hizmet olarak düşünün.

Aşağıdaki veri türleri Apache Ant tarafından sağlanmaktadır.

Dosya kümesi

Dosya kümesi veri türleri, bir dosya koleksiyonunu temsil eder. Belirli bir modelle eşleşen dosyaları dahil etmek veya dışlamak için bir filtre olarak kullanılır.

Örneğin, aşağıdaki koda bakın. Burada src özelliği, projenin kaynak klasörüne işaret etmektedir.

Dosya kümesi, kaynak klasördeki 'Stub' kelimesini içerenler dışındaki tüm .java dosyalarını seçer. Dosya grubuna büyük / küçük harfe duyarlı filtre uygulanır, bu da Samplestub.java adlı bir dosyanın dosya kümesinden hariç tutulmayacağı anlamına gelir.

<fileset dir = "${src}" casesensitive = "yes">
   <include name = "**/*.java"/>
   <exclude name = "**/*Stub*"/>
</fileset>

Desen seti

Kalıp seti, dosyaları veya klasörleri belirli kalıplara göre kolayca filtrelemeye izin veren bir kalıptır. Aşağıdaki meta karakterler kullanılarak desenler oluşturulabilir -

  • ? - Yalnızca bir karakterle eşleşir.

  • * - Sıfır veya birçok karakterle eşleşir.

  • ** - Sıfır veya birçok dizini özyinelemeli olarak eşleştirir.

Aşağıdaki örnek, bir desen setinin kullanımını tasvir etmektedir.

<patternset id = "java.files.without.stubs">
   <include name = "src/**/*.java"/>
   <exclude name = "src/**/*Stub*"/>
</patternset>

Desen kümesi daha sonra aşağıdaki gibi bir dosya grubu ile yeniden kullanılabilir -

<fileset dir = "${src}" casesensitive = "yes">
   <patternset refid = "java.files.without.stubs"/>
</fileset>

Dosya listesi

Dosya listesi veri türü, aşağıdaki farklılıklar dışında dosya kümesine benzer:

  • filelist, açıkça adlandırılmış dosya listeleri içerir ve joker karakterleri desteklemez.

  • dosya listesi veri türü, var olan veya olmayan dosyalar için uygulanabilir.

Dosya listesi veri türünün aşağıdaki örneğini görelim. Burada öznitelikwebapp.src.folder projenin web uygulaması kaynak klasörünü gösterir.

<filelist id = "config.files" dir = "${webapp.src.folder}">
   <file name = "applicationConfig.xml"/>
   <file name = "faces-config.xml"/>
   <file name = "web.xml"/>
   <file name = "portlet.xml"/>
</filelist>

Filtre seti

Kopyalama göreviyle birlikte bir filtre kümesi veri türü kullanarak, modelle eşleşen tüm dosyalardaki belirli metni bir değiştirme değeriyle değiştirebilirsiniz.

Yaygın bir örnek, aşağıdaki kodda gösterildiği gibi sürüm numarasını sürüm notları dosyasına eklemektir.

<copy todir = "${output.dir}">
   <fileset dir = "${releasenotes.dir}" includes = "**/*.txt"/>
   
   <filterset>
      <filter token = "VERSION" value = "${current.version}"/>
   </filterset>
</copy>

Bu Kodda -

  • Öznitelik output.dir projenin çıktı klasörünü gösterir.

  • Öznitelik releasenotes.dir projenin sürüm notları klasörüne işaret eder.

  • Öznitelik current.version projenin mevcut sürüm klasörünü gösterir.

  • Kopyalama görevi, adından da anlaşılacağı gibi, dosyaları bir konumdan diğerine kopyalamak için kullanılır.

Yol

pathveri türü genellikle bir sınıf yolunu temsil etmek için kullanılır. Yoldaki girişler, noktalı virgül veya iki nokta üst üste kullanılarak ayrılır. Ancak, bu karakterler çalışma zamanında, çalıştıran sistemin yol ayırıcı karakteriyle değiştirilir.

Sınıf yolu, aşağıdaki örnekte gösterildiği gibi projedeki jar dosyalarının ve sınıfların listesine ayarlanır.

<path id = "build.classpath.jar">
   <pathelement path = "${env.J2EE_HOME}/${j2ee.jar}"/>
   
   <fileset dir = "lib">
      <include name = "**/*.jar"/>
   </fileset>
</path>

Bu kodda -

  • Öznitelik env.J2EE_HOME ortam değişkenine işaret eder J2EE_HOME.

  • Öznitelik j2ee.jar J2EE temel klasöründeki J2EE jar dosyasının adını gösterir.