x
<project name="tigase-defs">
<macrodef name="compile">
<attribute name="srcdir"/>
<attribute name="excldir" default=""/>
<attribute name="deprecation" default="off"/>
<attribute name="xlint" default="-Xlint:-all"/>
<sequential>
<mkdir dir="${build}"/>
<javac
srcdir="@{srcdir}"
excludes="@{excldir}"
destdir="${build}"
debug="on"
encoding="UTF-8"
deprecation="@{deprecation}">
<compilerarg line="@{xlint}"/>
<classpath>
<fileset dir="${libs}">
<include name="**/*.jar"/>
</fileset>
</classpath>
</javac>
</sequential>
</macrodef>
<macrodef name="jarfile">
<attribute name="excludes" default=""/>
<attribute name="filename"/>
<attribute name="manifest" default="MANIFEST.MF"/>
<sequential>
<copy
file="manifest.temp"
tofile="@{manifest}"/>
<replaceregexp
file="@{manifest}"
match="^(Specification-Version: ).*$"
replace="\1${ver}"
byline="true"/>
<replaceregexp
file="@{manifest}"
match="^(Implementation-Version: ).*$"
replace="\1${version}"
byline="true"/>
<replaceregexp
file="@{manifest}"
match="^(Package-Version: ).*$"
replace="\1build${build-no}"
byline="true"/>
<replaceregexp
file="@{manifest}"
match="^(Tigase-Version: ).*$"
replace="\1${version}"
byline="true"/>
<mkdir dir="${jars}"/>
<jar jarfile="${jars}/@{filename}.jar"
manifest="@{manifest}"
basedir="${build}"
excludes="@{excludes}"/>
</sequential>
</macrodef>
<macrodef name="docs">
<attribute name="packages" default=""/>
<attribute name="excludepackages" default=""/>
<attribute name="destdir" default="docs"/>
<sequential>
<mkdir dir="@{destdir}/api"/>
<javadoc
sourcepath="${src}"
packagenames="@{packages}"
excludepackagenames="@{excludepackages}"
destdir="@{destdir}/api"
windowtitle="${javadoc-windowtitle}"
overview="package.html"
failonerror="yes"
use="true"
author="true"
version="true"
verbose="false"
protected="true"
bottom="${javadoc-copyright}">
<link offline="true" href="http://java.sun.com/j2se/1.5.0/docs/api/"
packagelistLoc="package-list"/>
<classpath>
<fileset dir="${libs}">
<include name="**/*.jar"/>
</fileset>
</classpath>
</javadoc>
</sequential>
</macrodef>
<macrodef name="distbin">
<attribute name="packagename"/>
<attribute name="docsdir" default="docs"/>
<sequential>
<delete file="@{packagename}-${version}.zip"/>
<delete file="@{packagename}-${version}.tar.gz"/>
<delete dir="dist"/>
<mkdir dir="${dist}/@{packagename}-${version}/${jars}"/>
<mkdir dir="${dist}/@{packagename}-${version}/scripts"/>
<mkdir dir="${dist}/@{packagename}-${version}/scripts/gentoo"/>
<mkdir dir="${dist}/@{packagename}-${version}/scripts/mandriva"/>
<mkdir dir="${dist}/@{packagename}-${version}/scripts/admin"/>
<copy
file="${jars}/@{packagename}.jar"
tofile="${dist}/@{packagename}-${version}/${jars}/@{packagename}.jar"/>
<exec executable="sed" output="${dist}/@{packagename}-${version}/README">
<arg value="-e"/>
<arg value="s/<[^>]*>//g"/>
<arg value="-e"/>
<arg value="s/<[^>]*>//g"/>
<arg value="-e"/>
<arg value="s/&[^; ]*;//g"/>
<arg value="-e"/>
<arg value="s/${APP_VER}/${version}/g"/>
<arg value="package.html"/>
</exec>
<copy
file="package.html"
tofile="${dist}/@{packagename}-${version}/package.html"/>
<copy
file="License.html"
tofile="${dist}/@{packagename}-${version}/License.html"/>
<copy
file="ChangeLog"
tofile="${dist}/@{packagename}-${version}/ChangeLog"/>
<mkdir dir="${dist}/@{packagename}-${version}/libs"/>
<copy todir="${dist}/@{packagename}-${version}/libs">
<filelist dir="libs">
<file name="tigase-utils.jar"/>
<file name="tigase-xmltools.jar"/>
<file name="jdbc-mysql.jar"/>
<file name="groovy-all-1.5.7.jar"/>
<file name="groovy-engine.jar"/>
<file name="jdbc-postgresql.jar"/>
<file name="derby.jar"/>
<file name="derbytools.jar"/>
<file name="jtds-1.2.2.jar"/>
<file name="jdmkrt.jar"/>
<file name="tigase-extras.jar"/>
<file name="tigase-muc.jar"/>
<file name="tigase-pubsub.jar"/>
<file name="bcprov-jdk16-136.jar"/>
</filelist>
</copy>
<mkdir dir="${dist}/@{packagename}-${version}/certs"/>
<copy todir="${dist}/@{packagename}-${version}/certs">
<filelist dir="certs">
<file name="dummy.cer"/>
<file name="rsa-keystore"/>
<file name="truststore"/>
</filelist>
</copy>
<mkdir dir="${dist}/@{packagename}-${version}/etc"/>
<copy todir="${dist}/@{packagename}-${version}/etc">
<filelist dir="etc">
<file name="tigase.conf"/>
<file name="init.properties"/>
<file name="jmx.access"/>
<file name="jmx.password"/>
<file name="cross-domain-policy.xml"/>
<file name="bosh-extra-headers.txt"/>
</filelist>
</copy>
<mkdir dir="${dist}/@{packagename}-${version}/database"/>
<copy todir="${dist}/@{packagename}-${version}/database">
<fileset dir="database">
<include name="*.sql"/>
<include name="*.schema"/>
</fileset>
</copy>
<mkdir dir="${dist}/@{packagename}-${version}/logs"/>
<copy todir="${dist}/@{packagename}-${version}/scripts/admin">
<fileset dir="src/main/groovy/tigase/admin">
<include name="*.groovy"/>
</fileset>
</copy>
<copy
file="scripts/tigase.sh"
tofile="${dist}/@{packagename}-${version}/scripts/tigase.sh"/>
<copy
file="scripts/config.sh"
tofile="${dist}/@{packagename}-${version}/scripts/config.sh"/>
<copy
file="scripts/derby-db-create.sh"
tofile="${dist}/@{packagename}-${version}/scripts/derby-db-create.sh"/>
<copy
file="scripts/repo.sh"
tofile="${dist}/@{packagename}-${version}/scripts/repo.sh"/>
<copy todir="${dist}/@{packagename}-${version}/scripts/gentoo">
<fileset dir="scripts/gentoo"/>
</copy>
<copy todir="${dist}/@{packagename}-${version}/scripts/mandriva">
<fileset dir="scripts/mandriva"/>
</copy>
<copy todir="${dist}/@{packagename}-${version}/scripts/debian">
<fileset dir="scripts/debian"/>
</copy>
<move todir="${dist}/@{packagename}-${version}/docs">
<fileset dir="@{docsdir}"/>
</move>
<zip zipfile="@{packagename}-${version}.zip" basedir="${dist}"/>
<tar tarfile="@{packagename}-${version}.tar" basedir="${dist}"/>
<gzip
zipfile="@{packagename}-${version}.tar.gz"
src="@{packagename}-${version}.tar"/>
<delete file="@{packagename}-${version}.tar"/>
</sequential>
</macrodef>
<macrodef name="distsrc">
<attribute name="packagename"/>
<attribute name="cvsroot"/>
<attribute name="cvspackage"/>
<sequential>
<delete dir="@{packagename}-${version}.src"/>
<delete file="@{packagename}-${version}.src.tar.gz"/>
<delete file="@{packagename}-${version}.src.zip"/>
<exec executable="svn">
<arg line="export --non-interactive @{cvsroot} @{packagename}"/>
</exec>
<!-- <cvs cvsRoot="@{cvsroot}" -->
<!-- package="@{cvspackage}" -->
<!-- command="export" -->
<!-- date="today"/> -->
<mkdir dir="@{packagename}-${version}.src/@{packagename}-${version}.src"/>
<move todir="@{packagename}-${version}.src/@{packagename}-${version}.src">
<fileset dir="@{packagename}"/>
</move>
<zip
zipfile="@{packagename}-${version}.src.zip"
basedir="@{packagename}-${version}.src"/>
<tar
tarfile="@{packagename}-${version}.src.tar"
basedir="@{packagename}-${version}.src"/>
<gzip
zipfile="@{packagename}-${version}.src.tar.gz"
src="@{packagename}-${version}.src.tar"/>
<delete file="@{packagename}-${version}.src.tar"/>
<delete dir="@{packagename}-${version}.src"/>
</sequential>
</macrodef>
<macrodef name="distdeb">
<attribute name="version"/>
<attribute name="build" />
<attribute name="cvsroot"/>
<sequential>
<property name="deb.work" value="debian/build"/>
<property name="deb.src" value="${deb.work}/tigase-@{version}"/>
<property name="deb.conf" value="${deb.src}/debian"/>
<property name="deb.conf.src" value="scripts/debian"/>
<property name="deb.version" value="@{version}-b@{build}"/>
<tstamp>
<format property="deb.builddate" pattern="EEE, dd MMM yyyy HH:mm:ss Z" locale="en"/>
</tstamp>
<delete dir="${deb.work}"/>
<delete dir="${dist}">
<include name="*.deb" />
<include name="*.changes" />
<include name="*.dsc" />
<include name="*.gz" />
</delete>
<exec executable="svn">
<arg line="export --non-interactive @{cvsroot} ${deb.src}"/>
</exec>
<mkdir dir="${deb.src}/libs"/>
<copy todir="${deb.src}/libs">
<fileset dir="${libs}"/>
</copy>
<!-- FIXME: Remove after adding etc/init-debian.properties to SVN -->
<copy todir="${deb.src}/etc">
<fileset dir="etc">
<include name="init-debian.properties" />
</fileset>
</copy>
<!-- END FIXME -->
<mkdir dir="${deb.conf}" />
<copy todir="${deb.conf}">
<fileset dir="${deb.conf.src}" />
<filterset>
<filter token="builddate" value="${deb.builddate}"/>
<filter token="version" value="${deb.version}"/>
</filterset>
</copy>
<!-- Make the copied 'rules' executable -->
<chmod file="${deb.conf}/rules" perm="755" />
<chmod file="${deb.src}/etc/init.properties" perm="700" />
<!-- Create the package -->
<exec executable="dpkg-buildpackage" dir="${deb.src}" failonerror="true">
<!-- Allow building without root-privs -->
<arg line="-rfakeroot"/>
<!-- Don't sign source -->
<arg line="-us"/>
<!-- Don't sign changelog -->
<arg line="-uc"/>
</exec>
<!-- Copy the resulting files into target -->
<copy todir="${dist}">
<fileset dir="${deb.work}" followsymlinks="false">
<include name="*.deb" />
<include name="*.changes" />
<include name="*.dsc" />
<include name="*.gz" />
</fileset>
</copy>
<delete dir="debian"/>
</sequential>
</macrodef>
</project>