<project name="Smith" default="dist.jar" basedir=".">
<description>Smith - ColdFusion engine</description>
<!-- project properties -->
<property name="prj.lib" value="lib"/>
<property file="build.properties"/>
<!--
When updating smith version:
1. Update field SMITH_VERSION in com.youngculture.smith.engine.servlets.ApplicationServices class.
2. Add changes in /smith/src/web/src/com/youngculture/smith/_resources/_admin/changestext.jsp
-->
<property name="version" value="1.3b6"/>
<property name="source.web" value="src/web"/>
<property name="source.cc2" value="src/cc2"/>
<property name="dir.dist" value="dist"/>
<property name="jarfile" value="smith-${version}.jar"/>
<property name="warfile" value="smith-${version}.war"/>
<property name="javadoc" value="javadoc"/>
<property name="dist.source.file" value="smith-src-${version}.zip"/>
<!-- sources targets -->
<target name="sources.build" description="invokes default ('build') target for all sources in predefined order">
<ant dir="${source.cc2}" inheritAll="false"/>
<ant dir="${source.web}" inheritAll="false"/>
</target>
<!-- clean all source files -->
<target name="sources.clean" description="invokes 'clean' target for all sources">
<ant dir="${source.cc2}" inheritAll="false" target="clean"/>
<ant dir="${source.web}" inheritAll="false" target="clean"/>
</target>
<!-- create smith.jar file -->
<target name="dist.jar" depends="sources.build" description="creates jar file">
<mkdir dir="${dir.dist}"/>
<delete file="${dir.dist}/${jarfile}"/>
<jar destfile="${dir.dist}/${jarfile}" manifest="config/MANIFEST.MF">
<fileset dir="${source.web}/bin"/>
<fileset dir="${source.cc2}/bin"/>
<fileset dir="." includes="gpl.txt"/>
</jar>
</target>
<!-- create WAR file -->
<target name="dist.war" depends="dist.jar" description="creates blank WAR">
<delete file="${dir.dist}/${warfile}"/>
<war destfile="${dir.dist}/${warfile}" webxml="${source.web}/web-inf/web.xml">
<lib file="${jar.codec}"/>
<lib file="${jar.collections}"/>
<lib file="${jar.mailclient}"/>
<lib file="${jar.fileupload}"/>
<lib file="${jar.httpclient}"/>
<lib file="${jar.io}"/>
<lib file="${jar.logging}"/>
<lib file="${jar.c3p0}"/>
<lib file="${jar.hsqldb}"/>
<lib file="${jar.zql}"/>
<lib file="${jar.log4j}"/>
<lib file="${jar.activation}"/>
<lib file="${jar.mail}"/>
<lib file="${jar.jug}"/>
<lib file="${jar.oro}"/>
<lib file="${jar.xalan}"/>
<lib file="${jar.xerces}"/>
<lib file="${dir.dist}/${jarfile}"/>
<fileset file="${source.web}/web-inf/index.cfm"/>
<fileset dir="." includes="gpl.txt"/>
</war>
</target>
<!-- generate Java docs -->
<target name="javadoc">
<javadoc access="private"
author="true"
source="1.4"
encoding="utf-8"
destdir="${javadoc}"
nodeprecated="false"
nodeprecatedlist="false"
noindex="false"
nonavbar="false"
notree="false"
packagenames="com.youngculture.smith.*"
splitindex="true"
use="true"
version="true">
<fileset dir="src/web/src"/>
<fileset dir="src/cc2/src"/>
</javadoc>
</target>
<!-- project targets -->
<target name="clean" description="cleans distribution">
<delete dir="${dir.dist}"/>
<delete dir="${javadoc}"/>
</target>
<!-- Create source code distribution -->
<target name="dist.source" depends="sources.build" description="Creates distribution of source code">
<mkdir dir="${dir.dist}"/>
<zip zipfile="${dir.dist}/${dist.source.file}">
<zipfileset dir="config" prefix="config"/>
<zipfileset dir="docs" prefix="docs"/>
<zipfileset dir="lib" prefix="lib"/>
<zipfileset dir="src" prefix="src" excludes="cc2/bin/**,web/bin/**"/>
<zipfileset file="build.properties"/>
<zipfileset file="build.xml"/>
<zipfileset file="readme.txt"/>
<zipfileset file="gpl.txt"/>
</zip>
</target>
</project>