<?xml version="1.0"?>
<!-- $Id$ -->
<!-- Top-level buildfile for the Tapestry module. -->
<project name="Tapestry Web Application Framework" default="install">
	<property name="root.dir" value="./"/>
	<property name="config.dir" value="${root.dir}/config"/>
	<property file="${config.dir}/Version.properties"/>
	<property file="${config.dir}/build.properties"/>
	<property file="${config.dir}/common.properties"/>
	<property name="javadoc.dir" value="web/doc/api"/>
	<property name="private.dir" value="private"/>
	
	<!-- Forrest prefers to put stuff in here. -->
	
	<property name="build.dir" value="build"/>
	
	<property environment="env"/>
	
	<path id="jetty.classpath">
		<fileset dir="${jetty.dir}">
			<include name="lib/javax.servlet.jar"/>
			<include name="lib/org.mortbay.jetty.jar"/>
			<include name="ext/*.jar"/>
		</fileset>
		<!-- Needed to support JSP compilation -->
		<pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
	</path>
	
	<path id="ext.dist.classpath">
		<fileset dir="${ext.dist.dir}">
			<include name="*.jar"/>
		</fileset>
	</path>
	
	<path id="workbench.classpath">
		<fileset dir="${root.lib.dir}">
			<include name="${framework.jar}"/>
			<include name="${contrib.jar}"/>
			<include name="${ext.dir}/*.jar"/>
			<include name="${runtime.dir}/*.jar"/>
		</fileset>
		<pathelement location="config"/>
	</path>
	
	<path id="vlib.classpath">
		<pathelement location="${vlibbeans.jar}"/>
		<pathelement location="examples/VlibBeans/jboss"/>
		<pathelement location="${jboss.client.dir}/jboss-j2ee.jar"/>
		<pathelement location="${jboss.client.dir}/jboss-client.jar"/>
		<pathelement location="${jboss.client.dir}/jnp-client.jar"/>
		<path refid="workbench.classpath"/>
	</path>
	
	<target name="clean" description="Cleans all sub-projects.">
		<ant dir="framework" target="clean"/>
		<ant dir="contrib" target="clean"/>
		<ant dir="junit" target="clean"/>
		<ant dir="examples" target="clean"/>
		<ant dir="doc/src" target="clean"/>
		<delete dir="${private.dir}" quiet="true"/>		
	</target>
	
	<target name="clean-all" depends="clean"
		description="Cleans all subprojects and deletes installed frameworks, WARs and generated documentation."
		>
		<delete quiet="true">
			<fileset dir="${root.lib.dir}">
				<include name="*.jar"/>
				<include name="examples/**"/>
			</fileset>
		</delete>
		<delete dir="web/doc" quiet="true"/>
		<delete dir="${build.dir}" quiet="true"/>
	</target>
	
	<target name="install" description="Builds all frameworks and examples." 
		depends="download-ext-install">
		<!-- Each project has its own definitions for many properties.
     	 inheritAll="false" ensures that definitions in this buildfile
     	 doesn't override definitions in each project's buildfile. -->
		<ant dir="framework" target="install" inheritAll="false"/>
		<ant dir="contrib" target="install" inheritAll="false"/>
		<ant dir="examples" target="install" inheritAll="false"/>
	</target>
	
	<target name="build-workbench" description="Builds and installs the Workbench demo."
		depends="download-ext-framework">
		<ant dir="examples/Workbench" target="install" inheritAll="false"/>
	</target>
	
	<target name="build-vlib" description="Builds and installs the Virtual Library demo."
		depends="download-ext-framework,check-for-jboss-dir">
		<ant dir="examples/VlibBeans" target="install" inheritAll="false"/>
		<ant dir="examples/Vlib" target="install" inheritAll="false"/>
		<ant dir="examples/VlibEAR" target="install" inheritAll="false"/>		
	</target>
	
	<target name="documentation" depends="download-ext-doc"
		description="Builds the Tapestry documentation.">
		
		<ant dir="doc/src" target="install" inheritAll="false">
		  <property name="ext.dist.dir" location="${ext.dist.dir}"/>
		</ant>
		
		<echo>Building site documentation using Forrest ...</echo>
		
		<antcall target="site" inheritall="true"/>
	</target>

	<target name="junit" depends="check-for-jython-dir,download-ext-junit"
		description="Run the JUnit test suite for Tapestry.">
		<ant dir="junit" target="run" inheritAll="false">
		  <property name="ext.dist.dir" location="${ext.dist.dir}"/>
		</ant>		
	</target>
	
	<target name="clover" depends="check-for-clover-dir,check-for-jython-dir"
		description="Execute the JUnit tests and generate Code Coverage report."
		>
		<ant dir="junit" target="clover" inheritAll="false">
		  <property name="ext.dist.dir" location="${ext.dist.dir}"/>
		</ant>		
	</target>
	
	<target name="dist"
		description="Builds the Tapestry distribution from scratch."
		depends="clean-all,install,junit,documentation,clover,javadoc">
		<!-- After building, clean all the subprojects. -->
		<antcall target="clean"/>
		<!-- Now, build that actual distribution. -->
		<antcall target="build-dist"/>
	</target>
	
	<property name="dist.root.dir" value="dist"/>
	<property name="dist.base" value="Tapestry-${framework.version}"/>
	<property name="dist.dir" value="${dist.root.dir}/${dist.base}"/>
	
	<target name="build-dist"
		description="Builds the Tapestry distribution files.">
		<!-- Delete the base directory. -->
		<delete dir="${dist.root.dir}" quiet="true"/>
		<antcall target="build-dist-tarball"/>
	</target>
	
	<target name="build-dist-copy">
		<echo>Copying to ${dist.dir} ...</echo>
		<!-- Copy all the relevant files to the base directory. -->
		<echo>  Copying documentation ...</echo>
		<copy todir="${dist.dir}" includeEmptyDirs="false">
			<fileset dir=".">
				<include name="build.xml"/>
				<include name="*.html"/>
				<include name="*.txt"/>
				<include name="KEYS"/>
				<!-- Skip HTML files in web, since those need
				 a seperate path, to provide filtering. -->
				<exclude name="Readme.html"/>
				<include name="config/**"/>
				<include name="ext-dist/README.html"/>
				<exclude name="lib/*"/>
				<exclude name="lib/**"/>
				<!-- Exclude Paint Shop Pro files (used to generate images
			  in various places) -->
				<exclude name="**/*.psp"/>
				<exclude name="**/*.jbf"/>
				<!-- Don't include build.properties; that's specific to this build
			     environment.  We ship a sample file instead. -->
				<exclude name="config/build.properties"/>
				<!-- This is where Eclipse puts classes. -->
				<exclude name="bin/**"/>
				<exclude name="${build.dir}"/>
				<!-- It isn't a good idea to generate a distribution from a normal working
			     directory, since the <copy> will include things like backup files created
			     while editting.  Better to check out the Tapestry module via anon CVS to
			     a temporary directory, configure build.properties, and build the
			     release there. -->
			</fileset>
		</copy>
		<!-- The Readme.html file and several of the web pages
		 include a version number; copy w/ filtering. -->
		<echo>  Copying (and filtering) Readme.html ...</echo>
		<copy todir="${dist.dir}" includeEmptyDirs="false">
			<fileset dir=".">
				<include name="Readme.html"/>
			</fileset>
			
			<filterset>
				<filter token="VERSION" value="${framework.version}"/>
				<filter token="OS_NAME" value="${os.name}"/>
				<filter token="OS_VERSION" value="${os.version}"/>
				<filter token="JAVA_VENDOR" value="${java.vendor}"/>
				<filter token="JAVA_VM_VERSION" value="${java.vm.version}"/>
				<filter token="COPY_YEARS" value="${copyright.years}"/>
				<filter token="HOME_PAGE_URL"
					value="http://jakarta.apache.org/tapestry"/>
				<filter token="OGNL_VERSION" value="${ognl.version}"/>
				<filter token="JAVASSIST_VERSION" value="${javassist.version}"/>
			</filterset>
		</copy>
		
		<echo>  Copying compiled and redistributable libraries ...</echo>
		<copy todir="${dist.dir}/lib">
			<fileset dir="${root.lib.dir}">
				<include name="**/*.jar"/>
				<exclude name="examples/*"/>
				<exclude name="${ext.dir}/ognl-*.jar"/>
				<exclude name="${ext.dir}/javassist-*.jar"/>
				<include name="**/LICENSE*"/>
			</fileset>
		</copy>
		
		<echo>  Copying Tapestry Tag Library Descriptor ...</echo>
		<copy 
			file="framework/META-INF/taglib.tld"
			tofile="${dist.dir}/lib/tapestry-${framework.version}.tld"/>
		
		<echo>  Copying framework and examples source code ...</echo>
		<copy todir="${dist.dir}" includeEmptyDirs="false">
			<fileset dir=".">
				<include name="framework/**"/>
				<include name="contrib/**"/>
				<include name="examples/**"/>
				
				<!-- These two aren't quite ready for primetime.  -->
				<exclude name="examples/DevelopmentEnvironment/**"/>
				<exclude name="examples/Tutorial2/**"/>
				
				<!-- These are thumnail files that turn up in directories that contain images. These
				     are not stored in CVS and should not be part of the distribution. -->
				<exclude name="**/Thumbs.db"/>
				<exclude name="**/pspbrwse.jbf"/>
        <exclude name="**/classes/"/>        
			</fileset>
		</copy>
		
		<property name="web.dir" value="${dist.dir}/web"/>
		<property name="dtd.dir" value="${web.dir}/dtd"/>
		
		<echo>  Copying Tapestry DTDs ...</echo>
		<copy todir="${dtd.dir}" flatten="true">
			<fileset dir="framework/src">
				<include name="**/*.dtd"/>
			</fileset>
		</copy>
		
		<!-- Copy over javadoc, component references, and docs generated from docbook.
		     We tend to copy the same files too many times (i.e., the builds for the
		     TapestryUsersGuide could generate the HTML files directly into the dist), but
		     it's still fast *enough* so not to fiddle. -->
		     
		<echo>  Copying documentation, JavaDoc, Clover report ...</echo>
		<copy todir="${web.dir}" includeEmptyDirs="false">
		  <fileset dir="web">
		    <!-- Exclude the top level stuff (any remnants of the old, static web site).
		         Include all the docs and reports generated below. -->
		    <exclude name="*.html"/>
		    <include name="**/*"/>
		  </fileset>
		  <fileset dir="${build.dir}/site"/>
		</copy>
	</target>
	
	<target name="build-dist-tarball"
		description="Builds the tarball distributions."
		depends="build-dist-copy">

		<property name="bin.tar.gz" value="${dist.dir}-bin.tar.gz"/>
		<property name="src.tar.gz" value="${dist.dir}-src.tar.gz"/>
		<tar tarfile="${bin.tar.gz}" longfile="gnu" compression="gzip">
			<tarfileset dir="${dist.root.dir}" id="dist.bin.set">
				<include name="${dist.base}/*"/>
				<include name="${dist.base}/config/**"/>
				<include name="${dist.base}/lib/**"/>
				<!-- Have to include a lot of Workbench source in the binary distro, because
				     it has to be compiled and built using the dynamically downloaded non-ASL
				     libraries (such as OGNL). -->
				<include name="${dist.base}/examples/Workbench/**"/>
				<exclude name="${dist.base}/examples/Workbench/.build/**"/>
				<exclude name="${dist.base}/examples/Workbench/image-src/**"/>
				
				<include name="${dist.base}/examples/Vlib/**"/>
				<include name="${dist.base}/examples/VlibBeans/**"/>
				<include name="${dist.base}/examples/VlibEAR/**"/>
				
				<include name="${dist.base}/examples/wap/**"/>
				
				<include name="${dist.base}/examples/build.xml"/>
				
				<!-- Don't ship the code coverage report; it's huge. -->
				<include name="${dist.base}/web/**"/>
				<exclude name="${dist.base}/web/doc/clover/**"/>
			</tarfileset>
		</tar>
		<tar tarfile="${src.tar.gz}" longfile="gnu" compression="gzip">
			<tarfileset dir="${dist.root.dir}" id="dist.src.set">
				<!-- Include the sub-projects excluded from the -bin distro. -->
				<include name="${dist.base}/framework/**"/>
				<include name="${dist.base}/contrib/**"/>
			</tarfileset>
		</tar>
		
		<property name="bin.zip" value="${dist.dir}-bin.zip"/>
		<property name="src.zip" value="${dist.dir}-src.zip"/>
		
		<zip destfile="${bin.zip}">
			<zipfileset refid="dist.bin.set"/>
		</zip>
		
		<zip destfile="${src.zip}">
			<zipfileset refid="dist.src.set"/>	
		</zip>
		
		<!-- Create the web distribution (to be put up on the web site).  This *does*
	     include the code coverage report.  -->
		<property name="web.tar.gz"
			value="${dist.root.dir}/Tapestry-Web-${framework.version}.tar.gz"/>
		<tar basedir="${web.dir}" tarfile="${web.tar.gz}" longfile="gnu"
			compression="gzip"/>
	</target>
	
	<target name="javadoc"
		description="Generate API documentation for the framework and examples."
		>
		<mkdir dir="${javadoc.dir}"/>
		<javadoc author="true" version="true" destdir="${javadoc.dir}"
			splitindex="true" windowtitle="Tapestry API ${framework.version}">
			<doctitle>Tapestry ${framework.version} API</doctitle>
			<package name="org.apache.tapestry.*"/>

			<link href="http://java.sun.com/j2se/1.3/docs/api/"
				offline="true" packageListLoc="package-lists/jdk"/>

			<link href="http://java.sun.com/j2ee/sdk_1.2.1/techdocs/api/"
				offline="true" packageListLoc="package-lists/j2ee"/>

			<link href="http://jakarta.apache.org/log4j/docs/api/"
				offline="true" packageListLoc="package-lists/log4j"/>

			<link href="http://www.junit.org/junit/javadoc/3.7/" offline="true"
				packageListLoc="package-lists/junit"/>

			<link href="http://jakarta.apache.org/oro/api/" offline="true"
				packageListLoc="package-lists/jakarta-oro"/>
				
			<group title="Tapestry Framework"
				packages="org.apache.tapestry:org.apache.tapestry.*"/>
			<group title="Tapestry Contributions Framework"
				packages="org.apache.tapestry.contrib.*"/>

			<sourcepath>
				<pathelement location="framework/src"/>
				<pathelement location="contrib/src"/>
			</sourcepath>
			
			<classpath>
				<path refid="vlib.classpath"/>
				<path refid="ext.dist.classpath"/>
				<fileset dir="${root.lib.dir}">
					<include name="${j2ee.dir}/*.jar"/>
				</fileset>
			</classpath>
		</javadoc>
	</target>
	
	<target name="run-workbench" depends="check-for-jetty-dir,build-workbench"
		description="Runs the Tapestry Workbench using Jetty.">
		<delete dir="${private.dir}" quiet="true"/>
		<mkdir dir="${private.dir}"/>
		<echo>Running Tapestry Workbench on port 8080 ...</echo>
		<java classname="org.mortbay.jetty.Server" fork="true" maxmemory="128M">
			<classpath>
				<path refid="jetty.classpath"/>
			</classpath>
			<arg value="config/jetty-workbench.xml"/>
			<!-- Enable debugging when running the tutorial -->
			<jvmarg line="-showversion -Xdebug -Xnoagent"/>
			<jvmarg
				line="-Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=20150"
				/>
			<!-- Jetty can get easily confused (under NT) unless this is turned off. -->
			<sysproperty key="org.mortbay.util.FileResource.checkAliases"
				value="false"/>
			<sysproperty key="org.apache.tapestry.asset.dir" value="${private.dir}"
				/>
			<sysproperty key="org.apache.tapestry.asset.URL" value="/private"/>
		</java>
	</target>
	
	<!-- ===================================================================================

	 JBoss 3.0.6 auto configuration
	
	 Configures a JBoss 3.0.6 with a new configuration, tapestry.  Part of the configuration
	 comes with the Tapestry distribution; part is copied from the JBoss default server
	 configuration.
	 
	 This only works with JBoss 3.0.6; other releases differ enough that this
	 simple script is broken.
	
     ====================================================================================  -->
	<property name="tapestry.dir" value="${jboss.dir}/server/tapestry"/>
	<property name="tapestry.conf.dir" value="${tapestry.dir}/conf"/>
	<property name="tapestry.lib.dir" value="${tapestry.dir}/lib"/>
	<property name="tapestry.db.dir" value="${tapestry.dir}/db"/>
	<property name="tapestry.deploy.dir" value="${tapestry.dir}/deploy"/>
	<property name="tapestry.private.dir"
		value="${tapestry.dir}/tmp/${private.dir}"/>
	<property name="jboss.server.default.dir"
		value="${jboss.dir}/server/default"/>
	<target name="configure" depends="check-for-jboss-dir,download-ext-examples"
		description="Configure the JBoss 3.0.6 server and setup the Tapestry database."
		>
		<delete dir="${tapestry.lib.dir}" quiet="true"/>
		<mkdir dir="${tapestry.lib.dir}"/>
		<copy todir="${tapestry.lib.dir}" flatten="true">
			<fileset dir="${root.lib.dir}">
				<include name="*-${framework.version}.jar"/>
				<include name="${ext.dir}/*.jar"/>
			</fileset>
			<fileset dir="${ext.dist.dir}">
				<include name="mckoidb*.jar"/>
			</fileset>			
			<fileset dir="${jboss.server.default.dir}/lib">
				<!-- Could do a careful analysis of just what we need and copy only that,
				 but this is good for now.  -->
				<include name="*.jar"/>
			</fileset>
		</copy>
		<!-- Delete, recreate and copy -->
		<delete dir="${tapestry.conf.dir}" quiet="true"/>
		<mkdir dir="${tapestry.conf.dir}"/>
		<copy todir="${tapestry.conf.dir}" filtering="true">
			<fileset dir="config/jboss/conf"/>
			<filterset>
				<filter token="jboss.dir" value="${jboss.dir}"/>
				<filter token="user.dir" value="${user.dir}"/>
			</filterset>
		</copy>
		<mkdir dir="${tapestry.deploy.dir}"/>
		<copy todir="${tapestry.deploy.dir}">
			<fileset dir="${jboss.server.default.dir}/deploy">
				<!-- Skip one file that is replaced -->
				<exclude name="jbossweb.sar/META-INF/jboss-service.xml"/>
				<include name="*"/>
				<include name="**/*"/>
			</fileset>
		</copy>
		<!-- Technically, this isn't necessary any longer (the filtering part),
		 but it does no harm, and may be needed again in the future.  -->
		<copy todir="${tapestry.deploy.dir}" filtering="true">
			<fileset dir="config/jboss/deploy"/>
			<filterset>
				<filter token="user.dir" value="${user.dir}"/>
				<filter token="jboss.dir" value="${jboss.dir}"/>
			</filterset>
		</copy>
		<!-- Set a flag if the vlib already exists, then extract it if necessary. -->
		<mkdir dir="${tapestry.db.dir}"/>
		<available file="${tapestry.db.dir}/tapestry.conf"
			property="tapestry.db.exists"/>
		<antcall target="unpack-tapestry-database"/>
	</target>
	
	<target name="unpack-tapestry-database"
		description="Unpacks the Tapestry demos database."
		unless="tapestry.db.exists">
		<unzip src="config/jboss/tapestry-db.zip" dest="${tapestry.db.dir}"/>
	</target>
	
	<target name="deploy-jboss-demos" depends="check-for-jboss-dir,build-workbench,build-vlib"
		description="Deploys the demos and Tapestry frameworks into JBoss.">
		<copy todir="${tapestry.deploy.dir}">
			<fileset dir="${examples.dir}">
				<include name="${vlib.ear}"/>
				<include name="${workbench.war}"/>
			</fileset>		
		</copy>
	</target>
	
	<target name="run-jboss" depends="deploy-jboss-demos"
		description="Launch the JBoss application server.">
		<delete dir="${tapestry.private.dir}" quiet="true"/>
		<mkdir dir="${tapestry.private.dir}"/>
		<java fork="true" dir="${jboss.dir}/bin" classname="org.jboss.Main">
			<!-- Launch using the tapestry configuration, not the default. -->
			<arg line="--configuration=tapestry"/>
			<classpath>
				<pathelement location="${jboss.dir}/bin/run.jar"/>
				<!-- Include this so that the JMX control panel (based on JSPs) can work. -->
				<pathelement location="${java.home}/../lib/tools.jar"/>
			</classpath>
			<!-- Enable debugging -->
			<jvmarg line="-showversion -Xdebug -Xnoagent"/>
			<jvmarg
				line="-Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=20500"
				/>
			<!-- These allow private assets to be exported as static
	  		 files.  This coordinates with portions of
	  		 config/deploy/jbossweb.sar/META-INF/jboss-service.xml -->
			<sysproperty key="org.apache.tapestry.asset.dir"
				value="${tapestry.private.dir}"/>
			<sysproperty key="org.apache.tapestry.asset.URL" value="/private"/>
			<!-- The following is probably only necessary under Windows.  Jetty gets
	  	     tripped up by the fact that pathnames are case-insensitive.  -->
			<sysproperty key="org.mortbay.util.FileResource.checkAliases"
				value="false"/>
		</java>
	</target>
		
	<target name="deploy-tomcat"
		depends="check-for-tomcat-dir,build-workbench"
		description="Deploys the Workbench application into Tomcat.">
					
		<copy file="${examples.dir}/${workbench.war}" todir="${tomcat.dir}/webapps"/>

	</target>
	
	<target name="check-for-jboss-dir">
		<available property="exists.jboss.dir" type="dir" file="${jboss.dir}"/>
		<fail unless="jboss.dir"
			message="Property jboss.dir not specified in config/build.properties."
			/>
		<fail unless="exists.jboss.dir"
			message="Directory ${jboss.dir} (jboss.dir from config/build.properties) does not exist."
			/>
	</target>
	
	<target name="check-for-tomcat-dir">
		<available property="exists.tomcat.dir" type="dir" file="${tomcat.dir}"
			/>
		<fail unless="tomcat.dir"
			message="Property tomcat.dir not specified in config/build.properties."
			/>
		<fail unless="exists.tomcat.dir"
			message="Directory ${tomcat.dir} (tomcat.dir from config/build.properties) does not exist."
			/>
	</target>
	
	<target name="check-for-clover-dir">
		<available property="exists.clover.dir" type="dir" file="${clover.dir}"
			/>
		<fail unless="clover.dir"
			message="Property clover.dir not specified in config/build.properties."
			/>
		<fail unless="exists.clover.dir"
			message="Directory ${clover.dir} (clover.dir from config/build.properties) does not exist."
			/>
	</target>
	
	<target name="check-for-jython-dir">
		<available property="exists.jython.dir" type="dir" file="${jython.dir}"
			/>
		<fail unless="jython.dir"
			message="Property jython.dir not specified in config/build.properties."
			/>
		<fail unless="exists.jython.dir"
			message="Directory ${jython.dir} (jython.dir from config/build.properties) does not exist."
			/>
	</target>
	
	<target name="check-for-jetty-dir">
		<available property="exists.jetty.dir" type="dir" file="${jetty.dir}" />
		<fail unless="jetty.dir"
			message="Property jetty.dir not specified in config/build.properties."
			/>
		<fail unless="exists.jetty.dir"
			message="Directory ${jetty.dir} (jetty.dir from config/build.properties) does not exist."
			/>
	</target>
	
	<target name="check-for-forrest-dir" depends="check-defined-forrest-dir,check-downloaded-forrest">
	</target>
	
	<target name="site" description="Generates static HTML documentation" depends="check-for-forrest-dir">
		<ant antfile="${installed.forrest.dir}/forrest.antproxy.xml" target="site">
			<property name="forrest.home" value="${installed.forrest.dir}"/>
		</ant>
	</target>

	<target name="validate" depends="check-for-forrest-dir" description="Validates XML documentation files">
		<ant antfile="${installed.forrest.home}/forrest.antproxy.xml" target="validate"/>
	</target>

	<target name="check-defined-forrest-dir" if="forrest.dir">
		<available property="exists.forrest.dir" type="dir" file="${forrest.dir}"/>
		<fail unless="exists.forrest.dir"
	        message="Directory ${forrest.dir} (forrest.dir from config/build.properties) does not exist."/>
		<property name="installed.forrest.dir" value="${forrest.dir}"/>
	</target>		
	
	<target name="check-downloaded-forrest" unless="forrest.home" depends="proxyflags" 
		description="Download forrest package">
		<echo message="Property forrest.dir not specified in config/build.properties"/>
		<echo message="Downloading Forrest"/>
		<antcall target="downloadzip">
			<param name="sourcefile" value="${forrestdl.loc}"/>
			<param name="dlfile" value="${forrestdl.ant.xml}"/>
			<param name="destdir" value="${ext.download.dir}"/>
		</antcall>
		<property name="installed.forrest.dir" value="${forrestdl.home}"/>
	</target>

	<target name="download-ext-install" 
		depends="download-ext-framework, download-ext-examples" 
		description="Download binary packages for the install target"/>

	<target name="download-ext-framework" depends="proxyflags" 
		description="Download binary packages for compiling the framework and examples" >
		<mkdir dir="${ext.download.dir}" />
    	
		<antcall target="installgz">
			<param name="sourcefile" value="${jdom.loc}"/>
			<param name="dlfile" value="${jdom.jar}"/>
			<param name="destfile" value="${jdom.ext.jar}"/>
			<param name="destdir" value="${ext.download.dir}"/>
		</antcall>
		
		<antcall target="installzip">
		  <param name="sourcefile" value="${javassist.loc}"/>
		  <param name="dlfile" value="${javassist.jar}"/>
		  <param name="destfile" value="${javassist.ext.jar}"/>
		  <param name="destdir" value="${javassist.dest}"/>
		</antcall>
		
		<antcall target="installjar">
		  <param name="sourcefile" value="${ognl.loc}"/>
		  <param name="destfile" value="${ognl.dest}"/>
		</antcall>

	</target>

	<target name="download-ext-examples" depends="proxyflags" 
		description="Download binary packages for compiling the examples" >
		<mkdir dir="${ext.download.dir}" />
    
		<antcall target="installzip">
			<param name="sourcefile" value="${mckoi.loc}"/>
			<param name="dlfile" value="${mckoi.jar}"/>
			<param name="destfile" value="${mckoi.ext.jar}"/>
			<param name="destdir" value="${ext.download.dir}"/>
		</antcall>
	</target>

	<target name="download-ext-junit" depends="proxyflags" 
		description="Download binary packages for compiling the unit tests" >
		<mkdir dir="${ext.download.dir}" />
    
		<antcall target="installzip">
			<param name="sourcefile" value="${junit.loc}"/>
			<param name="dlfile" value="${junit.jar}"/>
			<param name="destfile" value="${junit.ext.jar}"/>
			<param name="destdir" value="${ext.download.dir}"/>
		</antcall>

		<antcall target="installgz">
			<param name="sourcefile" value="${jdom.loc}"/>
			<param name="dlfile" value="${jdom.jar}"/>
			<param name="destfile" value="${jdom.ext.jar}"/>
			<param name="destdir" value="${ext.download.dir}"/>
		</antcall>
	</target>

	<target name="download-ext-doc" depends="proxyflags" 
		description="Download binary packages for compiling the documentation" >
		<mkdir dir="${ext.download.dir}" />
    
		<antcall target="downloadfile">
			<param name="sourcefile" value="${docbookxml.loc}"/>
			<param name="destfile" value="${docbookxml.file}"/>
			<param name="destdir" value="${ext.dist.dir}"/>
		</antcall>

		<antcall target="downloadfile">
			<param name="sourcefile" value="${docbookxsl.loc}"/>
			<param name="destfile" value="${docbookxsl.file}"/>
			<param name="destdir" value="${ext.dist.dir}"/>
		</antcall>
	</target>

    <target name="download-alert" unless="download-alert-shown">
    <echo>
