Java/Ant/File Folder

Материал из Java эксперт
Перейти к: навигация, поиск

Ant copy file

   <source lang="java">

<project name="YourName" default="all">

 <target name="all" depends="init,clean,compile,createJars,copyBuild" >
 </target>
 <target name="init" description="Project">
   <property environment="env" />
   <property name="j2sdkApi" value="${env.JAVA_HOME}/jre/lib/rt.jar" />
     <property name="src" value="./src" />
   <property name="build" value= "./build" />
 </target>
 <target name="clean" description="build" depends="init">
   <delete dir="${build}" />
   <mkdir dir="${build}" />
 </target>
 <target name="compile" description="compile" depends="init">
   <javac srcdir="${src}" destdir="${build}" >
     <classpath path="${j2sdkApi}" />
           <include name="**/application/**"/>
     <include name="**/types/**"/>
   </javac>
 </target>
 <target name="copyBuild" description="desccription here">
   <copy file="${src}/LOGOUNB_CAPA.JPG" todir="${build}/" />
   <copydir src="${src}/config" dest="${build}/config" />
 </target>
 <target name="createJars" description="jars" depends="compile">
   <mkdir dir="${build}/xml/jar"/>
   <jar jarfile="${build}/br/xml/jar/xpfg.jar"
      basedir="${build}/unb/cic/xml" />
     <manifest file="manifest.mf">
       <attribute name="Main-Class" value="${build}/br/unb/cic/xml/XMLMain" />
     </manifest>
 </target>

</project>

 </source>
   
  
 
  



Ant copy folder

   <source lang="java">

<project name="YourName" default="all">

 <target name="all" depends="init,clean,compile,createJars,copyBuild" >
 </target>
 <target name="init" description="Project">
   <property environment="env" />
   <property name="j2sdkApi" value="${env.JAVA_HOME}/jre/lib/rt.jar" />
     <property name="src" value="./src" />
   <property name="build" value= "./build" />
 </target>
 <target name="clean" description="build" depends="init">
   <delete dir="${build}" />
   <mkdir dir="${build}" />
 </target>
 <target name="compile" description="compile" depends="init">
   <javac srcdir="${src}" destdir="${build}" >
     <classpath path="${j2sdkApi}" />
           <include name="**/application/**"/>
     <include name="**/types/**"/>
   </javac>
 </target>
 <target name="copyBuild" description="desccription here">
   <copy file="${src}/LOGOUNB_CAPA.JPG" todir="${build}/" />
   <copydir src="${src}/config" dest="${build}/config" />
 </target>
 <target name="createJars" description="jars" depends="compile">
   <mkdir dir="${build}/xml/jar"/>
   <jar jarfile="${build}/br/xml/jar/xpfg.jar"
      basedir="${build}/unb/cic/xml" />
     <manifest file="manifest.mf">
       <attribute name="Main-Class" value="${build}/br/unb/cic/xml/XMLMain" />
     </manifest>
 </target>

</project>

 </source>
   
  
 
  



Ant task copy file

   <source lang="java">

<project name="foo" default="deploy" basedir=".">

 <target name="init">
   <tstamp/>
   <property name="src" value="src" />
   <property name="build" value="build" />
   <property name="classes" value="classes" />
   <property name="deploy" value="deploy" />
   <property name="config" value="config" />
   <property name="runDir" value="." />
   <property name="local" value="local" />
   <property name="remote" value="remote" />
   <property name="lib" value="lib" />
 </target>
 
 <target name="clean" depends="init">
   <deltree dir="${classes}" />
   <deltree dir="${remote}" />
   <deltree dir="${deploy}" />
   <deltree dir="${lib}" />
 </target>
 
 <target name="prepare" depends="clean">
   <mkdir dir="${classes}" />
   <mkdir dir="${deploy}" />
   <mkdir dir="${lib}" />
 </target>    
 
 <target name="compile" depends="prepare">
   <javac srcdir="${src}" destdir="${classes}" />
   <copyfile src="${lib}/app.jar" dest="${deploy}/app.jar" />
   <copyfile src="${config}/remote.properties" dest="${runDir}\remote.properties" />
   <jar jarfile="${lib}/app.jar" basedir="${classes}" />
 </target>

 <target name="prepareDeploy" depends="compile">  
    <copyfile src="${lib}/app.jar" dest="${deploy}/app.jar" />
    <copyfile src="${build}/remotebuild.xml" dest="${deploy}/build.xml" />
    <mkdir dir="${remote}" />   
 </target>
 
 <target name="deploy" depends="prepareDeploy">
    <ant antfile="${build}/deploy.xml" dir="." />
 </target>

</project>

 </source>
   
  
 
  



Ant task delete tree

   <source lang="java">

<project name="foo" default="deploy" basedir=".">

 <target name="init">
   <tstamp/>
   <property name="src" value="src" />
   <property name="build" value="build" />
   <property name="classes" value="classes" />
   <property name="deploy" value="deploy" />
   <property name="config" value="config" />
   <property name="runDir" value="." />
   <property name="local" value="local" />
   <property name="remote" value="remote" />
   <property name="lib" value="lib" />
 </target>
 
 <target name="clean" depends="init">
   <deltree dir="${classes}" />
   <deltree dir="${remote}" />
   <deltree dir="${deploy}" />
   <deltree dir="${lib}" />
 </target>
 
 <target name="prepare" depends="clean">
   <mkdir dir="${classes}" />
   <mkdir dir="${deploy}" />
   <mkdir dir="${lib}" />
 </target>    
 
 <target name="compile" depends="prepare">
   <javac srcdir="${src}" destdir="${classes}" />
   <copyfile src="${lib}/app.jar" dest="${deploy}/app.jar" />
   <copyfile src="${config}/remote.properties" dest="${runDir}\remote.properties" />
   <jar jarfile="${lib}/app.jar" basedir="${classes}" />
 </target>

 <target name="prepareDeploy" depends="compile">  
    <copyfile src="${lib}/app.jar" dest="${deploy}/app.jar" />
    <copyfile src="${build}/remotebuild.xml" dest="${deploy}/build.xml" />
    <mkdir dir="${remote}" />   
 </target>
 
 <target name="deploy" depends="prepareDeploy">
    <ant antfile="${build}/deploy.xml" dir="." />
 </target>

</project>

 </source>
   
  
 
  



copy todir, fileset, include, exclude

   <source lang="java">

//COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 <project name="ajax4jsf" default="distribute">

 <property name="commonLibs.dir" value="${basedir}/commonLibs"></property>
 
 <property name="distrib.dir" value="${basedir}/distribution"/>
 <property name="work.dir" value="${basedir}/build"/>
 
 <property name="src.root.dir" value="${basedir}/src"></property>
 
 <property name="test.src.dir" value="${src.root.dir}/testCase"></property>
 <property name="framework.src.dir" value="${src.root.dir}/framework"></property>
 <property name="framework.java.src.dir" value="${framework.src.dir}/java"></property>
 <property name="framework.js.src.dir" value="${framework.src.dir}/JavaScript"></property>
 <property name="framework.generate.src.dir" value="${framework.src.dir}/generate"></property>
 <property name="framework.build.dir" value="${work.dir}/framework"></property>
 <property name="cdk.src.dir" value="${src.root.dir}/cdk"></property>
 <property name="cdk.build.dir" value="${work.dir}/cdk"></property>
   <property name="test.src.dir" value="${src.root.dir}/test"></property>
   <property name="test.build.dir" value="${work.dir}/test"></property>
 <property name="doc.root.dir" value="${distrib.dir}/docs"></property>
 <property name="tlddoc.dir" value="${doc.root.dir}/tldDoc"></property>
 <property name="javadoc.dir" value="${doc.root.dir}/javaAPI"></property>
 <property name="tlddoc.jar" value="${commonLibs.dir}/tlddoc.jar"></property>
 
 <property name="framework-distribution-name" value="ajax4jsf"></property>
 <property name="cdk-distribution-name" value="ajax4jsf-cdk" />
   <property name="test-distribution-name" value="ajax4jsf-test" />
 
 <property name="generated-source.dir" value="${work.dir}/gen-src"></property>
 
 <fileset id="commonLibs" dir="${commonLibs.dir}">
   <include name="*.jar"/>
 </fileset>
 
 <path id="class-path">
   <fileset refid="commonLibs"></fileset>
 </path>
 <target name="prepare">
   <mkdir dir="${distrib.dir}"/>
   <mkdir dir="${work.dir}"/>
 </target>
 
 <target name="generate-framework" depends="compile-framework,compile-cdk">
   <ant antfile="${framework.generate.src.dir}/build.xml" inheritall="true" dir="${basedir}" target="xml-merge">
   </ant>
 </target>
 <target name="prepare-framework">
   <mkdir dir="${framework.build.dir}" />
 </target>
 <target name="prepare-cdk">
   <mkdir dir="${cdk.build.dir}" />
 </target>
   <target name="prepare-test">
       <mkdir dir="${test.build.dir}" />
   </target>
 
 <target name="compile-framework" depends="prepare-framework">
   <javac 
     destdir="${framework.build.dir}"
     compiler="javac1.4" 
     source="1.4" 
     target="1.4" 
     debug="true" 
           failonerror="false"         
     debuglevel="lines,vars,source">
     <classpath refid="class-path"></classpath>
     <src path="${framework.src.dir}"></src>
   </javac>
   <copy todir="${framework.build.dir}">
     <fileset dir="${framework.java.src.dir}">
       <include name="**/*.*"/>
       <exclude name="**/*.java"/>
       <exclude name="META-INF/*faces-config.xml"/>
     </fileset>
   </copy>
 </target>
 <target name="compile-cdk" depends="prepare-cdk">
   <javac 
     destdir="${cdk.build.dir}"
     compiler="javac1.5" 
     source="1.5" 
     target="1.5" 
     debug="true" 
     debuglevel="lines,vars,source">
       <classpath refid="class-path"></classpath>
     <src path="${cdk.src.dir}"></src>
   </javac>
   <copy todir="${cdk.build.dir}/META-INF">
     <fileset dir="${cdk.src.dir}/META-INF">
       <include name="**/*.*"/>
     </fileset>        
   </copy>    
 </target>
 
   <target name="compile-test" depends="prepare-test">
       <javac 
           destdir="${test.build.dir}"
           compiler="javac1.4" 
           source="1.4" 
           target="1.4" 
           debug="true" 
           debuglevel="lines,vars,source"
           includes="org/ajax4jsf/tests/*.*" >
               <classpath refid="class-path"></classpath>
           <classpath path="${framework.build.dir}"></classpath>   
           <src path="${test.src.dir}">
           </src>
       </javac>
       <copy todir="${test.build.dir}/META-INF">
           <fileset dir="${test.src.dir}/META-INF">
               <include name="**/*.*"/>
           </fileset>              
       </copy>     
       <copy todir="${test.build.dir}/WEB-INF">
           <fileset dir="${test.src.dir}/WEB-INF">
               <include name="**/*.*"/>
           </fileset>              
       </copy>     
   </target>
   <target name="compile-framework-phase2" depends="generate-framework">
   <javac 
     destdir="${framework.build.dir}"
     compiler="javac1.4" 
     source="1.4" 
     target="1.4" 
     debug="true" 
     debuglevel="lines,vars,source">
     <classpath>
       <path>
       <path refid="class-path"></path>
       <pathelement path="${framework.build.dir}"/>
       </path>
     </classpath>
     <src path="${generated-source.dir}"></src>
   </javac>
   <copy todir="${framework.build.dir}">
     <fileset dir="${generated-source.dir}">
       <include name="**/*.*"/>
       <exclude name="**/*.java"/>
       <exclude name="META-INF/*-faces-config.xml"/>
     </fileset>
   </copy>
 </target>
 
 <target name="assemble-javascripts" depends="prepare-framework">
   <ant antfile="${framework.js.src.dir}/build.xml" dir="${framework.js.src.dir}">
     <property name="target-dir" value="${framework.build.dir}"></property>
   </ant>
 </target>
 
 <target name="build-framework" depends="compile-framework,assemble-javascripts,compile-framework-phase2">
 </target>
 <target name="build-cdk" depends="compile-cdk">
 </target>
 
   <target name="build-test" depends="compile-test">
   </target>
       <target name="prepare-distribution-dir">
   <mkdir dir="${distrib.dir}/lib"/>
 </target>
 
 <target name="package-framework" depends="build-framework, prepare-distribution-dir">
   <jar destfile="${distrib.dir}/lib/${framework-distribution-name}.jar">
     <fileset dir="${framework.build.dir}">
       <include name="**/*.*"/>
     </fileset>
   </jar>
 </target>
 
 <target name="package-cdk" depends="prepare-distribution-dir,build-cdk">
   <jar destfile="${distrib.dir}/lib/${cdk-distribution-name}.jar">
     <fileset dir="${cdk.build.dir}">
       <include name="**/*.*"/>
     </fileset>
   </jar>
 </target>
   <target name="package-test" depends="prepare-distribution-dir,build-test">
       <jar destfile="${distrib.dir}/lib/${test-distribution-name}.jar">
           <fileset dir="${test.build.dir}">
               <include name="**/*.*"/>
           </fileset>
       </jar>
   </target>
 <target name="prepare-docs">
   <mkdir dir="${doc.root.dir}"/>
 </target>
 
 <target name="docs" depends="prepare-docs, javadoc, tlddoc, copy-doc">
   
 </target>
 
 <target name="copy-doc" depends="prepare-docs">
   <copy todir="${doc.root.dir}" failonerror="false">
     <fileset dir="${basedir}/doc">
       <include name="**/*"/>
     </fileset>
   </copy>
 </target>
 
 <target name="javadoc">
   <mkdir dir="${javadoc.dir}"/>
   <javadoc packagenames="org.*" destdir="${javadoc.dir}">
     <sourcepath>
       <pathelement path="${framework.java.src.dir}"/>
     </sourcepath>
     <classpath refid="class-path"></classpath>
   </javadoc>
 </target>
 
 <target name="tlddoc">
   <mkdir dir="${tlddoc.dir}"/>
   <echo message="${tlddoc.jar}"></echo>
   <apply executable="java" parallel="true" verbose="true">
     
     <arg line="-jar ${tlddoc.jar}"/>
     <arg line="-doctitle "AJAX4JSF""/>
     
     <arg line="-d ${tlddoc.dir}"/>
     <fileset dir="${framework.build.dir}/META-INF" includes="**.tld"/>
   </apply>
 </target>
 
 <target name="copy-dependencies" depends="prepare-distribution-dir">
   <copy todir="${distrib.dir}/lib">
     <fileset dir="${commonLibs.dir}">
       <include name="oscache*.jar"/>
     </fileset>
   </copy>
 </target>
 
 <target name="copy-src">
   <mkdir dir="${distrib.dir}/src"/>
   <copy todir="${distrib.dir}/src">
     <fileset dir="${framework.src.dir}">
       <include name="**/*"/>
     </fileset>
   </copy>
 </target>
 
 <target name="copy-demo">
   <mkdir dir="${distrib.dir}/demo"/>
   <copy todir="${distrib.dir}/demo" failonerror="false">
     <fileset dir="${basedir}/demo">
       <include name="**/*"/>
     </fileset>
   </copy>
 </target>
 
 <target name="copy-txt">
   <copy todir="${distrib.dir}">
     <fileset dir="${basedir}">
       <include name="*.txt"/>
       <include name="*.TXT"/>
     </fileset>
   </copy>
 </target>
 
 <target name="build-test-framework">
   <javac 
     destdir="${framework.build.dir}"
     compiler="javac1.4" 
     source="1.4" 
     target="1.4" 
     debug="true" 
     debuglevel="lines,vars,source">
     <classpath refid="class-path"></classpath>
     <src path="${test.src.dir}"></src>
   </javac>
   <copy todir="${framework.build.dir}">
     <fileset dir="${test.src.dir}">
       <include name="**/*.*"/>
       <exclude name="**/*.java"/>
       <exclude name="META-INF/*"/>
       <exclude name="WEB-INF/*"/>
     </fileset>
   </copy>
 </target>
 
 <target name="distribute" depends="clean,build-framework,package-framework, copy-dependencies, docs, copy-src, copy-txt, copy-demo, package-cdk, package-test">
   
   <delete file="${basedir}/velocity.log" failonerror="false" verbose="true"></delete>
 </target>
 
 <target name="clean">
   <delete dir="${work.dir}"></delete>
   <delete includeemptydirs="true" failonerror="false">
     <fileset dir="${distrib.dir}">
       <include name="**/*"/>
     </fileset>
   </delete>
 </target>

