ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rhino <rhi...@sympatico.ca>
Subject Re: Target Execution Sequence
Date Sun, 30 Oct 2011 13:24:55 GMT

  Okay, you asked for it so here it is, my complete build script. It's 
rather long but I didn't want to snip any bits out for fear that it 
would skew the picture. However, I think you could safely ignore many of 
the targets, especially those whose names start with "upload".

Just to recap, the behaviour I'm seeing when I use -debug and -verbose 
is that the "verify_switches" target is executing, then the "compile", 
then whichever of the three "omit_" targets are appropriate depending on 
what I did in the AntForm displayed by "verify_switches". I think that's 
why the edits to the ResumeConstants file are being done but not making 
any difference: the "gen_resume_files" target is using the UNALTERED 
version of ResumeConstants, not the edited version. What do I have to do 
to ensure that the "omit_" targets are only being executed if necessary 
but that if they need to be executed, they are executed BEFORE the compile?


<?xml version="1.0" ?><project name="Resume" default="buildall" basedir=".">
<description>Copy the resume files to the local filesystem for testing 
and to the server for
client use.
</description>

<property name="pgmname" value="ResumeApplet" description="The name of 
the applet."/>
<property name="domain.slashes" value="com\foo" description="The domain 
name written as a path."/>
<property name="mydocs" value="c:\Documents and Settings\Sparky\My 
Documents" description="The path to My Documents."/>
<property name="db2" value="c:\Program Files\IBM\SQLLIB" 
description="The path to DB2."/>
<property name="jdkbin" value="c:\Program Files\Java\jdk1.6.0_18\bin" 
description="The path to the Java JDK binaries."/>
<property name="workspace351" value="c:\eclipse\workspace" 
description="The path to the Eclipse 3.5.1 workspace."/>
<property name="commonpath" value="c:\eclipse\workspace" 
description="The path to the Common project."/>
<property name="iText.jar" value="c:\iText\1.3\itext-1.3.jar" 
description="The path to the iText jars."/>
<property name="antform.home" value="c:\Ant\AntForm\antform-bin-2.0" 
description="The path to the AntForm code."/>
<property name="resume.proj" value="Resume" description="The name of the 
resume project."/>
<property name="common.proj" value="Common" description="The name of the 
project containing the common code."/>
<property name="common.test.proj" value="UnitTests" description="The 
name of the project containing the tests for the common code."/>
<property name="resume.pkg" value="${domain.slashes}\resume" 
description="The name of the resume package containing the ResumeApplet 
code."/>
<property name="common.pkg" value="${domain.slashes}\common" 
description="The name of the package containing the common code."/>
<property name="common.tests.pkg" value="${domain.slashes}\tests\common" 
description="The name of the package containing tests for common code."/>
<property name="common.tests.util.pkg" 
value="${domain.slashes}\common\tests\utilities" description="The name 
of the package containing test for common utilities."/>
<property name="compiler.path" value="${jdkbin}\javac" description="The 
path of the Java 1.6.0_18 compiler."/>
<property name="db2java.zip" value="${db2}\java\db2java.zip" 
description="Files needed by JDBC to connect to DB2."/>
<property name="db2jcc.jar" value="${db2}\java\db2jcc.jar" 
description="Files needed by JDBC to connect to DB2."/>
<property name="db2jcc_lic.jar" 
value="${db2}\java\db2jcc_license_cu.jar" description="Files needed by 
JDBC to connect to DB2."/>
<property name="javadoc.path" value="${jdkbin}\javadoc" description="The 
path to the directory containing the Javadoc program."/>
<property name="resume.src" value="${workspace351}\${resume.proj}\src" 
description="The path to the source files for the ResumeApplet code."/>
<property name="resume.bin" value="${workspace351}\${resume.proj}\bin" 
description="The path to the class files for the ResumeApplet code."/>
<property name="common.src" value="${commonpath}\${common.proj}\src" 
description="The path to the source files for the common code."/>
<property name="common.bin" value="${commonpath}\${common.proj}\bin" 
description="The path to the class files for the common code."/>
<property name="test.src" 
value="${workspace351}\${common.test.proj}\src" description="The path to 
the JUnit test source for the common code."/>
<property name="resume.jar.dir" 
value="${workspace351}\${resume.proj}\jar" description="The path to the 
jar file for the ResumeApplet."/>
<property name="resume.jar.file" value="${pgmname}.jar" description="The 
name of the jar file containing the ResumeApplet."/>
<property name="resume.xml.dir" 
value="${workspace351}\${resume.proj}\xml" description="The path to the 
XML directory for the Resume project."/>
<property name="resume.output.dir" 
value="${workspace351}\${resume.proj}\output" description="The path to 
the output directory for the Resume project. This contains the files 
created by the ResumeGenerator, except for the Javadocs."/>
<property name="word.resume" value="${mydocs}\resume.doc" 
description="The name and path to the original of the Word version of 
the resume."/>
<property name="resume.javadoc.dir" 
value="${workspace351}\${resume.proj}\doc" description="The path to the 
directory where the Resume and Common javadocs are written."/>
<property name="db2.sql.dir" value="${db2}\Scripts\Foo" description="The 
directory in which the DB2 scripts are stored."/>
<property name="local.resume.dir" value="${mydocs}\Applets\resume" 
description="The local file system directory which contains the Resume 
files. Used for testing the Resume locally."/>
<property name="create.resume.script" value="'c:\Documents and 
Settings\Sparky\My Documents\CreateWordResume.vbs'" description="The 
VBScript that silently creates the resume."/>
<property name="export.macros.script" value="'c:\Documents and 
Settings\Sparky\My Documents\ExportWordMacros.vbs'" description="The 
VBScript that silently exports the Word macros."/>
<property name="export.macros.path" value="'c:\Documents and 
Settings\Sparky\My Documents\WordMacros.txt'" description="The name of 
the file that will contain the exported Word macros."/>
<property name="Host1Free.hostname" value="smresume.host1.com" 
description="The domain name for the Host1Free webspace."/>
<property name="Host1Free.resume.dir" value="public_html" 
description="The directory on the Host1Free server which will hold the 
Resume information."/>
<property name="Foo.hostname" value="www.foo.com" description="The Foo 
domain name."/>
<property name="Foo.resume.dir" value="/home/foo/public_html/resume" 
description="The directory in the Foo server where the Resume 
information is stored."/>
<property name="Foo.sql.dir" value="/home/sparky/MySQL/Foo" 
description="The directory containing the originals of the database 
scripts."/>
<property name="Foo.keyfile" value="${mydocs}\Desktop\Mycroft\id_rsa" 
description="The directory on the local machine containing the keyfile 
for the Foo server."/>
<property name="RoadRunner.hostname" value="www3.sympatico.com" 
description="The domain name for the RoadRunner personal webspace."/>
<property name="RoadRunner.resume.dir" value="resume" description="The 
directory on the RoadRunner server which will hold the Resume 
information."/>
<property name="X10.hostname" value="rcresume.x10hosting.com" 
description="The name of the X10 host that will contain the resume."/>
<property name="X10.resume.dir" value="public_html/resume" 
description="The name of the directory that will contain the resume."/>
<property name="retries.allowed" value="3" description="The number of 
retries that the FTP task can attempt. -1 means infinite number."/>

