<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-->
<project name="click" default="help" basedir="..">

   <!-- 
    Project Properties 
    -->
    
   <property file="./build/build.properties"/>
   <xmlproperty file="./build/javascript-syntax-highlighter.xml"/>
   <property name="click" value="click-${version}-incubating"/>
   <property name="click-extras" value="click-extras-${version}-incubating"/>
   <property name="click-nodeps" value="click-nodeps-${version}-incubating"/>
   <property name="click-mock" value="click-mock-${version}-incubating"/>

   <property name="jar.cayenne" value="cayenne-nodeps-2.0.4.jar"/>
   <property name="jar.checkstyle" value="checkstyle-all-4.4.jar"/>
   <property name="jar.codec" value="commons-codec-1.3.jar"/>
   <property name="jar.collections" value="commons-collections-3.1.jar"/>
   <property name="jar.freemarker" value="freemarker-2.3.12.jar"/>
   <property name="jar.hibernate" value="hibernate-3.2.6.ga.jar"/>
   <property name="jar.io" value="commons-io-1.4.jar"/>
   <property name="jar.junit" value="junit-3.8.1.jar"/>
   <property name="jar.lang" value="commons-lang-2.4.jar"/>
   <property name="jar.log4j" value="log4j-1.2.14.jar"/>
   <property name="jar.ognl" value="ognl-2.6.9.jar"/>
   <property name="jar.servlet" value="servlet-api-2.3.jar"/>
   <property name="jar.spring-beans" value="spring-beans-2.5.4.jar"/>
   <property name="jar.spring-context" value="spring-context-2.5.4.jar"/>
   <property name="jar.spring-core" value="spring-core-2.5.4.jar"/>
   <property name="jar.spring-web" value="spring-web-2.5.4.jar"/>
   <property name="jar.upload" value="commons-fileupload-1.2.1.jar"/>
   <property name="jar.velocity" value="velocity-1.5.jar"/>
   <property name="javac.source" value="1.4"/>
   <property name="repository" value="http://repo1.maven.org"/>
   <property name="maven-bundle" value="../maven-upload"/>


   <!--
    Task Definitions
    -->
	
   <taskdef name="linetrim"
   	        classname="org.apache.click.tools.devtasks.LineTrimTask"
   	        classpath="lib/click-dev-tasks-1.0.jar"/>
							
   <taskdef name="replacetabs" 
   	        classname="org.apache.click.tools.devtasks.ReplaceTabsTask"
   	        classpath="lib/click-dev-tasks-1.0.jar"/>
            
   <taskdef name="package" 
   	        classname="org.apache.click.tools.devtasks.PackageTask"
   	        classpath="lib/click-dev-tasks-1.0.jar"/>

    <!--
     Macro Definitions
     -->
    
    <macrodef name="downloadMacro">
        <attribute name="name"/>
        <attribute name="path"/>
        <sequential>
            <get src="${repository}/maven/@{path}/jars/@{name}" 
                 dest="lib/@{name}"
                 verbose="true"
                 usetimestamp="true"/>            
        </sequential>
    </macrodef> 

    <macrodef name="buildBundleMacro">
        <attribute name="name"/>
        <sequential>
            <mkdir dir="${maven-bundle}/@{name}"/>
            <copy file="build/@{name}.pom" tofile="${maven-bundle}/@{name}/@{name}-${version}-incubating.pom"/>
            <replace file="${maven-bundle}/@{name}/@{name}-${version}-incubating.pom"
                     token="VERSION" 
                     value="${version}-incubating"/>

            <!--
                Replace the TEMPLATE token with the value of the template pom
            -->
            <loadfile property="pom-template" srcFile="build/template.pom"/>
            <replace file="${maven-bundle}/@{name}/@{name}-${version}-incubating.pom"
                     value="${pom-template}">
              <replacetoken>&lt;!--TEMPLATE--&gt;</replacetoken>
            </replace>
            <copy file="dist/@{name}-${version}-incubating.jar" todir="${maven-bundle}/@{name}/"/>
        </sequential>
    </macrodef>

    <macrodef name="digestMacro">
        <attribute name="file"/>
        <sequential>
            <!--
            Calculating checksum currently not very useful
            -->
            <checksum file="@{file}" forceOverwrite="true" />
            <checksum file="@{file}" forceOverwrite="true" algorithm="SHA1" />
        </sequential>
    </macrodef>


   <!-- 
    Path Definitions
    -->
   
   <path id="classpath.framework">
      <pathelement location="framework/classes"/>
      <pathelement location="lib/${jar.codec}"/>
      <pathelement location="lib/${jar.collections}"/>
      <pathelement location="lib/${jar.io}"/>
      <pathelement location="lib/${jar.lang}"/>
      <pathelement location="lib/${jar.ognl}"/>
      <pathelement location="lib/${jar.servlet}"/>
      <pathelement location="lib/${jar.upload}"/>
      <pathelement location="lib/${jar.velocity}"/>
   </path>
   
   <path id="classpath.extras">
      <pathelement location="extras/classes"/> 
      <pathelement location="lib/${jar.cayenne}"/>
      <pathelement location="lib/${jar.hibernate}"/>
      <pathelement location="lib/${jar.log4j}"/>
      <pathelement location="lib/${jar.servlet}"/>
      <pathelement location="lib/${jar.spring-beans}"/>
      <pathelement location="lib/${jar.spring-context}"/>
      <pathelement location="lib/${jar.spring-core}"/>
      <pathelement location="lib/${jar.spring-web}"/>
      <pathelement location="lib/${jar.freemarker}"/>
      <pathelement location="dist/${click}.jar"/>
   </path>

   <path id="classpath.mock">
      <pathelement location="mock/classes"/>
      <pathelement location="lib/${jar.codec}"/>
      <pathelement location="lib/${jar.collections}"/>
      <pathelement location="lib/${jar.io}"/>
      <pathelement location="lib/${jar.lang}"/>
      <pathelement location="lib/${jar.ognl}"/>
      <pathelement location="lib/${jar.servlet}"/>
      <pathelement location="lib/${jar.upload}"/>
      <pathelement location="lib/${jar.velocity}"/>
      <pathelement location="dist/${click}.jar"/>
   </path>

   <path id="classpath.examples"> 
      <pathelement location="lib/${jar.servlet}"/>
      <pathelement location="lib/${jar.spring-beans}"/>
      <pathelement location="lib/${jar.spring-context}"/>
      <pathelement location="lib/${jar.spring-core}"/>
      <pathelement location="lib/${jar.spring-web}"/>
      <pathelement location="dist/${click}.jar"/>
      <pathelement location="dist/${click-extras}.jar"/>
   </path>

   <path id="classpath.test"> 
      <pathelement location="lib/${jar.junit}"/>
   </path>

   <path id="classpath.checkstyle"> 
   	  <fileset dir="lib">
         <include name="**/*.jar"/>
      </fileset>
   </path>

   <!-- 
    Target Definitions 
    -->
   
   <target name="build-all" 
           depends="build-framework, build-mock, build-extras, build-examples" 
           description="build Click framework, extras, mock, examples"/>


   <target name="build-distribution" 
           depends="clean, build-framework, build-mock, build-extras, build-examples, javadoc" 
           description="build distribution ZIP file">
      <!-- create distribution zip file -->
      <delete dir="${click}" quiet="false"/>
      <mkdir dir="${click}"/>
      <copy todir="${click}">
         <fileset dir="." casesensitive="yes">
            <exclude name=".**"/> 
            <exclude name=".**/**"/> 
            <exclude name="${click}"/> 
            <exclude name="bin/**"/>
            <exclude name="design/**"/>
            <exclude name="dist/*-src.zip"/>
            <exclude name="lib/${jar.cayenne}"/>
            <exclude name="lib/${jar.codec}"/>
            <exclude name="lib/${jar.collections}"/>
            <exclude name="lib/${jar.hibernate}"/>
            <exclude name="lib/${jar.freemarker}"/>
            <exclude name="lib/${jar.io}"/>
            <exclude name="lib/${jar.lang}"/>
            <exclude name="lib/${jar.log4j}"/>
            <exclude name="lib/${jar.junit}"/>
            <exclude name="lib/${jar.ognl}"/>
            <exclude name="lib/${jar.servlet}"/>
            <exclude name="lib/${jar.velocity}"/>
            <exclude name="lib/spring-*.jar"/>
            <exclude name="lib/${jar.upload}"/>
            <exclude name="lib/${jar.checkstyle}"/>
            <exclude name="**/Thumbs.db"/>
            <exclude name="**/classes/**"/>
            <exclude name="**/WEB-INF/lib/**"/>
            <exclude name="examples/webapp/javadoc/**"/>
            <exclude name="**/EDU/oswego/cs/dl/util/concurrent/*.java"/>
         </fileset>
      </copy>

      <!-- Copy ConcurrentReaderHashMap class to src folder -->
      <copy todir="${click}/framework/src">
          <fileset dir="framework/classes" casesensitive="yes">
            <include name="EDU/oswego/cs/dl/util/concurrent/*.class"/>
          </fileset>
      </copy>

      <delete file="../${click}.zip"/>
      <zip basedir="."
           destfile="../${click}.zip"
           includes="${click}/**"/>
      <delete dir="${click}" quiet="false"/>
      <digestMacro file="../${click}.zip"/>
   </target>


   <target name="build-examples" description="build click-examples WAR file" depends="check-deps">
      <ant antfile="build.xml" 
           dir="examples"
           target="build" 
           inheritall="false"/>
   </target>


   <target name="build-extras" description="build extras JAR file" depends="check-deps, prepare-hibernate">
      <available file="dist/${click}.jar" property="isClickAvail"/>
      <fail message="Build framework first with 'build-framework'">
         <condition>
  	        <or><isfalse value="${isClickAvail}"/></or>
  	     </condition>
      </fail>
      <delete file="dist/${click-extras}.jar" quiet="false"/>
      <delete dir="extras/classes" quiet="false"/>
      <mkdir dir="extras/classes"/>
      <copy todir="extras/classes">
         <fileset dir="extras/src">
            <exclude name="**/package.html"/>
            <exclude name="${exclude-hibernate}"/>
         </fileset>
      </copy>
 	    <copy file="LICENSE.txt" todir="extras/classes/META-INF"/>
 	    <copy file="NOTICE.txt" todir="extras/classes/META-INF"/>
      <copy file="DISCLAIMER.txt" todir="extras/classes/META-INF"/>
      <javac srcdir="extras/src"
             destdir="extras/classes"
             debug="true"
             excludes="**/Test*, ${exclude-hibernate}"
             encoding="ISO-8859-1"
             source="${javac.source}">
         <classpath refid="classpath.extras"/>
      </javac>  
      <jar destfile="dist/${click-extras}.jar">
         <manifest>
           <attribute name="Click-Version" value="${version}"/>
           <attribute name="Package" value="org.apache.click.extras"/>
           <attribute name="Built-By" value="${user.name}"/>
           <attribute name="Created-By" value="Apache Ant"/>
           <attribute name="Build-Jdk" value="${java.version}"/>
           <attribute name="Extension-Name" value="org.apache.click.extras"/>
           <attribute name="Specification-Title" value="Click is a Java-based web application framework" />
           <attribute name="Specification-Vendor" value="Apache Software Foundation"/>
           <attribute name="Implementation-Title" value="org.apache.click.extras"/>
           <attribute name="Implementation-Vendor-Id" value="org.apache"/>
           <attribute name="Implementation-Vendor" value="Apache Software Foundation"/>
           <attribute name="Implementation-Version" value="${version}"/>
         </manifest>
         <fileset dir="extras/classes"/>
      </jar>  
	  <delete dir="temp" quiet="false"/>
   </target>


   <target name="build-framework" description="build framework JAR file" depends="check-deps">
      <mkdir dir="dist"/>
      <delete file="dist/${click}.jar" quiet="false"/>
      <delete file="dist/${click-nodeps}.jar" quiet="false"/>
      <property name="dir.source" value="framework/src"/>
      <property name="dir.classes" value="framework/classes"/>
      <delete dir="${dir.classes}" quiet="false"/>
      <mkdir dir="${dir.classes}"/>
      <copy todir="${dir.classes}">
         <fileset dir="${dir.source}">
            <exclude name="**/package.html"/>
            <exclude name="EDU/oswego/cs/dl/util/concurrent/*.java"/>
         </fileset>
      </copy>
 	  <copy file="LICENSE.txt" todir="${dir.classes}/META-INF"/>
 	  <copy file="NOTICE.txt" todir="${dir.classes}/META-INF"/>
    <copy file="DISCLAIMER.txt" todir="${dir.classes}/META-INF"/>
      <!-- No Dependencies -->
      <javac srcdir="${dir.source}"
             destdir="${dir.classes}"
             debug="true"
             encoding="ISO-8859-1"
             source="${javac.source}">
         <classpath refid="classpath.framework"/>
      </javac>  
   	  <jar destfile="dist/${click-nodeps}.jar">
         <manifest>
           <attribute name="Click-Version" value="${version}"/>
           <attribute name="Package" value="org.apache.click"/>
           <attribute name="Built-By" value="${user.name}"/>
           <attribute name="Created-By" value="Apache Ant"/>
           <attribute name="Build-Jdk" value="${java.version}"/>
           <attribute name="Extension-Name" value="org.apache.click"/>
           <attribute name="Specification-Title" value="Click is a Java-based web application framework" />
           <attribute name="Specification-Vendor" value="Apache Software Foundation"/>
           <attribute name="Implementation-Title" value="org.apache.click"/>
           <attribute name="Implementation-Vendor-Id" value="org.apache"/>
           <attribute name="Implementation-Vendor" value="Apache Software Foundation"/>
           <attribute name="Implementation-Version" value="${version}"/>
         </manifest>
         <fileset dir="${dir.classes}"/>
      </jar>
	    <!-- With Dependencies -->
      <unzip src="lib/${jar.codec}" dest="${dir.classes}">
        <!-- Exclude .html pages -->
        <patternset>
          <include name="**/*.class"/>
          <exclude name="**/*.html"/>
        </patternset>
      </unzip>
	  <delete dir="temp" quiet="false"/>
   	  <unzip src="lib/${jar.collections}" dest="temp"/>
      <unzip src="lib/${jar.io}" dest="temp"/>
      <unzip src="lib/${jar.lang}" dest="temp"/> 
      <unzip src="lib/${jar.ognl}" dest="temp"/> 
      <unzip src="lib/${jar.upload}" dest="temp"/>
      <unzip src="lib/${jar.velocity}" dest="temp"/> 
      <copy todir="${dir.classes}">
         <fileset dir="temp">
            <exclude name="META-INF/**"/>
         </fileset>
      </copy>
	  <delete dir="temp" quiet="false"/>
      <jar destfile="dist/${click}.jar">
         <manifest>
           <attribute name="Click-Version" value="${version}"/>
           <attribute name="Package" value="org.apache.click"/>
           <attribute name="Built-By" value="${user.name}"/>
           <attribute name="Created-By" value="Apache Ant"/>
           <attribute name="Build-Jdk" value="${java.version}"/>
           <attribute name="Extension-Name" value="org.apache.click"/>
           <attribute name="Specification-Title" value="Click is a Java-based web application framework" />
           <attribute name="Specification-Vendor" value="Apache Software Foundation"/>
           <attribute name="Implementation-Title" value="org.apache.click"/>
           <attribute name="Implementation-Vendor-Id" value="org.apache"/>
           <attribute name="Implementation-Vendor" value="Apache Software Foundation"/>
           <attribute name="Implementation-Version" value="${version}"/>
         </manifest>
         <fileset dir="${dir.classes}">
            <exclude name="org/apache/velocity/anakia/**"/>
            <exclude name="org/apache/velocity/test/**"/>
            <exclude name="org/apache/velocity/texen/**"/>
         </fileset>
      </jar>
   </target>


   <target name="build-mock" description="build mock JAR file" depends="check-deps">
      <available file="dist/${click}.jar" property="isClickAvail"/>
      <fail message="Build framework first with 'build-framework'">
         <condition>
  	        <or><isfalse value="${isClickAvail}"/></or>
  	     </condition>
      </fail>
      <delete file="dist/${click-mock}.jar" quiet="false"/>
      <delete dir="mock/classes" quiet="false"/>
      <mkdir dir="mock/classes"/>
      <copy todir="mock/classes">
         <fileset dir="mock/src">
            <exclude name="**/package.html"/>
         </fileset>
      </copy>
 	  <copy file="LICENSE.txt" todir="mock/classes/META-INF"/>
 	  <copy file="NOTICE.txt" todir="mock/classes/META-INF"/>
    <copy file="DISCLAIMER.txt" todir="mock/classes/META-INF"/>
      <javac srcdir="mock/src"
             destdir="mock/classes"
             debug="true"
             excludes="**/Test*"
             encoding="ISO-8859-1"
             source="${javac.source}">
         <classpath refid="classpath.mock"/>
      </javac>
      <jar destfile="dist/${click-mock}.jar">
         <manifest>
           <attribute name="Click-Version" value="${version}"/>
           <attribute name="Package" value="org.apache.click.mock"/>
           <attribute name="Built-By" value="${user.name}"/>
           <attribute name="Created-By" value="Apache Ant"/>
           <attribute name="Build-Jdk" value="${java.version}"/>
           <attribute name="Extension-Name" value="org.apache.click.mock"/>
           <attribute name="Specification-Title" value="Click is a Java-based web application framework" />
           <attribute name="Specification-Vendor" value="Apache Software Foundation"/>
           <attribute name="Implementation-Title" value="org.apache.click.mock"/>
           <attribute name="Implementation-Vendor-Id" value="org.apache"/>
           <attribute name="Implementation-Vendor" value="Apache Software Foundation"/>
           <attribute name="Implementation-Version" value="${version}"/>
         </manifest>
         <fileset dir="mock/classes"/>
      </jar>  
   </target>


   <target name="build-maven-bundles" 
           depends="build-framework, build-mock, build-extras"
           description="build Maven repository upload bundles">
      <!-- Start with a clean directory -->
      <delete dir="${maven-bundle}" quiet="false"/>
      <mkdir dir="${maven-bundle}"/>
      <buildBundleMacro name="click"/>
      <buildBundleMacro name="click-nodeps"/>
      <buildBundleMacro name="click-extras"/>
      <buildBundleMacro name="click-mock"/>
   </target>


   <target name="build-sources"
           description="build source ZIP files for use with IDEs">
      <property name="dir.source" value="framework/src"/>
      <!-- zip the framework without dependencies-->
      <zip destfile="dist/${click-nodeps}-src.zip">
         <fileset dir="${dir.source}">
            <exclude name="**/.html"/>
            <exclude name="**/.css"/>
            <exclude name="**/.js"/>
            <exclude name="**/.gif"/>
         </fileset>
      </zip>
      <!-- zip the framework with dependencies:-->
      <!-- this is not ready since the sources for the used jars are not available -->
      <zip destfile="dist/${click}-src.zip">
         <fileset dir="${dir.source}">
            <exclude name="**/package.html"/>
         </fileset>
      </zip>
      <!-- zip extras -->
      <zip destfile="dist/${click-extras}-src.zip" >
         <fileset dir="extras/src">
            <exclude name="**/*.html"/>
         </fileset>
      </zip>
      <!-- zip mock -->
      <zip destfile="dist/${click-mock}-src.zip" >
         <fileset dir="mock/src">
            <exclude name="**/*.html"/>
         </fileset>
      </zip>
   </target>


   <target name="checkstyle" description="run checkstyle report on Java soruce">
      <available file="lib/${jar.checkstyle}" property="isJarAvail"/>
      <fail message="The Checkstyle JAR is not on the classpath. To resolve this download the JAR dependencies with 'ant get-deps'.">
         <condition>
  	        <or><isfalse value="${isJarAvail}"/></or>
  	     </condition>
      </fail>

      <taskdef resource="checkstyletask.properties"
          classpath="lib/${jar.checkstyle}"/>

      <checkstyle config="build/checkstyle-checks.xml">
         <fileset dir="framework/src/org/apache/click/" includes="**/*.java"/>
         <fileset dir="extras/src" includes="**/*.java"/>
      	<classpath refid="classpath.checkstyle"/>
      </checkstyle>
   </target>


   <target name="check-deps">
      <available file="lib/${jar.codec}" property="isCodecAvail"/>
      <fail message="Download JAR dependencies first with 'ant get-deps'">
         <condition>
  	        <or><isfalse value="${isCodecAvail}"/></or>
  	     </condition>
      </fail>
      <available file="lib/${jar.junit}" property="isJUnitAvail"/>
      <fail message="Download JAR dependencies first with 'ant get-deps'">
         <condition>
  	        <or><isfalse value="${isJUnitAvail}"/></or>
  	     </condition>
      </fail>
   </target>


   <target name="clean"> 
      <delete dir="dist" quiet="false"/>
      <mkdir dir="dist"/>
      <delete>
        <fileset dir="framework/test" includes="TEST-*.txt"/>
      </delete>
      <delete>
        <fileset dir="extras/test" includes="TEST-*.txt"/>
      </delete>
      <delete>
        <fileset dir="mock/test" includes="TEST-*.txt"/>
      </delete>
   </target>


   <target name="deploy-examples" description="copy example WAR files to app server"> 
      <delete file="${dir.appserver}/click-examples.war" quiet="true"/>
   	  <sleep seconds="5"/>
      <copy file="dist/click-examples.war" todir="${dir.appserver}" overwrite="true"/>
   </target>


   <target name="format-java">
      <linetrim srcdir="framework/src" includes="**/*.java"/>
      <replacetabs srcdir="framework/src" includes="**/*.java"/>
      <linetrim srcdir="extras/src" includes="**/*.java"/>
      <replacetabs srcdir="extras/src" includes="**/*.java"/>
      <linetrim srcdir="mock/src" includes="**/*.java"/>
      <replacetabs srcdir="mock/src" includes="**/*.java"/>
      <linetrim srcdir="examples/src" includes="**/*.java"/>
      <replacetabs srcdir="examples/src" includes="**/*.java"/>
      <linetrim srcdir="template/src" includes="**/*.java"/>
      <replacetabs srcdir="template/src" includes="**/*.java"/>
   </target>

 
   <target name="get-deps" description="download JAR dependencies">
      <downloadMacro name="${jar.codec}" path="commons-codec"/>
      <downloadMacro name="${jar.collections}" path="commons-collections"/>
      <downloadMacro name="${jar.io}" path="commons-io"/>
      <downloadMacro name="${jar.lang}" path="commons-lang"/>
      <downloadMacro name="${jar.log4j}" path="log4j"/>
      <downloadMacro name="${jar.ognl}" path="ognl"/>
      <downloadMacro name="${jar.upload}" path="commons-fileupload"/>
      <downloadMacro name="${jar.junit}" path="junit"/>
      <downloadMacro name="${jar.servlet}" path="javax.servlet"/>
      <downloadMacro name="${jar.spring-beans}" path="org.springframework"/>
      <downloadMacro name="${jar.spring-context}" path="org.springframework"/>
      <downloadMacro name="${jar.spring-core}" path="org.springframework"/>
      <downloadMacro name="${jar.spring-web}" path="org.springframework"/>
      <get src="${repository}/maven/velocity/jars/${jar.velocity}" 
   	       dest="lib/${jar.velocity}"
   	       verbose="true"
   	       usetimestamp="true"/> 
      <get src="${repository}/maven2/org/apache/cayenne/cayenne-nodeps/2.0.4/${jar.cayenne}" 
 	       dest="lib/${jar.cayenne}"
 	       verbose="true"
 	       usetimestamp="true"/>
      <get src="${repository}/maven2/org/freemarker/freemarker/2.3.12/${jar.freemarker}" 
 	       dest="lib/${jar.freemarker}"
 	       verbose="true"
 	       usetimestamp="true"/>
      <ant antfile="build.xml" 
           dir="examples"
           target="get-deps"
           inheritall="false"/>

      <!-- Check if hibernate download is enabled -->
      <condition property="hibernate.true">
        <istrue value="${download.hibernate}" />
      </condition>

      <!-- Check if checkstyle download is enabled -->
      <condition property="checkstyle.true">
        <istrue value="${download.checkstyle}" />
      </condition>

      <!-- Download optional dependencies -->
      <antcall target="download-hibernate"/>
      <antcall target="download-checkstyle"/>
      
   </target>


   <target name="get-deps-proxy" description="download JAR dependencies">
      <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"/>
      <antcall target="get-deps"/>
   </target>


   <target name="download-hibernate" if="hibernate.true">
      <downloadMacro name="${jar.hibernate}" path="org.hibernate"/>
   </target>


   <target name="download-checkstyle" if="checkstyle.true">
     <get src="http://clickclick.googlecode.com/svn/trunk/checkstyle/${jar.checkstyle}"
 	       dest="lib/${jar.checkstyle}"
 	       verbose="true"
 	       usetimestamp="true"/>
   </target>


   <target name="help" description="display the Help message">
      <echo>Click ${version} web application framework