</project>

 </source>
   
  
 
  



Create folder

   <source lang="java">

<project name="YourName" default="all">

 <target name="all" depends="init,clean,compile,createJars,copyBuild" >
 </target>
 <target name="init" description="Project">
   <property environment="env" />
   <property name="j2sdkApi" value="${env.JAVA_HOME}/jre/lib/rt.jar" />
     <property name="src" value="./src" />
   <property name="build" value= "./build" />
 </target>
 <target name="clean" description="build" depends="init">
   <delete dir="${build}" />
   <mkdir dir="${build}" />
 </target>
 <target name="compile" description="compile" depends="init">
   <javac srcdir="${src}" destdir="${build}" >
     <classpath path="${j2sdkApi}" />
           <include name="**/application/**"/>
     <include name="**/types/**"/>
   </javac>
 </target>
 <target name="copyBuild" description="desccription here">
   <copy file="${src}/LOGOUNB_CAPA.JPG" todir="${build}/" />
   <copydir src="${src}/config" dest="${build}/config" />
 </target>
 <target name="createJars" description="jars" depends="compile">
   <mkdir dir="${build}/xml/jar"/>
   <jar jarfile="${build}/br/xml/jar/xpfg.jar"
      basedir="${build}/unb/cic/xml" />
     <manifest file="manifest.mf">
       <attribute name="Main-Class" value="${build}/br/unb/cic/xml/XMLMain" />
     </manifest>
 </target>

</project>

 </source>
   
  
 
  



Delete folder

   <source lang="java">

<project name="YourName" default="all">

 <target name="all" depends="init,clean,compile,createJars,copyBuild" >
 </target>
 <target name="init" description="Project">
   <property environment="env" />
   <property name="j2sdkApi" value="${env.JAVA_HOME}/jre/lib/rt.jar" />
     <property name="src" value="./src" />
   <property name="build" value= "./build" />
 </target>
 <target name="clean" description="build" depends="init">
   <delete dir="${build}" />
   <mkdir dir="${build}" />
 </target>
 <target name="compile" description="compile" depends="init">
   <javac srcdir="${src}" destdir="${build}" >
     <classpath path="${j2sdkApi}" />
           <include name="**/application/**"/>
     <include name="**/types/**"/>
   </javac>
 </target>
 <target name="copyBuild" description="desccription here">
   <copy file="${src}/LOGOUNB_CAPA.JPG" todir="${build}/" />
   <copydir src="${src}/config" dest="${build}/config" />
 </target>
 <target name="createJars" description="jars" depends="compile">
   <mkdir dir="${build}/xml/jar"/>
   <jar jarfile="${build}/br/xml/jar/xpfg.jar"
      basedir="${build}/unb/cic/xml" />
     <manifest file="manifest.mf">
       <attribute name="Main-Class" value="${build}/br/unb/cic/xml/XMLMain" />
     </manifest>
 </target>

</project>

 </source>
   
  
 
  



Delete with file set

   <source lang="java">

<?xml version="1.0"?> <project name="yourname" basedir=".." default="all">

 <property name="dist" location="dist/"/> 
 <property name="lib" location="lib/"/> 
 <property name="src" location="src/"/> 
 <path id="class.path">
   <pathelement path="${src}"/> 
   <fileset dir="${lib}">
     <include name="**/*.jar"/>
     <include name="**/*.zip"/>
   </fileset> 
   <fileset dir="/dev">
     <include name="**/*.jar"/>
     <include name="**/*.zip"/>
   </fileset> 
 </path>
 
 
 <target name="clean">
   <delete>
     <fileset dir="${src}" includes="**/*.class"/>
   </delete>
   <delete dir="${dist}"/>
 </target>
 
 <target name="zip" depends="clean">
   <tstamp/>
   <mkdir dir="${dist}"/>
   <zip destfile="${dist}\actionServlet-${DSTAMP}${TSTAMP}.zip">
     <zipfileset dir=".">
       <exclude name="${dist}"/>
     </zipfileset>
   </zip>
 </target>
 <target name="compile">
   <javac>
     <src path="${src}" />
     <classpath refid="class.path"/> 
     <include name = "*/**" />
   </javac>
  </target>
 <target name="jar" depends="compile">
   <mkdir dir="${dist}"/>
   <tstamp/>
   <jar
     basedir="src"
     jarfile="${dist}/actionServlet.jar"
     excludes="**/*.java, *.mdb"
   />
 </target>
 <target name="all" depends="jar"/>

</project>

 </source>
   
  
 
  



File Checksum

   <source lang="java">

  1. Licensed to the Apache Software Foundation (ASF) under one
  2. or more contributor license agreements. See the NOTICE file
  3. distributed with this work for additional information
  4. regarding copyright ownership. The ASF licenses this file
  5. to you under the Apache License, Version 2.0 (the
  6. "License"); you may not use this file except in compliance
  7. with the License. You may obtain a copy of the License at
  8. http://www.apache.org/licenses/LICENSE-2.0
  9. Unless required by applicable law or agreed to in writing,
  10. software distributed under the License is distributed on an
  11. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  12. KIND, either express or implied. See the License for the
  13. specific language governing permissions and limitations
  14. under the License.
  15. This file is used by build.xml
  16. Global defaults

name= Anakia project= anakia version= 1.0 final.name= ${project}-${version} root.package= org.apache.anakia

  1. compile switches

debug= on optimize= on deprecation= off ant.build.dir= build build.dir= ${app.dir}/bin

  1. The source tree runs through a filter copy task to
  2. allow substitution of version, date etc. and will
  3. end up in build.src

build.lib= ${build.dir}/lib build.test.lib= ${build.dir}/test-lib build.dest= ${build.dir}/classes build.test.dest= ${build.dir}/test-classes build.javadoc= ${build.dir}/apidocs build.test= ${build.dir}/test build.docs= ${build.dir}/docs

  1. Various local pathes in the distribution

src.java.dir= ${app.dir}/src/java test.java.dir= ${app.dir}/src/test test.dir= ${app.dir}/test example.dir= ${app.dir}/examples xdocs.dir= ${app.dir}/xdocs

  1. Running the tests

