<?xml version="1.0" encoding="UTF-8"?>
<project name="OFMTools" default="help" basedir=".">
<property name="app.name" value="OFMTools" />
<property name="app.version" value="1.9.8" />
<property name="build.home" value="${basedir}/build" />
<path id="classpath">
<fileset dir="lib" includes="*.jar" />
</path>
<typedef resource="org/java/plugin/tools/ant/jpf-tasks.properties">
<classpath refid="classpath" />
</typedef>
<target name="help">
<echo>
<![CDATA[
${app.name} build file:
antclean - cleans up the project build folder
antbuild - builds entire project
run - runs application
antcheck - checks plug-ins integrity
docs - generates plug-ins documentation
dist - creates binary and source distribution packages
anttest - runs some tests
]]>
</echo>
</target>
<target name="antclean" description="Cleans up the project build folder">
<tstamp>
<format property="dt-stamp" pattern="yyyy-MM-dd-HH-mm" />
<format property="d-stamp" pattern="yyyy-MM-dd" />
</tstamp>
<delete dir="${build.home}" quiet="true" />
</target>
<target name="-init">
<mkdir dir="${build.home}" />
</target>
<target name="-build-plugins">
<ant dir="plugins/ofm.tools.core" target="${target}" />
<ant dir="plugins/ofm.tools.spielertool" target="${target}" />
<ant dir="plugins/ofm.tools.sponsortool" target="${target}" />
<ant dir="plugins/ofm.tools.awprechner" target="${target}" />
<ant dir="plugins/ofm.tools.spieltagtool" target="${target}" />
<ant dir="plugins/ofm.tools.finanztool" target="${target}" />
<ant dir="plugins/ofm.tools.stadiontool" target="${target}" />
<ant dir="plugins/ofm.tools.transfertool" target="${target}" />
<ant dir="plugins/ofm.tools.logtool" target="${target}" />
<ant dir="plugins/ofm.tools.spieleranalyse" target="${target}" />
<ant dir="plugins/ofm.tools.pluginupdate" target="${target}" />
<ant dir="plugins/ofm.tools.tilgungsrechner" target="${target}" />
<ant dir="plugins/ofm.tools.renovierungstool" target="${target}" />
<ant dir="plugins/ofm.tools.rankingtool" target="${target}" />
<ant dir="plugins/ofm.tools.charting" target="${target}" />
</target>
<target name="antbuild" depends="-init" description="Builds entire project">
<antcall target="-build-plugins">
<param name="target" value="build" />
</antcall>
<copy todir="${build.home}/lib">
<fileset dir="lib" includes="*.jar" />
</copy>
<copy todir="${build.home}">
<fileset dir="." includes="*.*,README,COPYING,CHANGELOG" excludes=".*,todo*,build.xml,*.gradle,gradlew.bat,*.txt" />
</copy>
<chmod file="${build.home}/OFMTools.sh" perm="a+rx" />
</target>
<target name="run" depends="antbuild" description="Runs application">
<antcall target="-build-plugins">
<param name="target" value="build" />
</antcall>
<java jar="${build.home}/lib/jpf-boot.jar" dir="${build.home}" fork="true" />
</target>
<target name="version" depends="antbuild" description="automatically updade plug-in versions and version references">
<jpf-version basedir="${build.home}/plugins" includes="*/plugin.xml,*/plugin-fragment.xml" versionsfile="${basedir}/plugins/versions.properties" alterreferences="true" />
</target>
<target name="debug" depends="antbuild" description="Debug application">
<antcall target="-build-plugins">
<param name="target" value="build" />
</antcall>
<java jar="${build.home}/lib/jpf-boot.jar" dir="${build.home}" fork="true">
<arg value="-Xdebug" />
<arg value="-Xrunjdwp:transport=dt_socket,server=y,address=8888,suspend=n" />
</java>
</target>
<target name="antcheck" depends="antbuild" description="Checks plug-ins integrity">
<jpf-check basedir="${basedir}/plugins" includes="*/plugin.xml,*/plugin-fragment.xml" verbose="true" />
</target>
<target name="docs" depends="antbuild" description="Generates plug-ins documentation">
<antcall target="-build-plugins">
<param name="target" value="docs" />
</antcall>
<jpf-doc basedir="${build.home}/plugins" includes="*/plugin.xml,*/plugin-fragment.xml" destdir="${build.home}/docs" />
</target>
<target name="dist" depends="antbuild" description="Prepares distribution package">
<jpf-zip basedir="${build.home}/plugins" includes="*/plugin.xml,*/plugin-fragment.xml" destdir="${build.home}/plugins" />
<delete includeemptydirs="true">
<fileset dir="${build.home}/plugins">
<include name="**/*" />
<exclude name="*.zip" />
</fileset>
</delete>
<zip destfile="${build.home}/${app.name}-${app.version}.zip" duplicate="fail" update="false">
<fileset dir="${build.home}" includes="**/*" excludes="OFMTools.sh,*.iml,*.iws,*.ipr" />
<zipfileset dir="${build.home}" includes="OFMTools.sh" filemode="755" />
</zip>
<delete includeemptydirs="true">
<fileset dir="${build.home}">
<include name="**/*" />
<exclude name="${app.name}-${app.version}.zip" />
</fileset>
</delete>
</target>
<target name="anttest" depends="antbuild" description="Some tests">
<jpf-pack basedir="${build.home}/plugins" includes="*/plugin.xml,*/plugin-fragment.xml" destfile="${build.home}/all-plugins.jpa" />
<mkdir dir="${build.home}/all-plugins-extracted" />
<jpf-unpack srcfile="${build.home}/all-plugins.jpa" destdir="${build.home}/all-plugins-extracted" />
</target>
</project>