Rabu, 16 Mei 2012

Delete And Import Task Ant

Hi..
Sore ini mau tulis tentang task yang ada di ant. Kalau kalian tahu, ada banyak task yang ada di ant. Tapi sore ini mau tulis tentang delete dan import. Oke kita mulai dari delete.
Delete digunakan untuk menghapus file atau folder yang ada pada konfigurasi suatu project atau yang lain. 
1. Delete folder <delete dir="${basedir}/DirToDelete" />
2. Delete specified file, e.g java file, under the provided target
     <delete>
         <fileset dir="${basedir}/DirToDelete" includes="*.java" />
     </delete>
3. Delete all specified file, e.g java file anywhere under the provided target
    <delete>
          <fileset dir="${basedir}/DirToDelete" includes="**/*.java" />
     </delete>
4. Delete all specified file, e.g java file only within the target directory  and its immediate child directories
    <delete>
           <fileset dir="${basedir}/DirToDelete" includes="*.java, */*.java"/>
    </delete>

Mungkin dari delete segitu aja dulu, sekarang kita mau tulis tentang import task. Sebenernya kalau dilihat itu hampir sama seperti syntax yang di java atau syntax include yang ada pada php atau pun C.
Misal kita punya 2 file build xml, build_1.xml (yang akan diimport) and build.xml (yang akan mengimport).  Misal file build_1.xml isinya seperti ini
build_1.xml :
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="jar.client">
<property name="env.dir" value="webapps/cp" />
<property name="jettylib.dir" value="lib" />
<property name="lib" value="${env.dir}/lib" />
<property name="classes" value="${env.dir}/WEB-INF/classes" />
<property name="source" value="${env.dir}/src/" />

<path id="main-classpath">
<fileset dir="${lib}">
<include name="*.jar" />
</fileset>
</path>

<target name="clean" description="clean configuration">
<delete dir="${lib}" />
<delete>
<fileset dir="${classes}" includes="*/*.class"/>
</delete>
</target>

<target name="config" description="copy lib and configuration">
<copy todir="${lib}">
<fileset dir="${jettylib.dir}">
<include name="*.jar" />
</fileset>
</copy>
</target>

<target name="prepare" description="prepare dir and configuration">
<mkdir dir="${lib}" />
</target>

<target name="compile" description="compile class" depends="prepare, config">
<javac includeantruntime="false" destdir="${classes}" srcdir="${source}">
<classpath refid="main-classpath" />
</javac>
</target>

</project>
Nah pada file build.xml yang satu lagi tinggal tambahkan import, dan kalau mau manggil target yang ada pada file yang diimport tinggal panggil nestednya aja. Contohnya seperti dibawah ini.
build.xml :
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="jar.client">
<import file="webapps/cp/build.xml" as="nested" />
<target name="clean" depends="nested.clean" />
<target name="run" depends="nested.clean, nested.compile">
<java jar="start.jar" fork="yes"/>
</target>
</project>
Kalau dilihat itu seperti struct bukan :senyum

Sekian dulu dari saya

0 komentar:

Posting Komentar