test.haltonerror= true test.haltonfailure= true

  1. Building the distribution

dist.root= ${build.dir}/dist dist.dir= ${dist.root}/${final.name}

  1. Set to Sun Javadocs

javadocs.ref.jsdk= http://java.sun.ru/j2se/1.4.2/docs/api/

  1. for the javadoc

javadoc.packagenames = ${root.package}.*

  1. attributes for the jar manifest

mf.package = ${root.package} mf.extension.name = ${project} mf.specification.title = Anakia is a XML-based text processor mf.specification.vendor = Apache Software Foundation mf.implementation.title = ${mf.package} mf.implementation.vendor.id = org.apache mf.implementation.vendor = Apache Software Foundation mf.implementation.version = ${version}

  1. #######################################################################
  2. Downloading jars from ibiblio repository
  3. #######################################################################
  4. The default behaviour is to download dependency jars only when
  5. they are not already present.
  6. Set skip.jar.loading to true to never download any dependency jar,
  7. or force.jar.loading to true to always download all dependency jars.

skip.jar.loading= false force.jar.loading= false

  1. Settings for the proxy to use for download. Change this if you must
  2. use a proxy from your host. If the proxy.host property is unset, no
  3. proxy is used.

proxy.host= proxy.port= 80

  1. We download directly from the ibiblio maven repository

repo.url= http://www.ibiblio.org/maven

  1. Jars to be downloaded

jar.antlr.version= 2.7.5 jar.rumons-collections.version= 3.1 jar.rumons-lang.version= 2.1 jar.jdom.version= 1.0 jar.werken-xpath.version= 0.9.4 jar.junit.version= 3.8.1 jar.velocity.version= 1.5

<?xml version="1.0" encoding="ISO-8859-1"?>