<!--==================================================================
     Task definitions for tasks that aren't Ant core or optional tasks.
     ==================================================================-->
<taskdef name="antform" classname="com.sardak.antform.AntForm" 
classpath="${antform.home}/lib/antform.jar"/>
<taskdef name="antmenu" classname="com.sardak.antform.AntMenu" 
classpath="${antform.home}/lib/antform.jar"/>

<!--==================================================================
     Import common code.
     ==================================================================-->
<property name="import.path" value="${ant.home}\imports"/>
<import file="${import.path}\sounds.xml" description="Play appropriate 
sounds depending on whether build worked or failed."/>
<import file="${import.path}\datetime.xml" description="Display date and 
time that build started."/>

<!--==================================================================
     Establish patternsets.
     ==================================================================-->
<patternset id="ps.resume" description="The project-specific resume code.">
<include name="${resume.pkg}\*.*"/>
<include name="${resume.pkg}\Resources\Resume*.java"/>
</patternset>

<patternset id="ps.applet" description="The project-specific code needed 
by the applet.">
<include name="${resume.pkg}\EmploymentHistoryFormats.*"/>
<include name="${resume.pkg}\Resume.*"/>
<include name="${resume.pkg}\ResumeApplet.*"/>
<include name="${resume.pkg}\ResumeConstants.*"/>
<include name="${resume.pkg}\Resources\ResumeList*.*"/>
</patternset>

<patternset id="ps.applet.common" description="The common code needed by 
the applet.">
<include name="${common.pkg}\CommonConstants.*"/>
<include name="${common.pkg}\Hybrid.*"/>
<include name="${common.pkg}\lookups\ColorName.*"/>
<include name="${common.pkg}\lookups\ColorPalette.*"/>
<include name="${common.pkg}\lookups\PadPosition.*"/>
<include name="${common.pkg}\lookups\WrappingCases.*"/>
<include name="${common.pkg}\utilities\CountUtils.*"/>
<include name="${common.pkg}\utilities\ErrorUtils.*"/>
<include name="${common.pkg}\utilities\LocalizationUtils.*"/>
<include name="${common.pkg}\utilities\StringUtils.*"/>
<include name="${common.pkg}\utilities\WrapUtils.*"/>
<include name="${common.pkg}\utilities\Resources\StringUtilsMsg*.*"/>
</patternset>

<patternset id="ps.common" description="The programs in the common 
package needed by the resume classes.">
<include name="${common.pkg}\CommonConstants.*"/>
<include name="${common.pkg}\lookups\ColorName.*"/>
<include name="${common.pkg}\lookups\ColorPalette.*"/>
<include name="${common.pkg}\lookups\Months.*"/>
<include name="${common.pkg}\utilities\CountUtils.*"/>
<include name="${common.pkg}\utilities\ColorConversionUtils.*"/>
<include name="${common.pkg}\utilities\DateTimeUtils.*"/>
<include name="${common.pkg}\utilities\LocalizationUtils.*"/>
<include name="${common.pkg}\utilities\StringUtils.*"/>
<include name="${common.pkg}\utilities\WrapUtils.*"/>
<include name="${common.pkg}\utilities\WrappingCases.*"/>
</patternset>

<patternset id="ps.test.common" description="Common test cases.">
<include name="PalettesTest.java"/>
</patternset>

<patternset id="ps.test.util" description="Common utilities test cases.">
<include name="ColorConversionUtilsTest.java"/>
<include name="DateTimeUtilsTest.java"/>
<include name="StringUtilsTest.java"/>
</patternset>

<patternset id="ps.html" description="The HTML and CSS files.">
<include name="*.html"/>
<include name="*.css"/>
<include name="noJava.png"/>
</patternset>

<patternset id="ps.pdf" description="The PDF files.">
<include name="*.pdf"/>
</patternset>

<patternset id="ps.asc" description="The ASCII file.">
<include name="*.asc"/>
</patternset>

<patternset id="ps.jar" description="Jars.">
<include name="*.jar"/>
</patternset>

<patternset id="ps.word" description="Word docs.">
<include name="smalarkey-resume.doc"/>
<include name="WordMacros.txt"/>
</patternset>

<patternset id="ps.xml" description="XML files.">
<include name="build.xml"/>
</patternset>

<patternset id="ps.sql" description="SQL scripts.">
<include name="*_Locale.sql"/>
<include name="*_Labels.sql"/>
<include name="*_Reference.sql"/>
<include name="*_Reference_Rels.sql"/>
<include name="*_Reference_Paras.sql"/>
</patternset>

<!--==================================================================
    Let the user choose the format for the Employment History.
     ==================================================================-->
<target name="verify_format" description="Let the user choose the 
desired Employment History format for the resumes.">
<antmenu title="Choose Employment History Format">
<label>You have the option of generating the resumes so that the 
description of each job in the Employment History is formatted as a 
paragraph or as a bulleted list. Choose the desired format or choose 
Abort to cancel the build.</label>
<button label="List Format" target="Set_List_Format"/>
<button label="Paragraph Format" target="Set_Paragraph_Format"/>
<button label="Abort" target="abort"/>
</antmenu>
</target>

