| <project name="click" default="help" basedir="."> |
| |
| <!-- Project Properties --> |
| <property file="./build.properties"/> |
| <property name="jar.codec" value="commons-codec-1.3.jar"/> |
| <property name="jar.collections" value="commons-collections-3.1.jar"/> |
| <property name="jar.lang" value="commons-lang-2.1.jar"/> |
| <property name="jar.junit" value="junit-3.8.1.jar"/> |
| <property name="jar.servlet" value="servlet-api-2.4.jar"/> |
| <property name="jar.spring" value="spring-1.2.5.jar"/> |
| <property name="jar.upload" value="commons-fileupload-1.0.jar"/> |
| <property name="jar.velocity" value="velocity-1.5-dev.jar"/> |
| |
| <taskdef name="linetrim" |
| classname="dev.LineTrimTask" |
| classpath="lib/dev.jar"/> |
| |
| <taskdef name="replacetabs" |
| classname="dev.ReplaceTabsTask" |
| classpath="lib/dev.jar"/> |
| |
| <!-- Tasks --> |
| |
| <target name="build-all" |
| depends="build-framework, build-extras, build-webapps" |
| description="build Click framework, extras and webapps"/> |
| |
| <target name="build-framework" description="build framework JAR file"> |
| <available file="lib/${jar.codec}" property="isJarAvail"/> |
| <fail message="Download JAR dependencies first with 'get-deps'"> |
| <condition> |
| <or> |
| <isfalse value="${isJarAvail}"/> |
| </or> |
| </condition> |
| </fail> |
| <delete file="deploy/click-${version}.jar" quiet="false"/> |
| <delete file="deploy/click-nodeps-${version}.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="**/*.java"/> |
| <exclude name="**/package.html"/> |
| </fileset> |
| </copy> |
| <!-- No Dependencies --> |
| <javac srcdir="${dir.source}" destdir="${dir.classes}" debug="true"> |
| <classpath> |
| <pathelement location="lib/${jar.codec}"/> |
| <pathelement location="lib/${jar.collections}"/> |
| <pathelement location="lib/${jar.lang}"/> |
| <pathelement location="lib/${jar.servlet}"/> |
| <pathelement location="lib/${jar.upload}"/> |
| <pathelement location="lib/${jar.velocity}"/> |
| </classpath> |
| </javac> |
| <jar destfile="deploy/click-nodeps-${version}.jar"> |
| <manifest> |
| <attribute name="Click-Version" value="${version}"/> |
| <attribute name="Package" value="net.sf.click"/> |
| <attribute name="Built-By" value="${user.name}"/> |
| </manifest> |
| <fileset dir="${dir.classes}"/> |
| </jar> |
| <!-- With Dependencies --> |
| <unzip src="lib/${jar.codec}" dest="${dir.classes}"/> |
| <unzip src="lib/${jar.collections}" dest="${dir.classes}"/> |
| <unzip src="lib/${jar.lang}" dest="${dir.classes}"/> |
| <unzip src="lib/${jar.upload}" dest="${dir.classes}"/> |
| <unzip src="lib/${jar.velocity}" dest="${dir.classes}"/> |
| <jar destfile="deploy/click-${version}.jar"> |
| <manifest> |
| <attribute name="Click-Version" value="${version}"/> |
| <attribute name="Package" value="net.sf.click"/> |
| <attribute name="Built-By" value="${user.name}"/> |
| </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-extras" description="build extras JAR file"> |
| <available file="deploy/click-${version}.jar" property="isClickAvail"/> |
| <fail message="Build framework first with 'build-framework'"> |
| <condition> |
| <or> |
| <isfalse value="${isClickAvail}"/> |
| </or> |
| </condition> |
| </fail> |
| <delete file="deploy/click-extras-${version}.jar" quiet="false"/> |
| <delete dir="extras/classes" quiet="false"/> |
| <mkdir dir="extras/classes"/> |
| <copy todir="extras/classes"> |
| <fileset dir="extras/src"> |
| <exclude name="**/*.java"/> |
| <exclude name="**/package.html"/> |
| </fileset> |
| </copy> |
| <javac srcdir="extras/src" destdir="extras/classes" debug="true" excludes="**/Test*"> |
| <classpath> |
| <pathelement location="${jar.cayenne}"/> |
| <pathelement location="lib/${jar.servlet}"/> |
| <pathelement location="lib/${jar.spring}"/> |
| <pathelement location="deploy/click-${version}.jar"/> |
| </classpath> |
| </javac> |
| <jar destfile="deploy/click-extras-${version}.jar"> |
| <manifest> |
| <attribute name="Click-Version" value="${version}"/> |
| <attribute name="Package" value="net.sf.click.extras"/> |
| <attribute name="Built-By" value="${user.name}"/> |
| </manifest> |
| <fileset dir="extras/classes"> |
| <exclude name="org/apache/log4j/chainsaw/**"/> |
| </fileset> |
| </jar> |
| </target> |
| |
| <target name="build-release" |
| depends="build-framework, build-extras, build-webapps, javadoc" |
| description="build release ZIP file"> |
| <delete dir="click-${version}" quiet="false"/> |
| <mkdir dir="click-${version}"/> |
| <!-- "click-documentation" WAR --> |
| <war destfile="deploy/click-documentation.war" |
| webxml="webapps/click-documentation/WEB-INF/web.xml"> |
| <manifest> |
| <attribute name="Click-Version" value="${version}"/> |
| <attribute name="Built-By" value="${user.name}"/> |
| </manifest> |
| <fileset dir="webapps/click-documentation"> |
| <exclude name="**/web.xml"/> |
| </fileset> |
| </war> |
| <copy todir="click-${version}"> |
| <fileset dir="." casesensitive="yes"> |
| <exclude name=".**"/> |
| <exclude name="click-${version}"/> |
| <exclude name="TODO.txt"/> |
| <exclude name="bin/**"/> |
| <exclude name="lib/${jar.codec}"/> |
| <exclude name="lib/${jar.collections}"/> |
| <exclude name="lib/${jar.lang}"/> |
| <exclude name="lib/${jar.junit}"/> |
| <exclude name="lib/${jar.servlet}"/> |
| <exclude name="lib/${jar.spring}"/> |
| <exclude name="lib/${jar.upload}"/> |
| <exclude name="**/Thumbs.db"/> |
| <exclude name="**/classes/**"/> |
| <exclude name="webapps/click-cayenne/**"/> |
| <exclude name="webapps/click-documentation/**"/> |
| </fileset> |
| </copy> |
| <delete file="../click-${version}.zip"/> |
| <zip basedir="." |
| destfile="../click-${version}.zip" |
| includes="click-${version}/**"/> |
| <delete dir="click-${version}" quiet="false"/> |
| </target> |
| |
| <target name="build-webapps" description="build web application WAR files"> |
| <available file="deploy/click-extras-${version}.jar" property="isExtrasAvail"/> |
| <fail message="Build extras first with 'build-extras'"> |
| <condition> |
| <or> |
| <isfalse value="${isExtrasAvail}"/> |
| </or> |
| </condition> |
| </fail> |
| <!-- "click-blank" WAR --> |
| <delete file="deploy/deploy/click-blank.war" quiet="false"/> |
| <copy file="framework/src/click-control.properties" |
| todir="webapps/click-blank/WEB-INF/src"/> |
| <copy file="framework/src/click-control.properties" |
| todir="webapps/click-blank/WEB-INF/classes"/> |
| <war destfile="deploy/click-blank.war" |
| webxml="webapps/click-blank/WEB-INF/web.xml"> |
| <manifest> |
| <attribute name="Click-Version" value="${version}"/> |
| <attribute name="Built-By" value="${user.name}"/> |
| </manifest> |
| <lib file="deploy/click-${version}.jar"/> |
| <fileset dir="webapps/click-blank"> |
| <exclude name="**/web.xml"/> |
| </fileset> |
| </war> |
| <!-- "click-examples" WAR --> |
| <delete file="deploy/deploy/click-examples.war" quiet="false"/> |
| <delete dir="webapps/click-examples/WEB-INF/classes" quiet="false"/> |
| <mkdir dir="webapps/click-examples/WEB-INF/classes"/> |
| <javac srcdir="webapps/click-examples/WEB-INF/src" |
| destdir="webapps/click-examples/WEB-INF/classes" |
| debug="true"> |
| <classpath> |
| <pathelement location="lib/${jar.servlet}"/> |
| <pathelement location="deploy/click-${version}.jar"/> |
| <pathelement location="deploy/click-extras-${version}.jar"/> |
| </classpath> |
| </javac> |
| <copy todir="webapps/click-examples/WEB-INF/classes"> |
| <fileset dir="webapps/click-examples/WEB-INF/src"> |
| <exclude name="**/*.java"/> |
| <exclude name="**/package.html"/> |
| </fileset> |
| </copy> |
| <war destfile="deploy/click-examples.war" |
| webxml="webapps/click-examples/WEB-INF/web.xml"> |
| <manifest> |
| <attribute name="Click-Version" value="${version}"/> |
| <attribute name="Built-By" value="${user.name}"/> |
| </manifest> |
| <lib file="deploy/click-${version}.jar"/> |
| <lib file="deploy/click-extras-${version}.jar"/> |
| <fileset dir="webapps/click-examples"> |
| <exclude name="**/web.xml"/> |
| </fileset> |
| </war> |
| </target> |
| |
| <target name="create-upload-bundle"> |
| <delete dir="upload-bundle" quiet="false"/> |
| <mkdir dir="upload-bundle"/> |
| <copy file="LICENSE.txt" todir="upload-bundle"/> |
| <copy file="project.xml" todir="upload-bundle"/> |
| <copy file="deploy/click-${version}.jar" todir="upload-bundle"/> |
| <jar basedir="upload-bundle" destfile="../click-${version}-bundle.jar"/> |
| <delete dir="upload-bundle" quiet="false"/> |
| </target> |
| |
| <target name="deploy-examples"> |
| <copy file="deploy/click-examples.war" todir="${dir.appserver}" overwrite="true"/> |
| </target> |
| |
| <target name="deploy-webapps" description="copy WAR files to application server"> |
| <copy file="deploy/click-blank.war" todir="${dir.appserver}" overwrite="true"/> |
| <copy file="deploy/click-documentation.war" todir="${dir.appserver}" overwrite="true"/> |
| <copy file="deploy/click-examples.war" todir="${dir.appserver}" overwrite="true"/> |
| </target> |
| |
| <target name="format-java"> |
| <linetrim srcdir="extras/src" includes="**/*.java"/> |
| <replacetabs srcdir="extras/src" includes="**/*.java"/> |
| <linetrim srcdir="framework/src" includes="**/*.java"/> |
| <replacetabs srcdir="framework/src" includes="**/*.java"/> |
| <linetrim srcdir="webapps/click-examples/WEB-INF/src" includes="**/*.java"/> |
| <replacetabs srcdir="webapps/click-examples/WEB-INF/src" includes="**/*.java"/> |
| </target> |
| |
| <target name="get-deps" description="download JAR dependencies"> |
| <property name="repository" value="http://www.ibiblio.org/maven"/> |
| <get src="${repository}/commons-codec/jars/${jar.codec}" |
| dest="lib/${jar.codec}" |
| usetimestamp="true"/> |
| <get src="${repository}/commons-collections/jars/${jar.collections}" |
| dest="lib/${jar.collections}" |
| usetimestamp="true"/> |
| <get src="${repository}/commons-lang/jars/${jar.lang}" |
| dest="lib/${jar.lang}" |
| usetimestamp="true"/> |
| <get src="${repository}/commons-fileupload/jars/${jar.upload}" |
| dest="lib/${jar.upload}" |
| usetimestamp="true"/> |
| <get src="${repository}/junit/jars/${jar.junit}" |
| dest="lib/${jar.junit}" |
| usetimestamp="true"/> |
| <get src="${repository}/javax.servlet/jars/${jar.servlet}" |
| dest="lib/${jar.servlet}" |
| usetimestamp="true"/> |
| <get src="${repository}/springframework/jars/${jar.spring}" |
| dest="lib/${jar.spring}" |
| usetimestamp="true"/> |
| </target> |
| |
| <target name="get-deps-proxy" description="download JAR dependencies"> |
| <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"/> |
| <antcall target="get-deps"/> |
| </target> |
| |
| <target name="help" description="display the Help message"> |
| <echo message="Click ${version} web application framework"/> |
| <echo message="===================================="/> |
| <echo/> |
| <echo message="Main targets:"/> |
| <echo/> |
| <echo message="build-all build framework, extras, webapps"/> |
| <echo message="build-extras build click-extras JAR file"/> |
| <echo message="build-framework build click framework JAR file"/> |
| <echo message="build-release build release ZIP file"/> |
| <echo message="build-webapps build web application WAR files"/> |
| <echo message="deploy-webapps copy WAR files to application server"/> |
| <echo message="get-deps download JAR dependencies"/> |
| <echo message="get-deps-proxy download JAR dependencies via proxy"/> |
| <echo message="help display the Help message"/> |
| <echo message="javadoc create Javadoc HTML files"/> |
| <echo/> |
| <echo/> |
| <echo message="Please ensure you have configured build.properties"/> |
| <echo/> |
| </target> |
| |
| <target name="javadoc" description="create Javadoc HTML files"> |
| <!-- Framework --> |
| <delete quiet="false" failonerror="false"> |
| <fileset dir="webapps/click-documentation/docs/click-api" includes="**/*"/> |
| </delete> |
| <javadoc sourcepath="framework/src" |
| destdir="webapps/click-documentation/docs/click-api" |
| author="true" |
| version="true" |
| verbose="false" |
| windowtitle="Click API" |
| doctitle="Click API"> |
| <classpath> |
| <pathelement location="lib/${jar.servlet}"/> |
| <pathelement location="deploy/click-${version}.jar"/> |
| </classpath> |
| <packageset dir="framework/src"> |
| <include name="net/**"/> |
| <exclude name="org/**"/> |
| </packageset> |
| </javadoc> |
| <copy file="framework/src/net/sf/click/control/calendar.gif" |
| todir="webapps/click-documentation/docs/click-api/net/sf/click/control"/> |
| <copy file="framework/src/net/sf/click/control/image-submit.gif" |
| todir="webapps/click-documentation/docs/click-api/net/sf/click/control"/> |
| <!-- Extras --> |
| <delete quiet="false" failonerror="false"> |
| <fileset dir="webapps/click-documentation/docs/extras-api" includes="**/*"/> |
| </delete> |
| <javadoc sourcepath="extras/src" |
| destdir="webapps/click-documentation/docs/extras-api" |
| author="true" |
| version="true" |
| verbose="false" |
| windowtitle="Click Extras API" |
| doctitle="Click Extras API"> |
| <classpath> |
| <pathelement location="${jar.cayenne}"/> |
| <pathelement location="lib/${jar.servlet}"/> |
| <pathelement location="lib/${jar.spring}"/> |
| <pathelement location="deploy/click-${version}.jar"/> |
| </classpath> |
| <packageset dir="extras/src"> |
| <include name="net/**"/> |
| </packageset> |
| </javadoc> |
| <!-- Examples --> |
| <delete quiet="false" failonerror="false"> |
| <fileset dir="webapps/click-examples/javadoc" includes="**/*"/> |
| </delete> |
| <javadoc sourcepath="webapps/click-examples/WEF-INF/src" |
| destdir="webapps/click-examples/javadoc" |
| author="true" |
| version="true" |
| verbose="false" |
| windowtitle="Click Examples" |
| doctitle="Click Examples API"> |
| <classpath> |
| <pathelement location="lib/${jar.servlet}"/> |
| <pathelement location="deploy/click-${version}.jar"/> |
| <pathelement location="deploy/click-extras-${version}.jar"/> |
| </classpath> |
| <packageset dir="webapps/click-examples/WEB-INF/src"/> |
| </javadoc> |
| <copy file="framework/stylesheet.css" |
| overwrite="true" |
| todir="webapps/click-documentation/docs/click-api"/> |
| <copy file="framework/stylesheet.css" |
| overwrite="true" |
| todir="webapps/click-documentation/docs/extras-api"/> |
| <copy file="framework/stylesheet.css" |
| overwrite="true" |
| todir="webapps/click-examples/javadoc"/> |
| <copy file="framework/stylesheet.css" |
| overwrite="true" |
| todir="webapps/click-documentation/docs/servlet-api"/> |
| </target> |
| |
| </project> |