<project name="Anakia" default="world" basedir="..">

 <path id="basedir-os">
   <pathelement location="${basedir}" />
 </path>
 
 
 
 <pathconvert property="app.dir" refid="basedir-os" targetos="unix"/>
 
 <property file="${user.home}/.ant.properties" />
 <property file="${user.home}/build.properties" />
 <property file=".ant.properties" />
 
 <property file="build/build.properties" />
 <property name="test.runner" value="junit.textui.TestRunner"/>
 <target name="world" depends="jar,test,javadocs,docs,env"
         description="Build the project jar and documentation"/>
 
 
 
 <target name="env" description="Prints build parameters">
   <echo>
 Global settings:
   java.home = ${java.home}
   user.home = ${user.home}
   java.class.path = ${java.class.path}
 Project settings:
   Version:     ${version}
   Debug:       ${debug}
   Optimize:    ${optimize}
   Deprecation: ${deprecation}
 Target settings (relative to build tree root):
   Classes:      ${build.dest}
   API Docs:     ${build.javadoc}
   Docs:         ${build.docs}
   </echo>
 </target>
 
 
 
 <target name="prepare" depends="basic-prepare"/>
 
 
 
 <target name="basic-prepare">
   <mkdir dir="${build.dir}"/>
   <mkdir dir="${build.dest}"/>
   <mkdir dir="${build.test.dest}"/>
 </target>
 
 
 
 <target name="build-prepare" depends="basic-prepare">
   <ant antfile="${ant.build.dir}/download.xml" target="build-download" />
   
   <path id="build.classpath">
     <fileset dir="${build.lib}">
       <include name="**/*.jar"/>
     </fileset>
   </path>
   
   <path id="test.classpath">
       <fileset dir="${build.test.lib}">
         <include name="**/*.jar"/>
       </fileset>
       <fileset dir="${build.lib}">
         <include name="**/*.jar"/>
       </fileset>
       <pathelement location="${build.dest}" />
       <pathelement location="${build.test.dest}" />
   </path>
   <path id="run.classpath">
     <path refid="build.classpath"/>
     <pathelement location="${build.dir}/${final.name}.jar"/>
   </path>
 </target>
 
 
 
 <target name="compile" depends="compile-src,compile-test"/>
 <target name="compile-src" depends="build-prepare"
         description="Compiles the source">
   <javac srcdir="${src.java.dir}"
     destdir="${build.dest}"
     encoding="UTF-8"
     debug="${debug}"
     deprecation="${deprecation}"
     optimize="${optimize}"
     classpathref="build.classpath"/>
   <copy todir="${build.dest}" filtering="yes">
     <fileset dir="${src.java.dir}">
       <include name="**/*.properties"/>
     </fileset>
   </copy>
 </target>
 <target name="compile-test" depends="build-prepare,compile-src"
         description="Compiles the test classes">
   <javac srcdir="${test.java.dir}"
     destdir="${build.test.dest}"
     encoding="UTF-8"
     debug="${debug}"
     deprecation="${deprecation}"
     optimize="${optimize}">
     
     <classpath>
       <path refid="build.classpath"/>
       <path refid="test.classpath" />
       <pathelement location="${build.dest}"/>
     </classpath>
   </javac>
   <copy todir="${build.test.dest}" filtering="yes">
     <fileset dir="${test.java.dir}">
       <include name="**/*.properties"/>
     </fileset>
   </copy>
 </target>



 <target name="jar" depends="compile-src"
         description="Builds the Jar file">
   <property name="jarname" value="${final.name}" />
   <jar jarfile="${build.dir}/${jarname}.jar">
     <metainf dir="${app.dir}">
       <include name="LICENSE"/>
       <include name="NOTICE"/>
     </metainf>
     <fileset dir="${build.dest}"/>
     <manifest>
       <attribute name="Created-By" value="Apache Ant"/>
       <attribute name="Build-Jdk" value="${java.version}"/>
       <attribute name="Package" value="${mf.package}"/>
       <attribute name="Extension-Name" value="${mf.extension.name}"/>
       <attribute name="Specification-Title" value="${mf.specification.title}" />
       <attribute name="Specification-Vendor" value="${mf.specification.vendor}"/>
       <attribute name="Implementation-Title" value="${mf.implementation.title}"/>
       <attribute name="Implementation-Vendor-Id" value="${mf.implementation.vendor.id}"/>
       <attribute name="Implementation-Vendor" value="${mf.implementation.vendor}"/>
       <attribute name="Implementation-Version" value="${mf.implementation.version}"/>
     </manifest>
   </jar>
   <checksum file="${build.dir}/${jarname}.jar" algorithm="md5" property="checksum.jar.md5"/>
   <checksum file="${build.dir}/${jarname}.jar" algorithm="sha1" property="checksum.jar.sha1"/>
   <echo message="${checksum.jar.md5} *${jarname}.jar" file="${build.dir}/${jarname}.jar.md5" />
   <echo message="${checksum.jar.sha1} *${jarname}.jar" file="${build.dir}/${jarname}.jar.sha1" />
 </target>
 
 
 
 <target name="jar-src"
         depends="prepare"
         description="Builds the Source Jar File">
   <jar jarfile="${build.dir}/${final.name}-src.jar">
     <metainf dir="${app.dir}">
       <include name="LICENSE"/>
       <include name="NOTICE"/>
     </metainf>
     <fileset dir="${src.java.dir}"/>
     <manifest>
       <attribute name="Created-By" value="Apache Ant"/>
       <attribute name="Specification-Title" value="${mf.specification.title}" />
       <attribute name="Specification-Vendor" value="${mf.specification.vendor}"/>
       <attribute name="Implementation-Title" value="${mf.implementation.title}"/>
       <attribute name="Implementation-Vendor-Id" value="${mf.implementation.vendor.id}"/>
       <attribute name="Implementation-Vendor" value="${mf.implementation.vendor}"/>
       <attribute name="Implementation-Version" value="${mf.implementation.version}"/>
     </manifest>
   </jar>
   <checksum file="${build.dir}/${final.name}-src.jar" algorithm="md5" property="checksum.jar-src.md5"/>
   <checksum file="${build.dir}/${final.name}-src.jar" algorithm="sha1" property="checksum.jar-src.sha1"/>
   <echo message="${checksum.jar-src.md5} *${final.name}-src.jar" file="${build.dir}/${final.name}-src.jar.md5" />
   <echo message="${checksum.jar-src.sha1} *${final.name}-src.jar" file="${build.dir}/${final.name}-src.jar.sha1" />
 </target>
 
 
 
 <target name="javadocs" depends="build-prepare"
         description="Creates the Javadoc API documentation">
   <mkdir dir="${build.javadoc}"/>
   <javadoc sourcepath="${src.java.dir}"
            packagenames="${javadoc.packagenames}"
            destdir="${build.javadoc}"
            author="true"
            private="false"
            version="true"
            use="true"
            windowtitle="${name} ${version} API"
            doctitle="${name} ${version} API"
            encoding="UTF-8"
            docencoding="UTF-8"
            bottom="Copyright © 2000-${build.year} <a href="http://www.apache.org/%22>Apache Software Foundation</a>. All Rights Reserved."
            classpathref="build.classpath">
     <link href="${javadocs.ref.jsdk}"/>
     <link href="http://www.jdom.org/docs/apidocs"/>
     <link href="http://logging.apache.org/log4j/docs/api"/>
     <link href="http://excalibur.apache.org/apidocs"/>
     <link href="http://tomcat.apache.org/tomcat-4.1-doc/servletapi"/>
     <link href="http://jakarta.apache.org/oro/api"/>
     <link href="http://jakarta.apache.org/commons/lang/api-release"/>
     <link href="http://jakarta.apache.org/commons/collections/api-release"/>
   </javadoc>
 </target>
 <target name="javadocs-clean">
   <delete dir="${build.javadoc}" quiet="true"/>
 </target>
 
 
 
 <target name="build-package-tree" depends="clean,jar,docs,javadocs">
   <mkdir dir="${dist.dir}"/>
   <mkdir dir="${dist.dir}/src/java"/>
   <copy todir="${dist.dir}/src/java/">
     <fileset dir="${src.java.dir}" />
   </copy>
   <copy todir="${dist.dir}/src/test/">
     <fileset dir="${test.java.dir}" />
   </copy>
   <copy todir="${dist.dir}/lib">
     <fileset dir="${build.lib}" />
   </copy>
   <copy todir="${dist.dir}/lib/test">
     <fileset dir="${build.test.lib}" />
   </copy>
   <copy todir="${dist.dir}/build">
     <fileset dir="${app.dir}/build">
       <include name="**"/>
       <exclude name="velocity.log"/>
     </fileset>
   </copy>
   
   <copy todir="${dist.dir}/docs">
     <fileset dir="${build.docs}">
       <include name="**"/>
       <exclude name="docs/api/**"/>
     </fileset>
   </copy>
   
   <copy todir="${dist.dir}/docs/api">
     <fileset dir="${build.javadoc}">
       <include name="**"/>
     </fileset>
   </copy>
   <copy todir="${dist.dir}/test">
     <fileset dir="${app.dir}/test">
       <include name="**"/>
     </fileset>
   </copy>
   <copy todir="${dist.dir}/xdocs">
     <fileset dir="${xdocs.dir}">
       <include name="**"/>
     </fileset>
   </copy>
   <copy todir="${dist.dir}">
     <fileset dir="${app.dir}">
       <include name="LICENSE" />
       <include name="NOTICE" />
       <include name="README.txt" />
       <include name="pom.xml" />
     </fileset>
   </copy>
   <copy
     file="${build.dir}/${final.name}.jar"
     tofile="${dist.dir}/${final.name}.jar"
   />
 </target>
 
 
 
 <target name="package-zip"
         depends="build-package-tree">
   
   <fixcrlf srcdir="${dist.dir}" eol="crlf" eof="asis" encoding="ISO-8859-1">
     <include name="**/*.html" />
     <include name="**/*.java" />
     <include name="**/*.properties" />
     <include name="**/*.txt" />
     <include name="**/*.xml" />
   </fixcrlf>
   <delete file="${build.dir}/${final.name}.zip" quiet="true"/>
   <zip zipfile="${build.dir}/${final.name}.zip" basedir="${dist.root}"
        includes="**/${final.name}/**"/>
   <checksum file="${build.dir}/${final.name}.zip" algorithm="md5" property="checksum.zip.md5"/>
   <checksum file="${build.dir}/${final.name}.zip" algorithm="sha1" property="checksum.zip.sha1"/>
   <echo message="${checksum.zip.md5} *${final.name}.zip" file="${build.dir}/${final.name}.zip.md5" />
   <echo message="${checksum.zip.sha1} *${final.name}.zip" file="${build.dir}/${final.name}.zip.sha1" />
 </target>
 
 
 
 <target name="package-tgz"
         depends="build-package-tree">
   
   <fixcrlf srcdir="${dist.dir}" eol="lf" eof="remove" encoding="ISO-8859-1">
     <include name="**/*.html" />
     <include name="**/*.java" />
     <include name="**/*.properties" />
     <include name="**/*.txt" />
     <include name="**/*.xml" />
   </fixcrlf>
   <delete file="${build.dir}/${final.name}.tar.gz" quiet="true"/>
   <tar tarfile="${build.dir}/${final.name}.tar.gz" basedir="${dist.root}"
        includes="**/${final.name}/**" longfile="gnu" compression="gzip" />
   <checksum file="${build.dir}/${final.name}.tar.gz" algorithm="md5" property="checksum.tgz.md5"/>
   <checksum file="${build.dir}/${final.name}.tar.gz" algorithm="sha1" property="checksum.tgz.sha1"/>
   <echo message="${checksum.tgz.md5} *${final.name}.tar.gz" file="${build.dir}/${final.name}.tar.gz.md5" />
   <echo message="${checksum.tgz.sha1} *${final.name}.tar.gz" file="${build.dir}/${final.name}.tar.gz.sha1" />
 </target>



 <target name="package"
         depends="package-zip,package-tgz"
         description="Generates the distribution files">
 </target>
 
 
 
 
 <target name="clean" 
         description="Cleans all generated files except downloaded libs">
   <delete includeEmptyDirs="true" quiet="true">
     <fileset dir="${build.dir}" defaultexcludes="no">
       <exclude name="lib/**" />
       <exclude name="test-lib/**" />
     </fileset>
     <fileset dir="${ant.build.dir}" defaultexcludes="no">
       <include name="velocity.log" />
     </fileset>
   </delete>
 </target>
 
 
 
 <target name="real-clean" 
         description="Cleans all generated files">
   <delete includeEmptyDirs="true" quiet="true" dir="${build.dir}" />
 </target>
 
 
 
 <target name="docs" depends="build-prepare,jar"
         description="Generates the HTML documentation">
   <taskdef name="anakia"
            classname="org.apache.anakia.AnakiaTask"
            classpathref="run.classpath"/>
   <echo>
 #######################################################
 #
 #  Now using Anakia to transform the XML documentation
 #  to HTML.
 #######################################################
   </echo>
   <anakia basedir="${xdocs.dir}/docs" destdir="${build.docs}"
        extension=".html" style="site.vsl"
        projectFile="../stylesheets/project.xml"
        includes="**/*.xml"
        lastModifiedCheck="true"
        templatePath="${xdocs.dir}/stylesheets">
   </anakia>
   <copy todir="${build.docs}/images" filtering="no">
       <fileset dir="${xdocs.dir}/images">
           <include name="**/*.gif"/>
           <include name="**/*.jpeg"/>
           <include name="**/*.jpg"/>
           <include name="**/*.png"/>
       </fileset>
   </copy>
   <copy todir="${build.docs}" filtering="no">
       <fileset dir="${xdocs.dir}">
           <include name="**/*.css"/>
           <include name="**/.htaccess"/>
       </fileset>
   </copy>
 </target>



 <target name="docs-clean">
   <delete dir="${build.docs}" quiet="true"/>
 </target>



 <target name="test-clean">
   <delete dir="${build.test.dest}" quiet="true"/>
   <delete dir="${build.test}" quiet="true"/>
   <delete dir="${build.test.reports}" quiet="true"/>
 </target>
 <target name="test"
         depends="build-prepare,compile-test,test-anakia"/>
 <target name="test-anakia">
   <echo message="Running Anakia tests..."/>
   <taskdef name="anakia" classname="org.apache.anakia.AnakiaTask"
            classpathref="test.classpath"/>
   
   <anakia basedir="${test.dir}/anakia/xdocs"
           destdir="${build.test}/anakia"
       extension=".html" style="./site_contexts.vsl"
       projectFile="./stylesheets/project.xml"
       excludes="**/stylesheets/**"
       includes="**/*.xml"
       templatePath="${test.dir}/anakia/xdocs/stylesheets"
       lastModifiedCheck="false">
   </anakia>
   <anakia basedir="${test.dir}/anakia/xdocs"
           destdir="${build.test}/anakia"
       extension=".context.html" style="./site_contexts.vsl"
       projectFile="./stylesheets/project.xml"
       excludes="**/stylesheets/**"
       includes="**/*.xml"
       templatePath="${test.dir}/anakia/xdocs/stylesheets"
       lastModifiedCheck="false">
       <context name="customContext" file="./stylesheets/customContext.xml"/>
   </anakia>
   <java classname="${test.runner}" fork="yes" dir="${app.dir}" failonerror="${test.haltonerror}"
         classpathref="test.classpath">
     <arg value="org.apache.anakia.AnakiaTestCase"/>
   </java>
 </target>