<target name="Set_List_Format" description="Ensure that job descriptions 
in the Employment History section will appear as bulleted lists.">
<replaceregexp file="${resume.src}\${resume.pkg}\ResumeConstants.java"
         match="^[\s]*public static final EmploymentHistoryFormats 
DESIRED_EMPLOYMENT_HISTORY_FORMAT[\s]*=[\s]*([^;]+);[\s]*$"
         replace="    public static final EmploymentHistoryFormats 
DESIRED_EMPLOYMENT_HISTORY_FORMAT = EmploymentHistoryFormats.LIST_FORMAT;"
         byline="true"/>
</target>

<target name="Set_Paragraph_Format" description="Ensure that job 
descriptions in the Employment History section will appear as a paragraph.">
<replaceregexp file="${resume.src}\${resume.pkg}\ResumeConstants.java"
         match="^[\s]*public static final EmploymentHistoryFormats 
DESIRED_EMPLOYMENT_HISTORY_FORMAT[\s]*=[\s]*([^;]+);[\s]*$"
         replace="    public static final EmploymentHistoryFormats 
DESIRED_EMPLOYMENT_HISTORY_FORMAT = 
EmploymentHistoryFormats.PARAGRAPH_FORMAT;"
         byline="true"/>
</target>

<target name="abort" description="Display a message that the build was 
cancelled.">
<fail message="The user chose not to proceed with the build."/>
</target>

<!--==================================================================
    Let the user choose to show or hide specific items.
     ==================================================================-->
<target name="verify_switches" description="Let the user choose which 
content to omit.">
<antform title="Choose Information Which Will Not Be Displayed">
<label>Use the checkboxes to control which of the following content is 
shown. Choose Abort to cancel the build.</label>
<booleanProperty label="Omit Email Address" property="omit.email.address"/>
<booleanProperty label="Omit Recent Education" 
property="omit.recent.education"/>
<booleanProperty label="Omit Important Note" 
property="omit.important.note"/>
<controlbar>
<button label="Abort" target="abort2" type="cancel"/>
<button label="Ok" type="ok"/>
</controlbar>
</antform>
</target>

<target name="Omit_Email_Address" description="Omit the email address." 
if="omit.email.address">
<replaceregexp file="${resume.src}\${resume.pkg}\ResumeConstants.java"
         match="^[\s]*public static final boolean 
SHOW_EMAIL_ADDRESS[\s]*=[\s]*([^;]+);[\s]*$"
         replace="    public static final boolean SHOW_EMAIL_ADDRESS = 
false;"
         byline="true"/>
</target>

<target name="Omit_Recent_Education" description="Omit the recent 
education." if="omit.recent.education">
<replaceregexp file="${resume.src}\${resume.pkg}\ResumeConstants.java"
         match="^[\s]*public static final boolean 
SHOW_RECENT_EDUCATION[\s]*=[\s]*([^;]+);[\s]*$"
         replace="    public static final boolean SHOW_RECENT_EDUCATION 
= false;"
         byline="true"/>
</target>

<target name="Omit_Important_Note" description="Omit the important 
note." if="omit.important.note">
<replaceregexp file="${resume.src}\${resume.pkg}\ResumeConstants.java"
         match="^[\s]*public static final boolean 
SHOW_IMPORTANT_NOTE[\s]*=[\s]*([^;]+);[\s]*$"
         replace="    public static final boolean SHOW_IMPORTANT_NOTE = 
false;"
         byline="true"/>
</target>

<target name="abort2" description="Display a message that the build was 
cancelled.">
<fail message="The user chose not to proceed with the build."/>
</target>

<!--==================================================================
    Compile all of the Java code, both project-specific and common.
     ==================================================================-->
<target name="compile" description="Compile the Java code.">
<javac srcdir="${common.src}" destdir="${common.bin}" compiler="modern" 
fork="yes"
         verbose="no" debug="on" debuglevel="lines,vars,source" 
deprecation="yes"
         executable="${compiler.path}" source="1.6" 
includeantruntime="false"
         description="Compile the code in the common package.">
<patternset refid="ps.common"/>
</javac>
<javac srcdir="${resume.src}" destdir="${resume.bin}" compiler="modern" 
fork="yes"
         verbose="no" debug="on" debuglevel="lines,vars,source" 
deprecation="yes"
         executable="${compiler.path}" source="1.6" 
includeantruntime="false"
         description="Compile the code in the resume and 
resume.Resources packages.">
<classpath>
<pathelement path="${common.bin}"/>
<pathelement path="${iText.jar}"/>
</classpath>
<patternset refid="ps.resume"/>
</javac>
</target>

<!--==================================================================
    Jar the class files and resources used by the applet.
     ==================================================================-->
<target name="jar" depends="compile" description="Jar the class files 
and resources used by the applet.">
<delete file="${resume.jar.dir}/${resume.jar.file}" description="Delete 
the old jar."/>
<jar destfile="${resume.jar.dir}/${resume.jar.file}" compress="true"
         description="Create the new jar.">
<manifest>
<attribute name="Manifest-Version" value="1.0"/>
<attribute name="Main-Class" value="com.foo.resume.ResumeApplet"/>
<attribute name="Implementation-Title" value="Résumé"/>
<attribute name="Implementation-Version" value="${start.TODAY} at 
${start.TIME}"/>
<attribute name="Implementation-Vendor" value="foo.com"/>
</manifest>
<fileset dir="${resume.bin}" defaultexcludes="yes">
<patternset refid="ps.applet"/>
</fileset>
<fileset dir="${common.bin}" defaultexcludes="yes">
<patternset refid="ps.applet.common"/>
</fileset>
</jar>
</target>

<!--==================================================================
     Generate the Javadocs for the project and for the common classes
     used by the project.
     ==================================================================-->
<target name="gen_javadocs"
     description="Generate the Javadocs for the project classes and the 
common classes that support them.">
<delete includeEmptyDirs="true"
         description="Delete contents of javadoc directory but not the 
directory itself.">
<fileset dir="${resume.javadoc.dir}" includes="**/*"/>
</delete>

