antville/build.xml
Tobi Schäfer 3c55faaafa * Added default apps.properties file to extra dir for convenience
* Updated INSTALL file
 * Added instruction to move build/extra/antclick w/o db.properties to extra/postgre for convenient inclusion in apps.properties when using PostgreSQL
2010-02-03 11:18:08 +00:00

204 lines
7.8 KiB
XML

<?xml version="1.0"?>
<project name="antville" default="usage" basedir=".">
<target name="help" depends="usage" />
<target name="usage">
<echo message="Antville Build Instructions" />
<echo message="===========================" />
<echo message="Available targets are:" />
<echo message=" all Generate the Antville and AntClick packages" />
<echo message=" antville Generate the Antville packages" />
<echo message=" antclick Generate the AntClick packages" />
<!--echo message=" publish Copy packages to the download server"/-->
<echo message=" docs Generate the API documentation" />
<echo message=" pot Extract gettext call strings into POT file" />
<echo message=" messages Generate JavaScript message files" />
<echo message=" clean Clean up build directory" />
<echo message=" usage Show these build instructions (default)" />
</target>
<target name="all" depends="antville, antclick" />
<target name="init">
<property name="name" value="antville" />
<property name="year" value="1998-${year}" />
<property name="version" value="1.2-beta" />
<property name="package.name" value="${name}-${version}" />
<property name="antville.src" value="http://antville.googlecode.com/svn/trunk" />
<property name="helma.src" value="http://dev.helma.org/svn/helma/helma/trunk" />
<property name="apps.src" value="http://dev.helma.org/svn/apps" />
<property name="build.dir" location="${basedir}/build" />
<property file="${build.dir}/build.properties" />
<property name="helma.dir" location="${basedir}/../.." />
<property name="extra.dir" location="${build.dir}/extra" />
<property name="dist.dir" location="${build.dir}/dist" />
<property name="work.dir" location="${build.dir}/work" />
<property name="modules.dir" location="${work.dir}/modules" />
<property name="apps.dir" location="${work.dir}/apps" />
<property name="antville.dir" location="${apps.dir}/antville" />
<property name="hopkit.dir" location="${helma.dir}/modules/jala/util/HopKit" />
<property name="docs.title" value="Antville&amp;#32;${version}&amp;#32;API&amp;#32;Reference" />
<property name="docs.infiles" location="${basedir}/code" />
<property name="docs.outfiles" location="${basedir}/docs" />
<property name="i18n.scan" value="code compat" />
<property name="i18n.destination" location="${basedir}/i18n" />
<property name="i18n.poDirectory" location="${i18n.destination}" />
<property name="i18n.template" location="${i18n.destination}/antville.pot" />
<property name="i18n.namespace" value="" />
<tstamp />
<filter token="year" value="${year}" />
<filter token="version" value="${version}" />
<filter token="date" value="${TODAY}" />
</target>
<target name="export" depends="init">
<mkdir dir="${apps.dir}" />
<exec dir="${apps.dir}" executable="svn">
<arg line="export ${antville.src} antville" />
</exec>
<move todir="${antville.dir}/extra/postgre">
<fileset dir="${build.dir}/extra/antclick" excludes="db.properties" />
</move>
<delete includeemptydirs="true">
<fileset dir="${antville.dir}" includes="build.xml build/** docs/**" />
</delete>
</target>
<target name="ville" depends="antville" />
<target name="antville" depends="export">
<antcall target="make-tar">
<param name="filename" value="${package.name}" />
<param name="path" value="${antville.dir}" />
</antcall>
<antcall target="make-zip">
<param name="filename" value="${package.name}" />
<param name="path" value="${antville.dir}" />
</antcall>
</target>
<target name="click" depends="antclick" />
<target name="antclick" depends="export">
<exec dir="${work.dir}" executable="svn">
<arg line="export ${helma.src}/lib" />
</exec>
<exec dir="${work.dir}" executable="svn">
<arg line="export ${apps.src}/modules/trunk modules" />
</exec>
<exec dir="${work.dir}" executable="svn">
<arg line="export ${helma.src}/licenses" />
</exec>
<exec dir="${work.dir}" executable="svn">
<arg line="export ${helma.src}/license.txt" />
</exec>
<exec dir="${apps.dir}" executable="svn">
<arg line="export ${apps.src}/manage/trunk manage" />
</exec>
<exec dir="${extra.dir}" executable="cp">
<arg line="-p start.sh ${work.dir}" />
</exec>
<copy todir="${work.dir}">
<fileset dir="${extra.dir}" includes="start.bat apps.properties
server.properties launcher.jar" />
</copy>
<copy todir="${antville.dir}">
<fileset dir="${extra.dir}" includes="antclick/**" />
</copy>
<copy file="${extra.dir}/helma.jar" todir="${work.dir}/lib" />
<copy file="${extra.dir}/h2.jar" todir="${work.dir}/lib/ext" />
<copy todir="${build.dir}/work/db">
<fileset dir="${extra.dir}" includes="antville.h2.db" />
</copy>
<move file="${work.dir}/license.txt" tofile="${work.dir}/licenses/helma.txt" />
<move todir="${work.dir}/licenses">
<fileset dir="${antville.dir}/legal" includes="**" />
</move>
<delete includeemptydirs="true">
<fileset dir="${modules.dir}" includes="test/**" />
</delete>
<delete>
<fileset dir="${modules.dir}/helma" includes="*.jar Search.js Ssh.js Chart.js" />
</delete>
<delete includeemptydirs="true">
<fileset dir="${modules.dir}/jala" includes="build.properties docs/** lib/** tests/** util/**" />
</delete>
<delete includeemptydirs="true">
<fileset dir="${antville.dir}" includes="compat/** db/** docs/** extra/**" />
</delete>
<delete dir="${antville.dir}/legal" />
<antcall target="make-zip">
<param name="filename" value="antclick-${version}" />
<param name="path" value="${work.dir}" />
</antcall>
<antcall target="make-tar">
<param name="filename" value="antclick-${version}" />
<param name="path" value="${work.dir}" />
</antcall>
</target>
<target name="docs" depends="init">
<exec dir="${extra.dir}/jsdoc-toolkit" executable="${extra.dir}/jsdoc-toolkit/jsrun.sh">
<arg line='-D="title:${docs.title}" -q -r=2 -t=templates/jsdoc
-d=${docs.outfiles} ${docs.infiles}' />
</exec>
</target>
<target name="pot" depends="init">
<echo message="${helma.dir}" />
<java dir="${helma.dir}" classpath="${helma.dir}/launcher.jar" classname="helma.main.launcher.Commandline" fork="true">
<arg value="antville.xgettext" />
<arg value="${extra.dir}/MessageParser.js" />
<arg value="${i18n.scan}" />
<arg value="${i18n.template}" />
</java>
</target>
<target name="messages" depends="init">
<java dir="${helma.dir}" classpath="${helma.dir}/lib/rhino.jar" classname="org.mozilla.javascript.tools.shell.Main">
<arg value="${hopkit.dir}/scripts/PoParser.js" />
<arg value="${i18n.poDirectory}" />
<arg value="${i18n.destination}" />
<arg value="${i18n.namespace}" />
</java>
</target>
<target name="make-tar" depends="init">
<mkdir dir="${dist.dir}" />
<fixcrlf srcdir="${path}" eol="lf" eof="remove" includes="**/*.txt,
**/*.properties, **/*.hac, **/*.js, **/*.skin, **/.xml, **/.sh" />
<tar tarfile="${dist.dir}/${filename}.tar" basedir="${path}" excludes="**">
<tarfileset prefix="${filename}" dir="${path}" mode="755">
<include name="**/*.sh" />
</tarfileset>
<tarfileset prefix="${filename}" dir="${path}">
<include name="**" />
<exclude name="**/*.sh" />
</tarfileset>
</tar>
<bzip2 zipfile="${dist.dir}/${filename}.tbz" src="${dist.dir}/${filename}.tar" />
<delete file="${dist.dir}/${filename}.tar" />
</target>
<target name="make-zip" depends="init">
<mkdir dir="${dist.dir}" />
<fixcrlf srcdir="${path}" eol="crlf" includes="**/*.txt, **/*.properties,
**/*.hac, **/*.js, **/*.skin, **/*.xml, **/.bat" />
<zip zipfile="${dist.dir}/${filename}.zip">
<zipfileset dir="${path}" prefix="${filename}" includes="**" />
</zip>
</target>
<target name="clean" depends="init">
<delete dir="${work.dir}" />
<delete dir="${dist.dir}" />
</target>
</project>