</project>

 </source>
   
  
 
  



File file with fixcrlf

   <source lang="java">

  1. Licensed to the Apache Software Foundation (ASF) under one
  2. or more contributor license agreements. See the NOTICE file
  3. distributed with this work for additional information
  4. regarding copyright ownership. The ASF licenses this file
  5. to you under the Apache License, Version 2.0 (the
  6. "License"); you may not use this file except in compliance
  7. with the License. You may obtain a copy of the License at
  8. http://www.apache.org/licenses/LICENSE-2.0
  9. Unless required by applicable law or agreed to in writing,
  10. software distributed under the License is distributed on an
  11. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  12. KIND, either express or implied. See the License for the
  13. specific language governing permissions and limitations
  14. under the License.
  15. This file is used by build.xml
  16. Global defaults

name= Anakia project= anakia version= 1.0 final.name= ${project}-${version} root.package= org.apache.anakia

  1. compile switches

debug= on optimize= on deprecation= off ant.build.dir= build build.dir= ${app.dir}/bin

  1. The source tree runs through a filter copy task to
  2. allow substitution of version, date etc. and will
  3. end up in build.src

build.lib= ${build.dir}/lib build.test.lib= ${build.dir}/test-lib build.dest= ${build.dir}/classes build.test.dest= ${build.dir}/test-classes build.javadoc= ${build.dir}/apidocs build.test= ${build.dir}/test build.docs= ${build.dir}/docs

  1. Various local pathes in the distribution

src.java.dir= ${app.dir}/src/java test.java.dir= ${app.dir}/src/test test.dir= ${app.dir}/test example.dir= ${app.dir}/examples xdocs.dir= ${app.dir}/xdocs

  1. Running the tests

test.haltonerror= true test.haltonfailure= true

  1. Building the distribution

dist.root= ${build.dir}/dist dist.dir= ${dist.root}/${final.name}

  1. Set to Sun Javadocs

javadocs.ref.jsdk= http://java.sun.ru/j2se/1.4.2/docs/api/

  1. for the javadoc

javadoc.packagenames = ${root.package}.*

  1. attributes for the jar manifest

mf.package = ${root.package} mf.extension.name = ${project} mf.specification.title = Anakia is a XML-based text processor mf.specification.vendor = Apache Software Foundation mf.implementation.title = ${mf.package} mf.implementation.vendor.id = org.apache mf.implementation.vendor = Apache Software Foundation mf.implementation.version = ${version}

  1. #######################################################################
  2. Downloading jars from ibiblio repository
  3. #######################################################################
  4. The default behaviour is to download dependency jars only when
  5. they are not already present.
  6. Set skip.jar.loading to true to never download any dependency jar,
  7. or force.jar.loading to true to always download all dependency jars.

skip.jar.loading= false force.jar.loading= false

  1. Settings for the proxy to use for download. Change this if you must
  2. use a proxy from your host. If the proxy.host property is unset, no
  3. proxy is used.

proxy.host= proxy.port= 80

  1. We download directly from the ibiblio maven repository

repo.url= http://www.ibiblio.org/maven

  1. Jars to be downloaded

jar.antlr.version= 2.7.5 jar.rumons-collections.version= 3.1 jar.rumons-lang.version= 2.1 jar.jdom.version= 1.0 jar.werken-xpath.version= 0.9.4 jar.junit.version= 3.8.1 jar.velocity.version= 1.5

<?xml version="1.0" encoding="ISO-8859-1"?>