<javadoc destdir="${resume.javadoc.dir}"
         author="true"
         version="true"
         use="true"
         splitindex="true"
         access="public"
         executable="${javadoc.path}"
         source="1.6"
         windowtitle="Resume API"
         breakiterator="true"
         overview="${resume.output.dir}\javadoc_overview.html" 
doctitle="Résumé Overview"
         classpath="${iText.jar}:${common.bin}"
         description="Generate Javadocs for the project and the 
supporting common code.">

<fileset dir="${resume.src}" defaultexcludes="yes">
<patternset refid="ps.resume"/>
</fileset>
<fileset dir="${common.src}" defaultexcludes="yes">
<patternset refid="ps.common"/>
</fileset>

<doctitle><![CDATA[<h1>R&eacute;sum&eacute;</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright &#169; 2006-2011 Sparky Malarkey. All 
Rights Reserved. Last generated on ${start.TODAY} at 
${start.TIME}.</i>]]></bottom>
<group title="Résumé Packages" packages="resume*"/>
<group title="Common Packages" packages="common*"/>
<link href="http://java.sun.com/j2se/1.6.0/docs/api"/>
</javadoc>
</target>

<!--==================================================================
     Generate the main HTML page, HTML version of the resume, HTML for
     the page that will contain the applet and source code links, HTML
     for the Javadocs overview, CSS for the preceding files, and the
     ASCII, PDF, and Word versions of the resume.
     ==================================================================-->
<target name="gen_resume_files" 
depends="Omit_Email_Address,Omit_Recent_Education,Omit_Important_Note" 
description="Generate HTML, CSS, ASCII, PDF and Word files.">

<!--TEMPORARY-->
<echo message="Display ResumConstants just BEFORE generating the resumes."/>
<concat>
<fileset dir="${resume.src}\${resume.pkg}" includes="ResumeConstants.java"/>
</concat>

<echo message="Generate all files containing resumes and their 
supporting files EXCEPT for the Word version of the resume."/>
<java classname="com.foo.resume.ResumeFileGenerator" fork="false"
         description="Execute the ResumeFileGenerator program.">
<classpath>
<pathelement path="${common.bin}"/>
<pathelement path="${resume.bin}"/>
<pathelement path="${iText.jar}"/>
<pathelement path="${db2java.zip}"/>
<pathelement path="${db2jcc.jar}"/>
<pathelement path="${db2jcc_lic.jar}"/>
</classpath>
<sysproperty key="log.path" value="c:\\eclipse\workspace\Resume\log"/>
</java>

<echo message="Generate the Word version of the resume."/>
<exec executable="cscript.exe" os="Windows XP" failonerror="true" 
description="Generate the Word version of the resume via a VBScript that 
invokes a macro.">
<arg line="${create.resume.script}"/>
</exec>


<echo message="Export the Word macros that created the resume."/>
<exec executable="cscript.exe" os="Windows XP" failonerror="true" 
description="Export the macros used to create the resume.">
<arg line="${export.macros.script} ${export.macros.path}"/>
</exec>


<echo message="Reset switches used to control resume content."/>
<replaceregexp file="${resume.src}\${resume.pkg}\ResumeConstants.java"
         match="^[\s]*public static final boolean 
SHOW_EMAIL_ADDRESS[\s]*=[\s]*([^;]+);[\s]*$"
         replace="    public static final boolean SHOW_EMAIL_ADDRESS = 
true;"
         byline="true"/>

<replaceregexp file="${resume.src}\${resume.pkg}\ResumeConstants.java"
         match="^[\s]*public static final boolean 
SHOW_RECENT_EDUCATION[\s]*=[\s]*([^;]+);[\s]*$"
         replace="    public static final boolean SHOW_RECENT_EDUCATION 
= true;"
         byline="true"/>

<replaceregexp file="${resume.src}\${resume.pkg}\ResumeConstants.java"
         match="^[\s]*public static final boolean 
SHOW_IMPORTANT_NOTE[\s]*=[\s]*([^;]+);[\s]*$"
         replace="    public static final boolean SHOW_IMPORTANT_NOTE = 
true;"
         byline="true"/>

<!--TEMPORARY-->
<echo message="Display ResumConstants just AFTER generating the resumes."/>
<concat>
<fileset dir="${resume.src}\${resume.pkg}" includes="ResumeConstants.java"/>
</concat>

</target>

<!--==================================================================
     Copy all necessary code to the file system for local testing.

     NOTES:
     - mkdir only makes a directory if it doesn't already exist
     - copy overlays existing files with newer versions of those same files
     ==================================================================-->
<target name="copy_to_local" description="Copy files to the local file 
system for testing.">

<echo message="Deleting the local resume directory and everything in it."/>
<delete includeemptydirs="true" quiet="true"
         description="Delete everything within the local resume 
directory, including the local resume directory itself.">
<fileset dir="${local.resume.dir}"/>
</delete>

<echo message="Creating the resume directory and its subdirectories."/>
<mkdir dir="${local.resume.dir}"/>
<mkdir dir="${local.resume.dir}\asc"/>
<mkdir dir="${local.resume.dir}\jar"/>
<mkdir dir="${local.resume.dir}\javadoc"/>
<mkdir dir="${local.resume.dir}\pdf"/>
<mkdir dir="${local.resume.dir}\sql"/>
<mkdir dir="${local.resume.dir}\src"/>
<mkdir dir="${local.resume.dir}\test"/>
<mkdir dir="${local.resume.dir}\word"/>
<mkdir dir="${local.resume.dir}\xml"/>

<echo message="Populating main directory."/>
<copy todir="${local.resume.dir}" failonerror="false"
         description="Copy HTML and CSS files to the local file system.">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.html"/>
</fileset>
</copy>

<echo message="Populating asc directory."/>
<copy todir="${local.resume.dir}\asc" failonerror="false"
         description="Copy ASCII files to the local file system.">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.asc"/>
</fileset>
</copy>

<echo message="Populating jar directory."/>
<copy todir="${local.resume.dir}\jar" failonerror="false"
         description="Copy jars to local file system.">
<fileset dir="${resume.jar.dir}">
<patternset refid="ps.jar"/>
</fileset>
</copy>

