Java Tutorial/Ant/Introduction

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

Ant call another ant script

<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>





Create an Ant DTD

<?xml version="1.0"?>
<project name="Apache Ant Book Project" 
         basedir="."
         default="build-dtd">
  
  <description>
    Apache Ant book example project. The main targets are listed below.
  </description>
  <target name="build-dtd" description="Create an Ant DTD">
    <antstructure output="./project.dtd"/>
  </target>
</project>





Suppress warning in ANT script

<target name="compile">
       <javac srcdir="${src}" destdir="${bin}" 
              includeAntRuntime="no" 
              debug="${compile.debug}">
           <compilerarg value="-Xlint:unchecked"/>
       </javac>
</target>





Use a precompiler with Java

Your Java code:
//@START@//
    your code
//@END@//

   <target name="compileprod">
    <copy todir="out">
        <filterchain>
            <tokenfilter>
                <replacestring from="//@START@//" to="/*" />
                <replacestring from="//@END@//" to="*/" />
            </tokenfilter>
        </filterchain>
        <fileset dir=".">
          <include name="**/*.java" />
       </fileset>
    </copy>
   </target>