<project name="Anakia" default="world" basedir="..">

 <path id="basedir-os">
   <pathelement location="${basedir}" />
 </path>
 
 
 
 <pathconvert property="app.dir" refid="basedir-os" targetos="unix"/>
 
 <property file="${user.home}/.ant.properties" />
 <property file="${user.home}/build.properties" />
 <property file=".ant.properties" />
 
 <property file="build/build.properties" />
 <property name="test.runner" value="junit.textui.TestRunner"/>
 <target name="world" depends="jar,test,javadocs,docs,env"
         description="Build the project jar and documentation"/>
 
 
 
 <target name="env" description="Prints build parameters">
   <echo>
 Global settings:
   java.home = ${java.home}
   user.home = ${user.home}
   java.class.path = ${java.class.path}
 Project settings:
   Version:     ${version}
   Debug:       ${debug}
   Optimize:    ${optimize}
   Deprecation: ${deprecation}
 Target settings (relative to build tree root):
   Classes:      ${build.dest}
   API Docs:     ${build.javadoc}
   Docs:         ${build.docs}
   </echo>
 </target>
 
 
 
 <target name="prepare" depends="basic-prepare"/>
 
 
 
 <target name="basic-prepare">
   <mkdir dir="${build.dir}"/>
   <mkdir dir="${build.dest}"/>
   <mkdir dir="${build.test.dest}"/>
 </target>
 
 
 
 <target name="build-prepare" depends="basic-prepare">
   <ant antfile="${ant.build.dir}/download.xml" target="build-download" />
   
   <path id="build.classpath">
     <fileset dir="${build.lib}">
       <include name="**/*.jar"/>
     </fileset>
   </path>
   
   <path id="test.classpath">
       <fileset dir="${build.test.lib}">
         <include name="**/*.jar"/>
       </fileset>
       <fileset dir="${build.lib}">
         <include name="**/*.jar"/>
       </fileset>
       <pathelement location="${build.dest}" />
       <pathelement location="${build.test.dest}" />
   </path>
   <path id="run.classpath">
     <path refid="build.classpath"/>
     <pathelement location="${build.dir}/${final.name}.jar"/>
   </path>
 </target>
 
 
 
 <target name="compile" depends="compile-src,compile-test"/>
 <target name="compile-src" depends="build-prepare"
         description="Compiles the source">
   <javac srcdir="${src.java.dir}"
     destdir="${build.dest}"
     encoding="UTF-8"
     debug="${debug}"
     deprecation="${deprecation}"
     optimize="${optimize}"
     classpathref="build.classpath"/>
   <copy todir="${build.dest}" filtering="yes">
     <fileset dir="${src.java.dir}">
       <include name="**/*.properties"/>
     </fileset>
   </copy>
 </target>
 <target name="compile-test" depends="build-prepare,compile-src"
         description="Compiles the test classes">
   <javac srcdir="${test.java.dir}"
     destdir="${build.test.dest}"
     encoding="UTF-8"
     debug="${debug}"
     deprecation="${deprecation}"
     optimize="${optimize}">
     
     <classpath>
       <path refid="build.classpath"/>
       <path refid="test.classpath" />
       <pathelement location="${build.dest}"/>
     </classpath>
   </javac>
   <copy todir="${build.test.dest}" filtering="yes">
     <fileset dir="${test.java.dir}">
       <include name="**/*.properties"/>
     </fileset>
   </copy>
 </target>



 <target name="jar" depends="compile-src"
         description="Builds the Jar file">
   <property name="jarname" value="${final.name}" />
   <jar jarfile="${build.dir}/${jarname}.jar">
     <metainf dir="${app.dir}">
       <include name="LICENSE"/>
       <include name="NOTICE"/>
     </metainf>
     <fileset dir="${build.dest}"/>
     <manifest>
       <attribute name="Created-By" value="Apache Ant"/>
       <attribute name="Build-Jdk" value="${java.version}"/>
       <attribute name="Package" value="${mf.package}"/>
       <attribute name="Extension-Name" value="${mf.extension.name}"/>
       <attribute name="Specification-Title" value="${mf.specification.title}" />
       <attribute name="Specification-Vendor" value="${mf.specification.vendor}"/>
       <attribute name="Implementation-Title" value="${mf.implementation.title}"/>
       <attribute name="Implementation-Vendor-Id" value="${mf.implementation.vendor.id}"/>
       <attribute name="Implementation-Vendor" value="${mf.implementation.vendor}"/>
       <attribute name="Implementation-Version" value="${mf.implementation.version}"/>
     </manifest>
   </jar>
   <checksum file="${build.dir}/${jarname}.jar" algorithm="md5" property="checksum.jar.md5"/>
   <checksum file="${build.dir}/${jarname}.jar" algorithm="sha1" property="checksum.jar.sha1"/>
   <echo message="${checksum.jar.md5} *${jarname}.jar" file="${build.dir}/${jarname}.jar.md5" />
   <echo message="${checksum.jar.sha1} *${jarname}.jar" file="${build.dir}/${jarname}.jar.sha1" />
 </target>
 
 
 
 <target name="jar-src"
         depends="prepare"
         description="Builds the Source Jar File">
   <jar jarfile="${build.dir}/${final.name}-src.jar">
     <metainf dir="${app.dir}">
       <include name="LICENSE"/>
       <include name="NOTICE"/>
     </metainf>
     <fileset dir="${src.java.dir}"/>
     <manifest>
       <attribute name="Created-By" value="Apache Ant"/>
       <attribute name="Specification-Title" value="${mf.specification.title}" />
       <attribute name="Specification-Vendor" value="${mf.specification.vendor}"/>
       <attribute name="Implementation-Title" value="${mf.implementation.title}"/>
       <attribute name="Implementation-Vendor-Id" value="${mf.implementation.vendor.id}"/>
       <attribute name="Implementation-Vendor" value="${mf.implementation.vendor}"/>
       <attribute name="Implementation-Version" value="${mf.implementation.version}"/>
     </manifest>
   </jar>
   <checksum file="${build.dir}/${final.name}-src.jar" algorithm="md5" property="checksum.jar-src.md5"/>
   <checksum file="${build.dir}/${final.name}-src.jar" algorithm="sha1" property="checksum.jar-src.sha1"/>
   <echo message="${checksum.jar-src.md5} *${final.name}-src.jar" file="${build.dir}/${final.name}-src.jar.md5" />
   <echo message="${checksum.jar-src.sha1} *${final.name}-src.jar" file="${build.dir}/${final.name}-src.jar.sha1" />
 </target>
 
 
 
 <target name="javadocs" depends="build-prepare"
         description="Creates the Javadoc API documentation">
   <mkdir dir="${build.javadoc}"/>
   <javadoc sourcepath="${src.java.dir}"
            packagenames="${javadoc.packagenames}"
            destdir="${build.javadoc}"
            author="true"
            private="false"
            version="true"
            use="true"
            windowtitle="${name} ${version} API"
            doctitle="${name} ${version} API"
            encoding="UTF-8"
            docencoding="UTF-8"
            bottom="Copyright © 2000-${build.year} <a href="http://www.apache.org/%22>Apache Software Foundation</a>. All Rights Reserved."
            classpathref="build.classpath">
     <link href="${javadocs.ref.jsdk}"/>
     <link href="http://www.jdom.org/docs/apidocs"/>
     <link href="http://logging.apache.org/log4j/docs/api"/>
     <link href="http://excalibur.apache.org/apidocs"/>
     <link href="http://tomcat.apache.org/tomcat-4.1-doc/servletapi"/>
     <link href="http://jakarta.apache.org/oro/api"/>
     <link href="http://jakarta.apache.org/commons/lang/api-release"/>
     <link href="http://jakarta.apache.org/commons/collections/api-release"/>
   </javadoc>
 </target>
 <target name="javadocs-clean">
   <delete dir="${build.javadoc}" quiet="true"/>
 </target>
 
 
 
 <target name="build-package-tree" depends="clean,jar,docs,javadocs">
   <mkdir dir="${dist.dir}"/>
   <mkdir dir="${dist.dir}/src/java"/>
   <copy todir="${dist.dir}/src/java/">
     <fileset dir="${src.java.dir}" />
   </copy>
   <copy todir="${dist.dir}/src/test/">
     <fileset dir="${test.java.dir}" />
   </copy>
   <copy todir="${dist.dir}/lib">
     <fileset dir="${build.lib}" />
   </copy>
   <copy todir="${dist.dir}/lib/test">
     <fileset dir="${build.test.lib}" />
   </copy>
   <copy todir="${dist.dir}/build">
     <fileset dir="${app.dir}/build">
       <include name="**"/>
       <exclude name="velocity.log"/>
     </fileset>
   </copy>
   
   <copy todir="${dist.dir}/docs">
     <fileset dir="${build.docs}">
       <include name="**"/>
       <exclude name="docs/api/**"/>
     </fileset>
   </copy>
   
   <copy todir="${dist.dir}/docs/api">
     <fileset dir="${build.javadoc}">
       <include name="**"/>
     </fileset>
   </copy>
   <copy todir="${dist.dir}/test">
     <fileset dir="${app.dir}/test">
       <include name="**"/>
     </fileset>
   </copy>
   <copy todir="${dist.dir}/xdocs">
     <fileset dir="${xdocs.dir}">
       <include name="**"/>
     </fileset>
   </copy>
   <copy todir="${dist.dir}">
     <fileset dir="${app.dir}">
       <include name="LICENSE" />
       <include name="NOTICE" />
       <include name="README.txt" />
       <include name="pom.xml" />
     </fileset>
   </copy>
   <copy
     file="${build.dir}/${final.name}.jar"
     tofile="${dist.dir}/${final.name}.jar"
   />
 </target>
 
 
 
 <target name="package-zip"
         depends="build-package-tree">
   
   <fixcrlf srcdir="${dist.dir}" eol="crlf" eof="asis" encoding="ISO-8859-1">
     <include name="**/*.html" />
     <include name="**/*.java" />
     <include name="**/*.properties" />
     <include name="**/*.txt" />
     <include name="**/*.xml" />
   </fixcrlf>
   <delete file="${build.dir}/${final.name}.zip" quiet="true"/>
   <zip zipfile="${build.dir}/${final.name}.zip" basedir="${dist.root}"
        includes="**/${final.name}/**"/>
   <checksum file="${build.dir}/${final.name}.zip" algorithm="md5" property="checksum.zip.md5"/>
   <checksum file="${build.dir}/${final.name}.zip" algorithm="sha1" property="checksum.zip.sha1"/>
   <echo message="${checksum.zip.md5} *${final.name}.zip" file="${build.dir}/${final.name}.zip.md5" />
   <echo message="${checksum.zip.sha1} *${final.name}.zip" file="${build.dir}/${final.name}.zip.sha1" />
 </target>
 
 
 
 <target name="package-tgz"
         depends="build-package-tree">
   
   <fixcrlf srcdir="${dist.dir}" eol="lf" eof="remove" encoding="ISO-8859-1">
     <include name="**/*.html" />
     <include name="**/*.java" />
     <include name="**/*.properties" />
     <include name="**/*.txt" />
     <include name="**/*.xml" />
   </fixcrlf>
   <delete file="${build.dir}/${final.name}.tar.gz" quiet="true"/>
   <tar tarfile="${build.dir}/${final.name}.tar.gz" basedir="${dist.root}"
        includes="**/${final.name}/**" longfile="gnu" compression="gzip" />
   <checksum file="${build.dir}/${final.name}.tar.gz" algorithm="md5" property="checksum.tgz.md5"/>
   <checksum file="${build.dir}/${final.name}.tar.gz" algorithm="sha1" property="checksum.tgz.sha1"/>
   <echo message="${checksum.tgz.md5} *${final.name}.tar.gz" file="${build.dir}/${final.name}.tar.gz.md5" />
   <echo message="${checksum.tgz.sha1} *${final.name}.tar.gz" file="${build.dir}/${final.name}.tar.gz.sha1" />
 </target>



 <target name="package"
         depends="package-zip,package-tgz"
         description="Generates the distribution files">
 </target>
 
 
 
 
 <target name="clean" 
         description="Cleans all generated files except downloaded libs">
   <delete includeEmptyDirs="true" quiet="true">
     <fileset dir="${build.dir}" defaultexcludes="no">
       <exclude name="lib/**" />
       <exclude name="test-lib/**" />
     </fileset>
     <fileset dir="${ant.build.dir}" defaultexcludes="no">
       <include name="velocity.log" />
     </fileset>
   </delete>
 </target>
 
 
 
 <target name="real-clean" 
         description="Cleans all generated files">
   <delete includeEmptyDirs="true" quiet="true" dir="${build.dir}" />
 </target>
 
 
 
 <target name="docs" depends="build-prepare,jar"
         description="Generates the HTML documentation">
   <taskdef name="anakia"
            classname="org.apache.anakia.AnakiaTask"
            classpathref="run.classpath"/>
   <echo>
 #######################################################
 #
 #  Now using Anakia to transform the XML documentation
 #  to HTML.
 #######################################################
   </echo>
   <anakia basedir="${xdocs.dir}/docs" destdir="${build.docs}"
        extension=".html" style="site.vsl"
        projectFile="../stylesheets/project.xml"
        includes="**/*.xml"
        lastModifiedCheck="true"
        templatePath="${xdocs.dir}/stylesheets">
   </anakia>
   <copy todir="${build.docs}/images" filtering="no">
       <fileset dir="${xdocs.dir}/images">
           <include name="**/*.gif"/>
           <include name="**/*.jpeg"/>
           <include name="**/*.jpg"/>
           <include name="**/*.png"/>
       </fileset>
   </copy>
   <copy todir="${build.docs}" filtering="no">
       <fileset dir="${xdocs.dir}">
           <include name="**/*.css"/>
           <include name="**/.htaccess"/>
       </fileset>
   </copy>
 </target>



 <target name="docs-clean">
   <delete dir="${build.docs}" quiet="true"/>
 </target>



 <target name="test-clean">
   <delete dir="${build.test.dest}" quiet="true"/>
   <delete dir="${build.test}" quiet="true"/>
   <delete dir="${build.test.reports}" quiet="true"/>
 </target>
 <target name="test"
         depends="build-prepare,compile-test,test-anakia"/>
 <target name="test-anakia">
   <echo message="Running Anakia tests..."/>
   <taskdef name="anakia" classname="org.apache.anakia.AnakiaTask"
            classpathref="test.classpath"/>
   
   <anakia basedir="${test.dir}/anakia/xdocs"
           destdir="${build.test}/anakia"
       extension=".html" style="./site_contexts.vsl"
       projectFile="./stylesheets/project.xml"
       excludes="**/stylesheets/**"
       includes="**/*.xml"
       templatePath="${test.dir}/anakia/xdocs/stylesheets"
       lastModifiedCheck="false">
   </anakia>
   <anakia basedir="${test.dir}/anakia/xdocs"
           destdir="${build.test}/anakia"
       extension=".context.html" style="./site_contexts.vsl"
       projectFile="./stylesheets/project.xml"
       excludes="**/stylesheets/**"
       includes="**/*.xml"
       templatePath="${test.dir}/anakia/xdocs/stylesheets"
       lastModifiedCheck="false">
       <context name="customContext" file="./stylesheets/customContext.xml"/>
   </anakia>
   <java classname="${test.runner}" fork="yes" dir="${app.dir}" failonerror="${test.haltonerror}"
         classpathref="test.classpath">
     <arg value="org.apache.anakia.AnakiaTestCase"/>
   </java>
 </target>