*********************************************************************************
* Due to the restrictions of the Apache Software License 2.0, it is necessary   *
* to download some additional libraries that use non-ASL licenses. You should   *
* be aware that redistribution of these files are regulated by their individual *
* licenses. If you experience problems with the download, consult the file      * 
* ext-dist/README.html for details on how to configure the build to work        *
* around a firewall.                                                            *
*********************************************************************************
    </echo>
    
    <!-- This doesn't work so well ... the property must be getting lost after
         each antcall completes. -->
         
    <property name="download-alert-shown" value="you-betcha"/>
    
    </target>

    <target name="installjar" unless="exist" depends="setproxy,testexistdest,download-alert">
      <get src="${sourcefile}" dest="${destfile}"/>
    </target>

	<target name="installgz" unless="exist" depends="setproxy,testexistdest">
		<antcall target="downloadgz"/>
		<copy file="${dlfile}" tofile="${destfile}"/>
	</target>
  
	<target name="downloadgz" unless="exist" depends="setproxy,testexist,download-alert">
		<mkdir dir="${ext.download.dir}"/>
		<!-- Download and extract the package -->
		<get src="${sourcefile}" dest="${ext.download.dir}/file.tar.gz" />
		<gunzip src="${ext.download.dir}/file.tar.gz" dest="${ext.download.dir}/file.tar"/>
		<untar src="${ext.download.dir}/file.tar" dest="${ext.download.dir}"/>
		<delete file="${ext.download.dir}/file.tar"/>
		<delete file="${ext.download.dir}/file.tar.gz"/>
	</target>

	<target name="installzip" unless="exist" depends="setproxy,testexistdest">
		<antcall target="downloadzip"/>
		<copy file="${dlfile}" tofile="${destfile}"/>
	</target>
  
	<target name="downloadzip" unless="exist" depends="setproxy,testexist,download-alert">
		<!-- Download and extract the package -->
		<mkdir dir="${ext.download.dir}"/>
		<get src="${sourcefile}" dest="${ext.download.dir}/file.zip" />
		<mkdir dir="${destdir}" />
		<unzip src="${ext.download.dir}/file.zip" dest="${destdir}"/>
		<delete file="${ext.download.dir}/file.zip"/>
	</target>

	<target name="downloadfile" unless="exist" depends="setproxy,testexistdest">
		<!-- Download extract the file -->
		<mkdir dir="${destdir}" />
		<get src="${sourcefile}" dest="${destfile}" />
	</target>

	<target name="proxyflags">
		<!-- check proxy parameters. -->
		<condition property="useproxy">
			<equals arg1="${proxy.use}" arg2="on" />
		</condition>
	</target>

	<target name="setproxy"  if="useproxy">
		<taskdef name="setproxy"
			classname="org.apache.tools.ant.taskdefs.optional.net.SetProxy" />
		<setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"/> 
		<echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
	</target>

	<target name="testexistdest">
		<echo message="Testing for ${destfile}"/>
		<available file="${destfile}" property="exist"/>
	</target>

	<target name="testexist">
		<echo message="Testing for ${dlfile}"/>
		<available file="${dlfile}" property="exist"/>
	</target>

</project>