<echo message="Populating javadocs directory."/>
<copy todir="${local.resume.dir}\javadoc" failonerror="false"
         description="Copy Javadocs to local file system.">
<fileset dir="${resume.javadoc.dir}" description="Javadocs"/>
</copy>

<echo message="Populating pdf directory."/>
<copy todir="${local.resume.dir}\pdf" failonerror="false"
         description="Copy PDFs to local file system.">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.pdf"/>
</fileset>
</copy>

<echo message="Populating sql directory."/>
<copy todir="${local.resume.dir}\sql" failonerror="false"
         description="Copy SQL to local file system.">
<fileset dir="${db2.sql.dir}">
<patternset refid="ps.sql"/>
</fileset>
</copy>

<echo message="Populating src directory."/>
<copy todir="${local.resume.dir}\src" failonerror="false"
         description="Copy Java source files for resume and common code 
to Local file system.">
<fileset dir="${resume.src}" description="Source files for Resume">
<patternset refid="ps.resume"/>
</fileset>
<fileset dir="${common.src}" description="Source files for common code">
<patternset refid="ps.common"/>
</fileset>
</copy>

<echo message="Populating test directory."/>
<copy todir="${local.resume.dir}\test" failonerror="false"
        description="Copy JUnit tests to Local file system.">
<fileset dir="${test.src}\${common.tests.util.pkg}" description="Source 
files for JUnit tests of common classes">
<patternset refid="ps.test.util"/>
</fileset>
<fileset dir="${test.src}\${common.tests.pkg}" description="Source files 
for JUnit tests of common utilities classes">
<patternset refid="ps.test.common"/>
</fileset>
</copy>

<echo message="Populating word directory."/>
<copy todir="${local.resume.dir}\word" failonerror="false"
         description="Copy Word docs to local file system.">
<fileset dir="${mydocs}">
<patternset refid="ps.word"/>
</fileset>
</copy>

<echo message="Populating xml directory."/>
<copy todir="${local.resume.dir}\xml" failonerror="false"
         description="Copy XML files to local file system.">
<fileset dir="${resume.xml.dir}">
<patternset refid="ps.xml"/>
</fileset>
</copy>

</target>

<!--==================================================================
     Determine which server is the target.
     ==================================================================-->
<target name="upload" description="Determine which server(s) should get 
the files.">
<antmenu title="Upload Resume">
<label>Choose a server to which you want to upload the resume.</label>
<!--<button label="Foo server" target="upload_to_Foo"/>-->
<button label="Host1Free server" target="upload_to_Host1Free"/>
<button label="RoadRunner server" target="upload_to_RoadRunner"/>
<button label="X10 server" target="upload_to_X10"/>
<button label="All servers" target="upload_all"/>
<button label="Don't upload" target="no_upload"/>
</antmenu>
</target>

<target name="no_upload" description="Display a message that the upload 
was bypassed.">
<echo message="The user chose not to upload the resume to any server."/>
</target>

<!--==================================================================
     Upload to all of the servers.
     ===================================================================-->
<target  name="upload_all" depends="upload_to_Host1Free, 
upload_to_RoadRunner,upload_to_X10" description="Upload to all servers.">
<echo message="Finished uploading to all servers."/>
</target>

<!--==================================================================
      Upload to the Host1Free server.
     ==================================================================-->
<target name="upload_to_Host1Free" description="Upload to the Host1Free 
server.">

<antform title="Upload to Host1Free Server">
<label>Please supply the userid and password for the Host1Free 
server.</label>
<textProperty label="Userid: " property="userid" columns="15" 
required="true"/>
<textProperty label="Password: " property="password" columns="15" 
password="true" required="true"/>
</antform>

<echo message="Uploading to Host1Free...."/>

<echo message="Deleting all files (but not subdirectories) *beneath* the 
resume directory."/>
<antcall target="currentTime"/>
<ftp action="del" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${Host1Free.resume.dir}"
         retriesallowed="${retries.allowed}"
         description="Delete all files under resume directory at any 
level.">
<fileset>
<include name="**\*"/>
</fileset>
</ftp>

<echo message="Deleting all (now empty) subdirectories *beneath* the 
resume directory."/>
<antcall target="currentTime"/>
<ftp action="rmdir" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         retriesallowed="${retries.allowed}"
         remotedir="${Host1Free.resume.dir}">
<fileset>
<include name="**\*"/>
</fileset>
</ftp>

<echo message="Re-creating all subdirectories within resume directory."/>
<antcall target="currentTime"/>
<ftp action="mkdir" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${Host1Free.resume.dir}/asc" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${Host1Free.resume.dir}/jar" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${Host1Free.resume.dir}/javadoc" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${Host1Free.resume.dir}/pdf" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${Host1Free.resume.dir}/sql" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${Host1Free.resume.dir}/src" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${Host1Free.resume.dir}/test" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${Host1Free.resume.dir}/word" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${Host1Free.resume.dir}/xml" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>

<echo message="Populating main directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         description="Populate main resume directory"
         remotedir="${Host1Free.resume.dir}"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.html"/>
</fileset>
</ftp>

<echo message="Populating asc directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         description="Populate main resume directory"
         remotedir="${Host1Free.resume.dir}/asc"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.asc"/>
</fileset>
</ftp>

<echo message="Populating jar directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         description="Populate jar directory"
         remotedir="${Host1Free.resume.dir}/jar"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.jar.dir}">
<patternset refid="ps.jar"/>
</fileset>
</ftp>

<echo message="Populating javadoc directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         description="Populate javadoc directory"
         remotedir="${Host1Free.resume.dir}/javadoc"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${resume.javadoc.dir}"/>
</ftp>

<echo message="Populating pdf directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         description="Populate pdf directory"
         remotedir="${Host1Free.resume.dir}/pdf"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.pdf"/>
</fileset>
</ftp>

<echo message="Populating sql directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         description="Populate sql directory"
         remotedir="${Host1Free.resume.dir}/sql"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${db2.sql.dir}">
<patternset refid="ps.sql"/>
</fileset>
</ftp>

<echo message="Populating src directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         description="Populate src directory"
         remotedir="${Host1Free.resume.dir}/src"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${resume.src}">
