<project name="QuickServer.Project" default="jar" basedir="."> | |
<property name="app.name" value="QuickServer" /> | |
<property name="main.build.dir" value="build/mainclasses" /> | |
<property name="client.build.dir" value="build/clientclasses" /> | |
<property name="qsadmingui.build.dir" value="build/qsadminguiclasses" /> | |
<property name="test.build.dir" value="build/testcases" /> | |
<property name="dist.dir" value="dist" /> | |
<property name="src.dir" value="src" /> | |
<property name="app.version" value="2.0.0" /> | |
<property name="app.version.sub" value="" /> | |
<property name="javac.deprecation" value="off" /> | |
<path id="project.classpath"> | |
<fileset dir="./dist/"> | |
<include name="*.jar"/> | |
<exclude name="QuickServer.jar"/> | |
<exclude name="QuickServerClient.jar"/> | |
<exclude name="QSAdminGUI.jar"/> | |
</fileset> | |
</path> | |
<target name="help"> | |
<echo> | |
Build for ${app.name} ${app.version} ${app.version.sub} | |
Available targets: | |
clean Cleans all dist and build dir. | |
compile_main Compiles the main source | |
compile_qsadmingui Compiles the QsAdminGUI source | |
compile Combines both compile_main and compile_qsadmingui | |
main_jar Creates main jar file. | |
qsadmingui_jar Creates main jar file. | |
jar Combines both main_jar and qsadmingui_jar | |
compileTests Compiles the test cases. | |
runTests Runs all the test cases. | |
docs Creates Java API docs | |
run_about Runs with -about flag | |
run_qsadmin Runs QSAdminGUI | |
</echo> | |
</target> | |
<target name="clean"> | |
<delete dir="${main.build.dir}" /> | |
<delete dir="${qsadmingui.build.dir}" /> | |
<delete dir="${test.build.dir}" /> | |
<delete file="${dist.dir}/${app.name}.jar" /> | |
<delete file="${dist.dir}/QSAdminGUI.jar" /> | |
<delete dir="docs" /> | |
</target> | |
<target name="compile" depends="compile_main, compile_qsadmingui"> | |
<echo>Done</echo> | |
</target> | |
<target name="compile_main"> | |
<mkdir dir="${main.build.dir}"/> | |
<javac srcdir="${src.dir}" destdir="${main.build.dir}" | |
debug="on" optimize="on" listfiles="off" | |
deprecation="${javac.deprecation}" includeantruntime="false" target="1.5"> | |
<include name="main/**"/> | |
<exclude name="main/org/quickserver/net/client/**"/> | |
<exclude name="main/org/quickserver/net/qsadmin/gui/**"/> | |
<exclude name="main/org/quickserver/util/xmlreader/QSAdminPluginConfig.java"/> | |
<exclude name="main/org/quickserver/util/xmlreader/PluginConfigReader.java"/> | |
<classpath refid="project.classpath"/> | |
</javac> | |
</target> | |
<target name="compile_client"> | |
<mkdir dir="${client.build.dir}"/> | |
<javac srcdir="${src.dir}" destdir="${client.build.dir}" | |
debug="on" optimize="on" listfiles="off" | |
deprecation="${javac.deprecation}" includeantruntime="false" target="1.5"> | |
<include name="main/org/quickserver/net/client/**"/> | |
<classpath refid="project.classpath"/> | |
</javac> | |
</target> | |
<target name="compile_qsadmingui"> | |
<mkdir dir="${qsadmingui.build.dir}"/> | |
<javac destdir="${qsadmingui.build.dir}" debug="on" optimize="on" | |
listfiles="off" srcdir="${src.dir}" | |
deprecation="${javac.deprecation}" includeantruntime="false" target="1.5"> | |
<include name="main/org/quickserver/net/qsadmin/gui/**"/> | |
<include name="main/org/quickserver/swing/*"/> | |
<include name="main/org/quickserver/util/*"/> | |
<include name="main/org/quickserver/util/xmlreader/QSAdminPluginConfig.java"/> | |
<include name="main/org/quickserver/util/xmlreader/PluginConfigReader.java"/> | |
<include name="main/org/quickserver/util/io/*FileList.java"/> | |
<include name="main/org/quickserver/util/io/PasswordField.java"/> | |
<include name="main/org/quickserver/util/io/MaskingThread.java"/> | |
<classpath refid="project.classpath"/> | |
</javac> | |
</target> | |
<target name="jar" depends="compile, compile_client, main_jar, client_jar, qsadmingui_jar"> | |
<echo>Done</echo> | |
</target> | |
<target name="main_jar" depends="compile_main"> | |
<mkdir dir="${main.build.dir}/icons"/> | |
<copy todir="${main.build.dir}/icons" overwrite="yes"> | |
<fileset dir="${src.dir}/main/icons/"> | |
<include name="*.gif"/> | |
<include name="*.png"/> | |
</fileset> | |
</copy> | |
<mkdir dir="${dist.dir}"/> | |
<copy file="README.md" todir="${main.build.dir}" overwrite="yes" /> | |
<copy file="etc/quickserver_config.xsd" | |
todir="${dist.dir}" overwrite="yes" /> | |
<copy file="etc/quickserver_config.dtd" | |
todir="${dist.dir}" overwrite="yes" /> | |
<jar jarfile="${dist.dir}/${app.name}.jar" | |
basedir="${main.build.dir}" includes="**" manifest="${src.dir}/QuickServer.MF"/> | |
</target> | |
<target name="client_jar" depends="compile_client"> | |
<copy file="README.md" todir="${client.build.dir}" overwrite="yes" /> | |
<jar jarfile="${dist.dir}/${app.name}Client.jar" | |
basedir="${client.build.dir}" includes="**" /> | |
</target> | |
<target name="qsadmingui_jar" depends="compile_qsadmingui"> | |
<copy todir="${qsadmingui.build.dir}/icons" overwrite="yes"> | |
<fileset dir="${src.dir}/main/icons/"> | |
<include name="*.gif"/> | |
<include name="*.png"/> | |
</fileset> | |
</copy> | |
<mkdir dir="${dist.dir}"/> | |
<copy file="${src.dir}/main/org/quickserver/net/qsadmin/gui/conf/MainCommandPanel.xml" | |
todir="${qsadmingui.build.dir}/org/quickserver/net/qsadmin/gui/conf" overwrite="yes" /> | |
<copy file="${src.dir}/main/org/quickserver/net/qsadmin/gui/conf/PropertieSet.xml" | |
todir="${qsadmingui.build.dir}/org/quickserver/net/qsadmin/gui/conf" overwrite="yes" /> | |
<jar jarfile="${dist.dir}/QSAdminGUI.jar" | |
basedir="${qsadmingui.build.dir}" includes="**" manifest="${src.dir}/QSAdminGUI.MF"/> | |
</target> | |
<target name="done"> | |
<tstamp> | |
<format property="TODAY_UK" pattern="d-MMMM-yyyy hh:mm:ss" locale="en"/> | |
</tstamp> | |
<echo>Time ${TODAY_UK}</echo> | |
</target> | |
<target name="docs" depends="compile"> | |
<!-- | |
<exec dir="." executable="javadoc"> | |
<arg line="@options @packages -source 1.6 -classpath "/> | |
</exec> | |
--> | |
<delete dir = "docs" failonerror = "false"/> | |
<mkdir dir="docs"/> | |
<javadoc | |
use="true" | |
splitindex="true" | |
windowtitle="QuickServer v${app.version} API Specification" | |
overview="src/main/overview.html" | |
destdir="docs" | |
author="true" | |
version="true" | |
> | |
<packageset dir="src/main" defaultexcludes="yes"> | |
<include name="org/quickserver/net/**" /> | |
<include name="org/quickserver/net/server/*" /> | |
<exclude name="org/quickserver/net/server/gui/**" /> | |
<include name="org/quickserver/net/server/impl/**" /> | |
<include name="org/quickserver/net/client/**" /> | |
<include name="org/quickserver/net/qsadmin/gui/**" /> | |
<include name="org/quickserver/sql/**" /> | |
<include name="org/quickserver/util/**" /> | |
<include name="org/quickserver/security/**" /> | |
<include name="org/quickserver/swing/**" /> | |
</packageset> | |
<doctitle><![CDATA[<b>QuickServer</b><br><font size="-1">v${app.version}</font>]]></doctitle> | |
<bottom><![CDATA[<i>Copyright © 2003-2014 QuickServer.org</i>]]></bottom> | |
<group title="Core Packages" packages="org.quickserver.net:org.quickserver.net.server"/> | |
<group title="Client Packages" packages="org.quickserver.net.client:org.quickserver.net.client.loaddistribution:org.quickserver.net.client.loaddistribution.impl:org.quickserver.net.client.monitoring:org.quickserver.net.client.monitoring.impl:org.quickserver.net.client.pool*"/> | |
<group title="Util Packages" packages="org.quickserver.util:org.quickserver.util.logging:org.quickserver.swing"/> | |
<group title="Thread Pool for App" packages="org.quickserver.util.pool.thread.app"/> | |
<group title="Support Packages" packages="org.quickserver.net.server.impl:org.quickserver.security:org.quickserver.net.qsadmin:org.quickserver.util.pool:org.quickserver.util.pool.thread:org.quickserver.sql:org.quickserver.util.io:org.quickserver.net.qsadmin.gui:org.quickserver.util.xmlreader"/> | |
<classpath> | |
<fileset dir="./dist/"> | |
<include name="*.jar"/> | |
</fileset> | |
</classpath> | |
</javadoc> | |
<copy file="src/main/XMLConfiguration.xml" | |
todir="docs" overwrite="yes" /> | |
<copy file="src/main/quickserver_logo.gif" | |
todir="docs" overwrite="yes" /> | |
</target> | |
<target name="run_about" depends="main_jar"> | |
<java fork="yes" classname="org.quickserver.net.server.QuickServer" | |
taskname="QuickServer" failonerror="true"> | |
<arg value="-about"/> | |
<classpath> | |
<pathelement location="${dist.dir}/${app.name}.jar" /> | |
<pathelement path="${java.class.path}" /> | |
</classpath> | |
</java> | |
</target> | |
<target name="run_qsadmin" depends="qsadmingui_jar"> | |
<java fork="yes" classname="org.quickserver.net.qsadmin.gui.QSAdmin" | |
taskname="QuickServer" failonerror="true"> | |
<arg value="./plugin"/> | |
<classpath> | |
<pathelement location="${dist.dir}/QSAdminGUI.jar" /> | |
<pathelement path="${java.class.path}" /> | |
</classpath> | |
</java> | |
</target> | |
<!-- junit task --> | |
<target name="junit"> | |
<available property="junit.present" classname="junit.framework.TestCase" /> | |
</target> | |
<target name="compileTests" depends="jar, junit"> | |
<mkdir dir="${test.build.dir}"/> | |
<javac srcdir="${src.dir}/test" destdir="${test.build.dir}"> | |
<classpath> | |
<pathelement location="${dist.dir}/${app.name}.jar" /> | |
<pathelement path="${dist.dir}/commons-logging.jar" /> | |
</classpath> | |
<include name="**/*.java"/> | |
</javac> | |
</target> | |
<target name="runTests" depends="compileTests" if="junit.present"> | |
<java fork="yes" classname="junit.textui.TestRunner" | |
taskname="junit" failonerror="true"> | |
<arg value="test.org.quickserver.AllJUnitTests"/> | |
<classpath> | |
<pathelement location="${dist.dir}/${app.name}.jar" /> | |
<pathelement location="${test.build.dir}" /> | |
<pathelement path="" /> | |
<pathelement path="${java.class.path}" /> | |
</classpath> | |
</java> | |
</target> | |
<!-- junit task --> | |
</project> |