</project>

 </source>
   
  
 
  



File set includes

   <source lang="java">

<?xml version="1.0"?> <project name="yourname" basedir=".." default="all">

 <property name="dist" location="dist/"/> 
 <property name="lib" location="lib/"/> 
 <property name="src" location="src/"/> 
 <path id="class.path">
   <pathelement path="${src}"/> 
   <fileset dir="${lib}">
     <include name="**/*.jar"/>
     <include name="**/*.zip"/>
   </fileset> 
   <fileset dir="/dev">
     <include name="**/*.jar"/>
     <include name="**/*.zip"/>
   </fileset> 
 </path>
 
 
 <target name="clean">
   <delete>
     <fileset dir="${src}" includes="**/*.class"/>
   </delete>
   <delete dir="${dist}"/>
 </target>
 
 <target name="zip" depends="clean">
   <tstamp/>
   <mkdir dir="${dist}"/>
   <zip destfile="${dist}\actionServlet-${DSTAMP}${TSTAMP}.zip">
     <zipfileset dir=".">
       <exclude name="${dist}"/>
     </zipfileset>
   </zip>
 </target>
 <target name="compile">
   <javac>
     <src path="${src}" />
     <classpath refid="class.path"/> 
     <include name = "*/**" />
   </javac>
  </target>
 <target name="jar" depends="compile">
   <mkdir dir="${dist}"/>
   <tstamp/>
   <jar
     basedir="src"
     jarfile="${dist}/actionServlet.jar"
     excludes="**/*.java, *.mdb"
   />
 </target>
 <target name="all" depends="jar"/>

</project>

 </source>