<patternset refid="ps.resume"/>
</fileset>
<fileset dir="${common.src}">
<patternset refid="ps.common"/>
</fileset>
</ftp>

<!--
<echo message="Populating test directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         description="Populate test directory"
         remotedir="${Host1Free.resume.dir}/test"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${test.src}" description="JUnit test files">
<patternset refid="ps.test"/>
</fileset>
</ftp>
     -->

<echo message="Populating word directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         description="Populate test directory"
         remotedir="${Host1Free.resume.dir}/word"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${mydocs}">
<patternset refid="ps.word"/>
</fileset>
</ftp>

<echo message="Populating xml directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${Host1Free.hostname}" userid="${userid}" 
password="${password}"
         description="Populate xml directory"
         remotedir="${Host1Free.resume.dir}/xml"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${resume.xml.dir}">
<patternset refid="ps.xml"/>
</fileset>
</ftp>

</target>

<!--==================================================================
     Upload to the Foo server. The Foo server uses SSH so the 'scp'
     task is used for each upload of a file or directory. The 'sshexec'
     task is used to create directories.

     NOTE: The Foo server no longer exists. This code is being kept
     only as an example of using the 'scp' and 'sshexec' tasks.
    ==================================================================-->
<target name="upload_to_Foo" description="Upload to the Foo server.">

<antform title="Upload to Foo Server">
<label>Please supply the loginid and SSH passphrase for the Foo 
server.</label>
<textProperty label="Login ID: " property="loginid" columns="15" 
required="true"/>
<textProperty label="SSH Passphrase: " property="passphrase" 
columns="15" password="true" required="true"/>
</antform>

<echo message="Uploading to Foo...."/>

<echo message="Deleting resume directory and all files and directories 
below it."/>
<antcall target="currentTime"/>
<sshexec host="${Foo.hostname}" username="${loginid}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}"
         command="rm -rf ${Foo.resume.dir}"/>

<echo message="Creating directories."/>
<antcall target="currentTime"/>
<sshexec host="${Foo.hostname}" username="${loginid}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}"
         command="mkdir ${Foo.resume.dir}"/>
<sshexec host="${Foo.hostname}" username="${loginid}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}"
         command="mkdir ${Foo.resume.dir}/asc"/>
<sshexec host="${Foo.hostname}" username="${loginid}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}"
         command="mkdir ${Foo.resume.dir}/jar"/>
<sshexec host="${Foo.hostname}" username="${loginid}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}"
         command="mkdir ${Foo.resume.dir}/javadoc"/>
<sshexec host="${Foo.hostname}" username="${loginid}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}"
         command="mkdir ${Foo.resume.dir}/pdf"/>
<sshexec host="${Foo.hostname}" username="${loginid}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}"
         command="mkdir ${Foo.resume.dir}/sql"/>
<sshexec host="${Foo.hostname}" username="${loginid}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}"
         command="mkdir ${Foo.resume.dir}/src"/>
<sshexec host="${Foo.hostname}" username="${loginid}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}"
         command="mkdir ${Foo.resume.dir}/test"/>
<sshexec host="${Foo.hostname}" username="${loginid}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}"
         command="mkdir ${Foo.resume.dir}/word"/>
<sshexec host="${Foo.hostname}" username="${loginid}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}"
         command="mkdir ${Foo.resume.dir}/xml"/>

<echo message="Populating main directory."/>
<antcall target="currentTime"/>
<scp todir="${loginid}@${Foo.hostname}:${Foo.resume.dir}" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.html"/>
</fileset>
</scp>

<echo message="Populating asc directory."/>
<antcall target="currentTime"/>
<scp todir="${loginid}@${Foo.hostname}:${Foo.resume.dir}/asc" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.asc"/>
</fileset>
</scp>

<echo message="Populating jar directory."/>
<antcall target="currentTime"/>
<scp todir="${loginid}@${Foo.hostname}:${Foo.resume.dir}/jar" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}">
<fileset dir="${resume.jar.dir}">
<patternset refid="ps.jar"/>
</fileset>
</scp>

<echo message="Populating javadoc directory."/>
<antcall target="currentTime"/>
<scp todir="${loginid}@${Foo.hostname}:${Foo.resume.dir}/javadoc" 
trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}">
<fileset dir="${resume.javadoc.dir}"/>
</scp>

<echo message="Populating pdf directory."/>
<antcall target="currentTime"/>
<scp todir="${loginid}@${Foo.hostname}:${Foo.resume.dir}/pdf" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.pdf"/>
</fileset>
</scp>

<echo message="Populating sql directory."/>
<antcall target="currentTime"/>
<scp todir="${loginid}@${Foo.hostname}:${Foo.resume.dir}/sql" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}">
<fileset dir="${db2.sql.dir}">
<patternset refid="ps.sql"/>
</fileset>
</scp>

<echo message="Populating src directory."/>
<antcall target="currentTime"/>
<scp todir="${loginid}@${Foo.hostname}:${Foo.resume.dir}/src" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}">
<fileset dir="${resume.src}">
<patternset refid="ps.resume"/>
</fileset>
<fileset dir="${common.src}">
<patternset refid="ps.common"/>
</fileset>
</scp>

<echo message="Populating test directory."/>
<antcall target="currentTime"/>
<scp todir="${loginid}@${Foo.hostname}:${Foo.resume.dir}/test" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}">
<fileset dir="${test.src}">
<patternset refid="ps.test"/>
</fileset>
</scp>

<echo message="Populating word directory."/>
<antcall target="currentTime"/>
<scp todir="${loginid}@${Foo.hostname}:${Foo.resume.dir}/word" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}">
<fileset dir="${resume.word.dir}">
<patternset refid="ps.word"/>
</fileset>
</scp>

<echo message="Populating xml directory."/>
<antcall target="currentTime"/>
<scp todir="${loginid}@${Foo.hostname}:${Foo.resume.dir}/xml" trust="true"
         keyfile="${Foo.keyfile}" passphrase="${passphrase}">
<fileset dir="${resume.xml.dir}">
<patternset refid="ps.xml"/>
</fileset>
</scp>

</target>

<!--==================================================================
      Upload to the RoadRunner server.
     ==================================================================-->
