antville/build/build.xml
Tobi Schäfer 8d32022257 * Rebooted build environment for Antville and AntClick packages
* Updated helma.jar and launcher.jar
 * Added h2.jar as AntClick database (experimental)
 * Added build targets for extracting gettext call strings and building JavaScript message files
 * Added repository for AntClick containing adaptations necessary for H2 database
 * Renamed shell scripts for AntClick from antclick.* to start.*
 * Added default login for manage console in server.properties
 * Removed obsolete files
2009-11-01 10:49:31 +00:00

198 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=" * Generate the Antville and AntClick packages"/>
<echo message=" packages Generate the Antville packages"/>
<echo message=" antclick Generate the AntClick packages"/>
<echo message=" publish Copy packages to the download server"/>
<echo message=" pot Extract gettext call strings into POT file" />
<echo message=" messages Generate JavaScript message files" />
<!-- echo message=" docs Generate the API helmaDocs"/ -->
<echo message=" usage Show build instructions (default)"/>
<echo message="See comments inside the build.xml file for more details."/>
</target>
<target name="init">
<property name="name" value="antville"/>
<property name="year" value="1998-${year}"/>
<property name="version" value="1.2"/>
<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="home.dir" location="${build.dir}/.."/>
<property name="extra.dir" location="${build.dir}/extra"/>
<property name="work.dir" location="${build.dir}/work"/>
<property name="apps.dir" location="${work.dir}/apps"/>
<property name="antville.dir" location="${apps.dir}/antville"/>
<property name="dist.dir" location="${build.dir}/dist"/>
<property name="hopkit.dir" location="${helma.dir}/modules/jala/util/HopKit"/>
<property name="i18n.scan" location="code"/>
<property name="i18n.destination" location="${home.dir}/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>
</target>
<target name="packages" depends="export">
<delete dir="${antville.dir}/build"/>
<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="pot" depends="init">
<java dir="${helma.dir}" classpath="${helma.dir}/launcher.jar"
classname="helma.main.launcher.Commandline" fork="true">
<arg value="antville.xgettext"/>
<arg value="${hopkit.dir}/scripts/MessageParser.js"/>
<arg line="${i18n.scan}"/>
<arg value="${i18n.template}"/>
</java>
</target>
<target name="messages" depends="init">
<java 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>
<gzip zipfile="${dist.dir}/${filename}.tgz" 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="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"/>
<move file="${work.dir}/license.txt" todir="${work.dir}/licenses/helma.txt"/>
</target>
<target name="antclick-disabled" depends="export">
<copy todir="${build.work}/">
<fileset dir="${build.extra}"
includes="antclick.sh antclick.bat apps.properties
launcher.jar server.properties"/>
</copy>
<copy file="${build.extra}/db.properties"
todir="${build.work}/apps/${project}/code"
overwrite="true"/>
<cvs cvsRoot="${cvs.manage.root}"
command="export"
tag="${cvs.manage.tag}"
package="manage"
dest="${build.work}/apps"/>
<cvs cvsRoot="${cvs.hop.root}"
command="export"
tag="${cvs.hop.tag}"
package="helma/lib helma/licenses helma/license.txt"
dest="${build.work}"/>
<copy todir="${build.work}/lib">
<fileset dir="${build.work}/helma/lib" includes="*.jar"/>
</copy>
<copy file="${build.extra}/helma.jar" todir="${build.work}/lib"/>
<copy file="${build.extra}/mckoidb.jar" todir="${build.work}/lib/ext"/>
<copy todir="${build.work}/licenses">
<fileset dir="${build.work}/helma/licenses"/>
</copy>
<copy file="${build.work}/helma/license.txt"
tofile="${build.work}/licenses/helma.txt"/>
<move file="${build.work}/apps/${project}/license.txt"
tofile="${build.work}/licenses/antville.txt"/>
<delete dir="${build.work}/helma"/>
<antcall target="package-zip">
<param name="filename" value="${antclick.name}"/>
<param name="path" value="${build.work}"/>
</antcall>
<antcall target="package-tgz">
<param name="filename" value="${antclick.name}"/>
<param name="path" value="${build.work}"/>
</antcall>
<antcall target="cleanup"/>
</target>
<target name="publish" depends="init">
<echo message="Sorry, this target is currently not available"/>
</target>
<target name="clean" depends="init">
<delete dir="${work.dir}"/>
</target>
</project>