===================================

Main targets:

	build-all             build framework, extras, mock, examples
	build-distribution    build distribution ZIP file
	build-examples        build click-examples WAR file
	build-extras          build click-extras JAR file
	build-mock            build click-mock JAR file
	build-framework       build click framework JAR file
	build-maven-bundles   build Maven repository upload bundles
	build-sources         build source ZIP files for use with IDEs
  test-all              run all unit tests
	checkstyle            run checkstyle report on Java source
	deploy-examples       copy click-examples WAR file to app server
	get-deps              download JAR dependencies
	get-deps-proxy        download JAR dependencies via proxy
	help                  display the Help message
	javadoc               create Javadoc HTML files
  project-quick-start   build application template

Environment:

	java.home = ${java.home}
	ant.home  = ${ant.home}

Please ensure you have configured build.properties</echo>
   </target> 
	
   <target name="javadoc" description="create Javadoc HTML files" depends="prepare-hibernate">
      <!-- Framework -->
      <delete quiet="false" failonerror="false">
         <fileset dir="documentation/docs/click-api" includes="**/*"/>
      </delete>

      <javadocMacro src="framework/src"
                    destdir="documentation/docs/click-api"
                    windowtitle="Click Framework API"
                    doctitle="Click API"
                    classpath="classpath.framework"
      	            overview="documentation/docs/core-overview.html"
                    excludes=""/>

      <copy file="framework/src/org/apache/click/control/image-submit.gif"
            todir="documentation/docs/click-api/org/apache/click/control"/>
   	
      <!-- Extras -->
      <delete quiet="false" failonerror="false">
          <fileset dir="documentation/docs/extras-api" includes="**/*"/>
      </delete>

      <javadocMacro src="extras/src"
                    destdir="documentation/docs/extras-api"
                    windowtitle="Click Extras API"
                    doctitle="Click Extras API"
                    classpath="classpath.extras"
                    overview="documentation/docs/extras-overview.html"
                    excludes="${exclude-hibernate-package}"/>

      <!-- Mock -->
      <delete quiet="false" failonerror="false">
         <fileset dir="documentation/docs/mock-api" includes="**/*"/>
      </delete>

      <javadocMacro src="mock/src"
                    destdir="documentation/docs/mock-api"
                    windowtitle="Click Mock API"
                    doctitle="Click Mock API"
                    classpath="classpath.mock"
                    overview="documentation/docs/mock-overview.html"
                    excludes=""/>

      <copy file="documentation/images/post-sequence-diagram.png"
            todir="documentation/docs/click-api/org/apache/click/"/>
      <copy file="documentation/images/control-post-sequence-diagram.png"
            todir="documentation/docs/click-api/org/apache/click/"/>
      <copy file="documentation/images/service-package.png"
            todir="documentation/docs/click-api/org/apache/click/service/"/>
      <copy file="documentation/images/service-package.png"
            todir="documentation/docs/extras-api/org/apache/click/extras/service/"/>
      <copy file="documentation/images/form-table.png"
            todir="documentation/docs/extras-api/org/apache/click/extras/control"/>
      <copy file="documentation/images/menu.png"
            todir="documentation/docs/extras-api/org/apache/click/extras/control"/>
      <copy file="documentation/images/link-decorator.png"
          todir="documentation/docs/extras-api/org/apache/click/extras/control"/>
      <copy file="documentation/images/tabbed-form.png"
            todir="documentation/docs/extras-api/org/apache/click/extras/control"/>
      <copy file="documentation/images/virtual-keyboard.gif"
            todir="documentation/docs/extras-api/org/apache/click/extras/control"/>
      <copy file="documentation/images/table.png"
            todir="documentation/docs/click-api/org/apache/click/control"/>
      <copy file="documentation/images/default-paginator.png"
            todir="documentation/docs/click-api/org/apache/click/control"/>
      <copy file="documentation/images/inline-paginator.png"
            todir="documentation/docs/extras-api/org/apache/click/extras/control"/>
      <copy file="extras/src/META-INF/web/click/colorpicker/images/color-picker.png"
            todir="documentation/docs/extras-api/org/apache/click/extras/control/colorpicker"/>
      <copy file="documentation/images/tree.png"
            todir="documentation/docs/extras-api/org/apache/click/extras/tree"/>
      <copy file="documentation/images/checkbox-tree.png"
            todir="documentation/docs/extras-api/org/apache/click/extras/tree"/>
      <copy file="documentation/docs/javadoc-stylesheet.css"  
      	    overwrite="true"
      	    tofile="documentation/docs/click-api/stylesheet.css"/>
      <copy file="documentation/docs/javadoc-stylesheet.css"  
            overwrite="true"
  	        tofile="documentation/docs/extras-api/stylesheet.css"/>
      <copy file="documentation/docs/javadoc-stylesheet.css"  
      	    overwrite="true"
	        tofile="documentation/docs/mock-api/stylesheet.css"/>
   </target>


    <!--
     Testing tasks
     -->

   <target name="test-framework" depends="check-deps">
      <copy todir="framework/classes">
         <fileset dir="framework/src">
            <exclude name="**/package.html"/>
         </fileset>
      </copy>
      <copy todir="framework/classes">
         <fileset dir="framework/test">
            <exclude name="**/package.html"/>
         </fileset>
      </copy>
      <javac srcdir="framework/src;framework/test;mock/src" 
             destdir="framework/classes" 
             debug="true"
             encoding="ISO-8859-1"
             source="${javac.source}">
         <classpath refid="classpath.framework"/>
         <classpath refid="classpath.extras"/>
         <classpath refid="classpath.test"/>
      </javac>
      <junit haltonfailure="yes" showoutput="true">
         <classpath refid="classpath.framework"/>
         <classpath refid="classpath.extras"/>
         <classpath refid="classpath.test"/>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="framework/test">
            <fileset dir="framework/test">
               <include name="**/*Test.java"/>
            </fileset>
         </batchtest>
      </junit>
      <delete>
        <fileset dir="framework/test" includes="TEST-*.txt"/>
      </delete>
   </target>

   
   <target name="test-extras" depends="check-deps">
      <copy todir="extras/classes">
         <fileset dir="extras/src">
            <exclude name="**/package.html"/>
         </fileset>
      </copy>
      <copy todir="extras/classes">
         <fileset dir="extras/test">
            <exclude name="**/package.html"/>
         </fileset>
      </copy>
      <javac srcdir="extras/src;extras/test;mock/src;framework/test" 
             destdir="extras/classes" 
             debug="true"
             encoding="ISO-8859-1"
             source="${javac.source}">
         <classpath refid="classpath.framework"/>
         <classpath refid="classpath.extras"/>
         <classpath refid="classpath.test"/>
      </javac>
      <junit haltonfailure="yes" showoutput="true">
         <classpath refid="classpath.framework"/>
         <classpath refid="classpath.extras"/>
         <classpath refid="classpath.test"/>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="extras/test">
            <fileset dir="extras/test">
               <include name="**/*Test.java"/>
            </fileset>
         </batchtest>
      </junit>
      <delete>
        <fileset dir="extras/test" includes="TEST-*.txt"/>
      </delete>
   </target>


   <target name="test-mock" depends="check-deps">
      <copy todir="mock/classes">
         <fileset dir="mock/src">
            <exclude name="**/package.html"/>
         </fileset>
      </copy>
      <copy todir="mock/classes">
         <fileset dir="mock/test">
            <exclude name="**/package.html"/>
         </fileset>
      </copy>
      <javac srcdir="mock/src;mock/test"
             destdir="mock/classes"
             debug="true"
             encoding="ISO-8859-1"
             source="${javac.source}">
         <classpath refid="classpath.mock"/>
         <classpath refid="classpath.framework"/>
         <classpath refid="classpath.test"/>
      </javac>
      <junit haltonfailure="yes" showoutput="true">
         <classpath refid="classpath.mock"/>
         <classpath refid="classpath.framework"/>
         <classpath refid="classpath.test"/>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="mock/test">
            <fileset dir="mock/test">
               <include name="**/*Test.java"/>
            </fileset>
         </batchtest>
      </junit>
      <delete>
        <fileset dir="mock/test" includes="TEST-*.txt"/>
      </delete>
   </target>


   <target name="test-all" depends="test-framework, test-extras, test-mock"
       description="run all unit tests"/>


    <!--
     Javadoc macro
     -->

   <macrodef name="javadocMacro">
      <attribute name="src"/>
      <attribute name="destdir"/>
      <attribute name="windowtitle"/>
      <attribute name="doctitle"/>
      <attribute name="classpath"/>
      <attribute name="overview"/>
      <attribute name="excludes"/>
      <sequential>
         <javadoc sourcepath="@{src}"
               destdir="@{destdir}"
               author="true"
               version="true"
               verbose="false"
               windowtitle="@{windowtitle}"
      	       packagenames="org.apache.click.*"
         	     overview="@{overview}"
               doctitle="@{doctitle}"
               encoding="UTF-8"
               charset="UTF-8"
               excludepackagenames="@{excludes}">
            <classpath refid="@{classpath}"/>
            <link href="http://java.sun.com/j2se/1.4.2/docs/api/"/>
            <link href="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/"/>
            <link href="http://jakarta.apache.org/commons/fileupload/apidocs/"/>
            <link href="http://incubator.apache.org/click/docs/click-api/"/>
            <link href="http://www.hibernate.org/hib_docs/v3/api/"/>
            <link href="http://static.springframework.org/spring/docs/2.5.x/api/"/>
         </javadoc>

         <!-- Add syntax highlighter to each javadoc page -->
         <replace dir="@{destdir}" value="${root.properties.highlighter}&lt;/BODY&gt;">
            <include name="**/*.html"/>
            <replacetoken>&lt;/BODY&gt;</replacetoken>
         </replace>

         <!-- Add IE Mark of the Web to each javadoc page -->
         <replace dir="@{destdir}" value="&lt;!-- saved from url=(0014)about:internet --&gt;">
            <include name="**/*.html"/>
            <replacetoken>&lt;!--NewPage--&gt;</replacetoken>
         </replace>

         <!--
         IE throws exception when trying to access parent frame and Mark of the Web is active.
         Disable setting of window title, which needs to access the parent frame.
         -->
         <replace dir="@{destdir}" value="">
            <include name="**/*.html"/>
            <replacetoken> onload="windowTitle();"</replacetoken>
         </replace>

      </sequential>
   </macrodef>


    <!--
     Quickstart project task
     -->

   <target name="project-quick-start" description="build application template">
      <available file="lib/${jar.servlet}" property="isServletJarAvail"/>
      <fail message="The lib/${jar.servlet} JAR is not available. To resolve this download the JAR dependencies with 'ant get-deps'.">
         <condition>
  	        <or><isfalse value="${isServletJarAvail}"/></or>
  	     </condition>
      </fail>
      <available file="lib/${jar.log4j}" property="isLog4JJarAvail"/>
      <fail message="The lib/${jar.log4j} JAR is not available. To resolve this download the JAR dependencies with 'ant get-deps'.">
         <condition>
  	        <or><isfalse value="${isLog4JJarAvail}"/></or>
  	     </condition>
      </fail>
      <available file="dist/${click}.jar" property="isClickAvail"/>
      <fail message="The dist/${click} JAR is not available. To resolve this build the project with 'ant build-distribution'.">
         <condition>
  	        <or><isfalse value="${isClickAvail}"/></or>
  	     </condition>
      </fail>
      <input 
      	message="Please enter the project name (e.g. quickstart):" 
        defaultvalue="quickstart"
        addproperty="project-name"/>
      <input 
      	message="Please enter the root package name (e.g. com.${project-name}):" 
        defaultvalue="com.${project-name}"
        addproperty="package-name"/>
      <input 
    	  message="Please enter the web app context path:" 
    	  defaultvalue="${project-name}"
        addproperty="context-path"/>
       <dirname property="project-path" file="../${project-name}"/>
       <input
         message="The directory '${project-path}/${project-name}' will be deleted. Continue (y/n)?"
         validargs="y,n"
         addproperty="do.delete"/>
       <condition property="do.abort">
          <equals arg1="n" arg2="${do.delete}"/>
       </condition>
       <fail if="do.abort">Quickstart aborted.</fail>

      <delete 
      	dir="../${project-name}" 
      	quiet="false"/>
   	  <package 
   	  	projectName="${project-name}" 
   	  	packageName="${package-name}"/>
      <copy todir="../${project-name}/WebContent">
      	<fileset dir="template/WebContent"/>
      </copy>
      <copy 
      	todir="../${project-name}/WebContent/WEB-INF/lib"
      	file="dist/${click}.jar"/>
      <copy 
      	todir="../${project-name}/WebContent/WEB-INF/lib"
      	file="dist/${click-extras}.jar"/>
      <copy 
      	todir="../${project-name}/WebContent/WEB-INF/lib"
      	file="lib/${jar.log4j}"/>
      <copy 
      	todir="../${project-name}/lib"
      	file="lib/servlet-api-2.3.jar"/>
      <copy 
      	todir="../${project-name}" 
      	file="template/build.xml"/>
      <copy 
      	todir="../${project-name}" 
      	file="template/README.txt"/>
      <copy todir="${package.path}">
        <fileset dir="template/src/template"/>
      </copy>
   	  <replace 
   	  	token="package template" 
   	  	value="package ${package-name}"
   	  	dir="../${project-name}/src"/>
   	  <replace 
   	  	token="import template" 
   	  	value="import ${package-name}"
   	  	dir="../${project-name}/src"/>
 	  <replace 
 	  	token="template" 
 	  	value="${package-name}"
 	  	file="../${project-name}/WebContent/WEB-INF/click.xml"/>   
 	  <replace 
 	  	token="project-name" 
 	  	value="${project-name}"
 	  	file="../${project-name}/WebContent/border-template.htm"/>   
 	  <replace 
 	  	token="project-name" 
 	  	value="${project-name}"
 	  	file="../${project-name}/WebContent/click/error.htm"/>   
 	  <replace
 	  	token="template-context"
 	  	value="${context-path}"
 	  	dir="../${project-name}"/>
   </target>


   <target name="prepare-hibernate" depends="check-hibernate,check-hibernate-false"/>


   <target name="check-hibernate">
     <!--  note: check to see if hibernate.jar is available.  -->
     <available classname="org.hibernate.Hibernate" property="hibernate.present">
       <classpath refid="classpath.extras"/>
     </available>
   </target>


   <target name="check-hibernate-false" unless="hibernate.present">
     <property name="exclude-hibernate" value="**/hibernate/**"/>
     <property name="exclude-hibernate-package" value="org.apache.click.extras.hibernate.*"/>
     <echo level="warning">
  ********************************************************
  **
  ** The Hibernate library has not been found on your
  ** classpath. The newly built Click Extras jar will
  ** exclude the Hibernate package.
  **
  ********************************************************
    </echo>
   </target>

</project>