<target name="upload_to_RoadRunner" description="Upload to the 
RoadRunner server.">

<antform title="Upload to RoadRunner Server">
<label>Please supply the userid and password for the RoadRunner 
server.</label>
<textProperty label="Userid: " property="userid" columns="15" 
required="true"/>
<textProperty label="Password: " property="password" columns="15" 
password="true" required="true"/>
</antform>

<echo message="Uploading to RoadRunner...."/>

<echo message="Deleting all files (but not subdirectories) *beneath* the 
resume directory."/>
<antcall target="currentTime"/>
<ftp action="del" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${RoadRunner.resume.dir}"
         retriesallowed="${retries.allowed}"
         description="Delete all files under resume directory at any 
level.">
<fileset>
<include name="**\*"/>
</fileset>
</ftp>

<echo message="Deleting all (now empty) subdirectories *beneath* the 
resume directory."/>
<antcall target="currentTime"/>
<ftp action="rmdir" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         retriesallowed="${retries.allowed}"
         remotedir="${RoadRunner.resume.dir}">
<fileset>
<include name="**\*"/>
</fileset>
</ftp>

<echo message="Re-creating all subdirectories within resume directory."/>
<antcall target="currentTime"/>
<ftp action="mkdir" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${RoadRunner.resume.dir}/asc" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${RoadRunner.resume.dir}/jar" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${RoadRunner.resume.dir}/javadoc" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${RoadRunner.resume.dir}/pdf" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${RoadRunner.resume.dir}/sql" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${RoadRunner.resume.dir}/src" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${RoadRunner.resume.dir}/test" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${RoadRunner.resume.dir}/word" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${RoadRunner.resume.dir}/xml" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>

<echo message="Populating main directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         description="Populate main resume directory"
         remotedir="${RoadRunner.resume.dir}"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.html"/>
</fileset>
</ftp>

<echo message="Populating asc directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         description="Populate main resume directory"
         remotedir="${RoadRunner.resume.dir}/asc"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.asc"/>
</fileset>
</ftp>

<echo message="Populating jar directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         description="Populate jar directory"
         remotedir="${RoadRunner.resume.dir}/jar"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.jar.dir}">
<patternset refid="ps.jar"/>
</fileset>
</ftp>

<echo message="Populating javadoc directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         description="Populate javadoc directory"
         remotedir="${RoadRunner.resume.dir}/javadoc"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${resume.javadoc.dir}"/>
</ftp>

<echo message="Populating pdf directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         description="Populate pdf directory"
         remotedir="${RoadRunner.resume.dir}/pdf"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.pdf"/>
</fileset>
</ftp>

<echo message="Populating sql directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         description="Populate sql directory"
         remotedir="${RoadRunner.resume.dir}/sql"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${db2.sql.dir}">
<patternset refid="ps.sql"/>
</fileset>
</ftp>

<echo message="Populating src directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         description="Populate src directory"
         remotedir="${RoadRunner.resume.dir}/src"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${resume.src}">
<patternset refid="ps.resume"/>
</fileset>
<fileset dir="${common.src}">
<patternset refid="ps.common"/>
</fileset>
</ftp>

<!--
<echo message="Populating test directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         description="Populate test directory"
         remotedir="${RoadRunner.resume.dir}/test"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${test.src}" description="JUnit test files">
<patternset refid="ps.test"/>
</fileset>
</ftp>
         -->

<echo message="Populating word directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         description="Populate test directory"
         remotedir="${RoadRunner.resume.dir}/word"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.word.dir}">
<patternset refid="ps.word"/>
</fileset>
</ftp>

<echo message="Populating xml directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${RoadRunner.hostname}" userid="${userid}" 
password="${password}"
         description="Populate xml directory"
         remotedir="${RoadRunner.resume.dir}/xml"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${resume.xml.dir}">
<patternset refid="ps.xml"/>
</fileset>
</ftp>

</target>

<!--==================================================================
     Upload to the X10 server.
    ==================================================================-->
<target name="upload_to_X10" description="Upload to the X10 server.">

<antform title="Upload to X10 Server">
<label>Please supply the username and password for the X10 server.</label>
<textProperty label="userid: " property="userid" columns="15" 
required="true"/>
<textProperty label="password: " property="password" columns="15" 
password="true" required="true"/>
</antform>

<echo message="Uploading to X10...."/>

<echo message="Deleting all files (but not subdirectories) *beneath* the 
resume directory."/>
<antcall target="currentTime"/>
<ftp action="del" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${X10.resume.dir}"
         retriesallowed="${retries.allowed}"
         description="Delete all files under resume directory at any 
level.">
<fileset>
<include name="**\*"/>
</fileset>
</ftp>

<echo message="Deleting all (now empty) subdirectories *beneath* the 
resume directory."/>
<antcall target="currentTime"/>
<ftp action="rmdir" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         retriesallowed="${retries.allowed}"
         remotedir="${X10.resume.dir}">
<fileset>
<include name="**\*"/>
</fileset>
</ftp>

<echo message="Re-creating all subdirectories within resume directory."/>
<antcall target="currentTime"/>
<ftp action="mkdir" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${X10.resume.dir}/asc" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${X10.resume.dir}/jar" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${X10.resume.dir}/javadoc" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${X10.resume.dir}/pdf" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${X10.resume.dir}/sql" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${X10.resume.dir}/src" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${X10.resume.dir}/test" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${X10.resume.dir}/word" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>
<ftp action="mkdir" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         remotedir="${X10.resume.dir}/xml" 
retriesallowed="${retries.allowed}" ignoreNoncriticalErrors="true"/>

<echo message="Populating main directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         description="Populate main resume directory"
         remotedir="${X10.resume.dir}"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.html"/>
</fileset>
</ftp>

<echo message="Populating asc directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         description="Populate main resume directory"
         remotedir="${X10.resume.dir}/asc"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.asc"/>
</fileset>
</ftp>

<echo message="Populating jar directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         description="Populate jar directory"
         remotedir="${X10.resume.dir}/jar"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.jar.dir}">
<patternset refid="ps.jar"/>
</fileset>
</ftp>

<echo message="Populating javadoc directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         description="Populate javadoc directory"
         remotedir="${X10.resume.dir}/javadoc"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${resume.javadoc.dir}"/>
</ftp>

<echo message="Populating pdf directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         description="Populate pdf directory"
         remotedir="${X10.resume.dir}/pdf"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${resume.output.dir}">
<patternset refid="ps.pdf"/>
</fileset>
</ftp>

<echo message="Populating sql directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         description="Populate sql directory"
         remotedir="${X10.resume.dir}/sql"
         retriesallowed="${retries.allowed}"
         separator="/" binary="yes" verbose="yes">
<fileset dir="${db2.sql.dir}">
<patternset refid="ps.sql"/>
</fileset>
</ftp>

<echo message="Populating src directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         description="Populate src directory"
         remotedir="${X10.resume.dir}/src"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${resume.src}">
<patternset refid="ps.resume"/>
</fileset>
<fileset dir="${common.src}">
<patternset refid="ps.common"/>
</fileset>
</ftp>

<echo message="Populating test directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         description="Populate test directory"
         remotedir="${X10.resume.dir}/test"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${test.src}\${common.tests.util.pkg}" description="JUnit 
test files">
<patternset refid="ps.test.util"/>
</fileset>
<fileset dir="${test.src}\${common.tests.pkg}" description="JUnit test 
files">
<patternset refid="ps.test.common"/>
</fileset>
</ftp>

<echo message="Populating word directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         description="Populate test directory"
         remotedir="${X10.resume.dir}/word"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${mydocs}">
<patternset refid="ps.word"/>
</fileset>
</ftp>

<echo message="Populating xml directory."/>
<antcall target="currentTime"/>
<ftp action="send" server="${X10.hostname}" userid="${userid}" 
password="${password}"
         description="Populate xml directory"
         remotedir="${X10.resume.dir}/xml"
         retriesallowed="${retries.allowed}"
         separator="/" binary="no" verbose="yes">
<fileset dir="${resume.xml.dir}">
<patternset refid="ps.xml"/>
</fileset>
</ftp>

</target>

<!--==================================================================
    Do the complete build.
     ==================================================================-->
<target name="buildall" 
depends="datetime,verify_format,verify_switches,jar,gen_javadocs,gen_resume_files,copy_to_local,upload" 
description="Tasks that make up a complete build.">
<echo message="The build has ended successfully."/>
</target>

<!--==================================================================
    Do the 'setup' build which only initializes ResumeContants prior to 
running the program.
     ==================================================================-->
<target name="setup" 
depends="datetime,verify_format,verify_switches,Omit_Email_Address,Omit_Recent_Education,Omit_Important_Note" 
description="Tasks that make up a setup build.">
<echo message="The build has ended successfully."/>
</target>

<!--==================================================================
    Do the 'RoadRunner' build which only does the upload to the 
RoadRunner server.
     ==================================================================-->
<target name="RoadRunner" depends="upload_to_RoadRunner" 
description="Tasks that make up a RoadRunner build.">
<echo message="The build has ended successfully."/>
</target>

<!--==================================================================
    Do the 'X10' build which only does the upload to the X10 server.
     ==================================================================-->
<target name="X10" depends="upload_to_X10" description="Tasks that make 
up an X10 build.">
<echo message="The build has ended successfully."/>
</target>

<!--==================================================================
    Do the 'switches' build.
     ==================================================================-->
<target name="build_switches" depends="datetime,verify_switches,compile, 
gen_resume_files" description="Tasks that make up a build to test the 
functioning of the switches.">
<echo message="The build has ended successfully."/>
</target>


</project>
On 2011-10-29 22:11, Vimil Saju wrote:
> It would be helpful if you could attach the build file along with the mail.
>
>
> ________________________________
> From: Rhino<rhino1@sympatico.ca>
> To: ant-user<user@ant.apache.org>
> Sent: Saturday, October 29, 2011 5:47 PM
> Subject: Target Execution Sequence
>
>
> I'm having a perplexing problem and I'm hoping someone here can help me understand whatever I'm missing. I was moderately fluent with Ant at one point but I've been away from it a  while and have probably just forgotten some fundamental that I need to know.
>
> Here's the deal. I have an Ant script that is displaying an AntForm. The AntForm contains some checkboxes that are supposed to make me keep or omit three particular paragraphs in a document I am writing later in the script. Basically, I use the AntForm to set specific booleans, one for each of the three paragraphs, in a Java source file to true or false. Then, I generate the document with a program that I've written and that program either writes the specified paragraphs or omits them based on the values of the booleans. At least, that's what's SUPPOSED to happen.
>
> In reality, the booleans are being seen by the program that generates the document as true regardless of what has been done with the AntForm. Therefore, all three special paragraphs always appear in the document even when I've asked for some or all of them to be omitted.
>
> This baffles me because I actually display the contents of the Java source file to myself in the Ant script before and after the execution of the program that generates the document and the values of the three booleans and they have the correct values. For instance, I can set the three booleans to false, true and false respectively via the AntForm and that's exactly how they appear in the Java source file just before I generate the document.  (Then I reset the values to their defaults (all three true) then display them to myself and they are all true.) However, when I write the values of the booleans within the program that is generating the document, they are invariably all true, even if they have been set to different values.
>
> I don't understand why I'm getting this misbehaviour.
>
> My working theory is that Ant is NOT executing the tasks within the script in the expected order. When I add the -verbose and -debug parameters to the Ant Build, I see something that the task that displays the AntForm is done in its proper sequence, namely first within the script. However, the tasks that are to be executed to change the values of the booleans are NOT executed immediately after the AntForm is displayed but after the compile of the Java code. The script is displaying the AntForm and letting me check the checkboxes as I like, then compiling the code and ONLY THEN actually editing the source file to set some of the booleans to false. I think this explains why the switches are always seen as true by the document-generating program: the generator is simply not getting the edited version of the source file.
>
> Can anyone confirm that my theory makes sense? Or, if it doesn't, suggest a better explanation? If I'm on the right track, what is it that I'm not understanding about the execution sequences of tasks within targets? I had assumed that each task within a target would be executed before tasks in other targets were started....
>
> --
> Rhino
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message