Commit 083e7b20 authored by Bill Lynch's avatar Bill Lynch Committed by bill

Implemented javadoc and test targets


git-svn-id: http://svn.igniterealtime.org/svn/repos/messenger/trunk@60 b35dd754-fafc-0310-a699-88a17e54d16e
parent 7ff99ad4
...@@ -22,16 +22,6 @@ ...@@ -22,16 +22,6 @@
Jive Messenger build script. Jive Messenger build script.
</description> </description>
<!-- ======================================================================================= -->
<!-- GLOBAL TASKDEFS -->
<!-- ======================================================================================= -->
<taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask">
<classpath>
<pathelement location="${basedir}/build/lib/xmltask.jar"/>
</classpath>
</taskdef>
<!-- ======================================================================================= --> <!-- ======================================================================================= -->
<!-- GLOBAL PROPERTIES --> <!-- GLOBAL PROPERTIES -->
<!-- ======================================================================================= --> <!-- ======================================================================================= -->
...@@ -41,6 +31,8 @@ ...@@ -41,6 +31,8 @@
<property name="src.dir" value="${basedir}/src" /> <property name="src.dir" value="${basedir}/src" />
<property name="src.java.dir" value="${src.dir}/java" /> <property name="src.java.dir" value="${src.dir}/java" />
<property name="src.i18n.dir" value="${src.dir}/i18n" /> <property name="src.i18n.dir" value="${src.dir}/i18n" />
<property name="src.test.dir" value="${src.dir}/test" />
<property name="src.test.java.dir" value="${src.test.dir}/java" />
<property name="web.dir" value="${src.dir}/web" /> <property name="web.dir" value="${src.dir}/web" />
<property name="lib.build.dir" value="${basedir}/build/lib" /> <property name="lib.build.dir" value="${basedir}/build/lib" />
<property name="lib.merge.dir" value="${lib.build.dir}/merge" /> <property name="lib.merge.dir" value="${lib.build.dir}/merge" />
...@@ -49,25 +41,36 @@ ...@@ -49,25 +41,36 @@
<property name="target.dir" value="${basedir}/target" /> <property name="target.dir" value="${basedir}/target" />
<property name="compile.dir" value="${basedir}/target/classes" /> <property name="compile.dir" value="${basedir}/target/classes" />
<property name="jar.name" value="messengerd.jar" /> <property name="jar.name" value="messengerd.jar" />
<property name="jar.dest.dir" value="${target.dir}/lib" /> <property name="jar.dest.dir" value="${target.dir}/app" />
<property name="javadoc.dir" value="${basedir}/target/javadoc" /> <property name="javadoc.src.dir" value="${src.dir}/javadoc" />
<property name="javadoc.dest.dir" value="${basedir}/target/javadoc" />
<property name="jspc.dest.dir" value="${target.dir}/jspc" /> <property name="jspc.dest.dir" value="${target.dir}/jspc" />
<property name="jspc.java.dest.dir" value="${target.dir}/jspc/java" /> <property name="jspc.java.dest.dir" value="${target.dir}/jspc/java" />
<property name="jspc.classes.dest.dir" value="${target.dir}/jspc/classes" /> <property name="jspc.classes.dest.dir" value="${target.dir}/jspc/classes" />
<property name="test.dest.dir" value="${target.dir}/test" />
<property name="test.classes.dest.dir" value="${test.dest.dir}/classes" />
<property name="test.results.dest.dir" value="${test.dest.dir}/results" />
<property name="webapp.dest.dir" value="${target.dir}/webapp" /> <property name="webapp.dest.dir" value="${target.dir}/webapp" />
<property name="release.dest.dir" value="${target.dir}/release" /> <property name="release.dest.dir" value="${target.dir}/release" />
<property name="version.major" value="2" />
<property name="version.minor" value="0" />
<property name="version.revision" value="0" />
<property name="version.extra" value="beta" />
<property name="version" value="${version.major}.${version.minor}.${version.revision}" />
<property name="version.filename" value="${version.major}_${version.minor}_${version.revision}" />
<property name="dist.prefix" value="jive_messenger" />
<!-- ======================================================================================= --> <!-- ======================================================================================= -->
<!-- PATHs / PATTERNSETs --> <!-- PATHs / PATTERNSETs -->
<!-- ======================================================================================= --> <!-- ======================================================================================= -->
<path id="javadoc.dependencies"> <path id="javadoc.dependencies">
<fileset dir="${lib.build.dir}" includes="*.jar" /> <fileset dir="${lib.build.dir}" includes="*.jar" excludes="junit.jar" />
<fileset dir="${lib.merge.dir}" includes="*.jar" />
</path> </path>
<path id="compile.dependencies"> <path id="compile.dependencies">
<path refid="javadoc.dependencies" /> <path refid="javadoc.dependencies" />
<fileset dir="${lib.merge.dir}" includes="*.jar" />
</path> </path>
<path id="jspc.dependencies"> <path id="jspc.dependencies">
...@@ -75,10 +78,19 @@ ...@@ -75,10 +78,19 @@
<fileset dir="${lib.web.dir}" includes="*.jar" /> <fileset dir="${lib.web.dir}" includes="*.jar" />
</path> </path>
<path id="test.dependencies">
<path refid="compile.dependencies" />
<fileset dir="${lib.build.dir}" includes="junit.jar" />
</path>
<patternset id="compile.sources"> <patternset id="compile.sources">
<include name="**/*.java" /> <include name="**/*.java" />
</patternset> </patternset>
<patternset id="test.sources">
<include name="**/*Test.java" />
</patternset>
<!-- ======================================================================================= --> <!-- ======================================================================================= -->
<!-- TARGETs --> <!-- TARGETs -->
<!-- ======================================================================================= --> <!-- ======================================================================================= -->
...@@ -116,17 +128,23 @@ ...@@ -116,17 +128,23 @@
</target> </target>
<!-- jar =================================================================================== --> <!-- jar =================================================================================== -->
<target name="jar" depends="compile" description="Produces a JAR of Messenger app code"> <target name="jar" depends="compile, jspc" description="Produces a JAR of Messenger app code">
<mkdir dir="${jar.dest.dir}" /> <mkdir dir="${jar.dest.dir}" />
<!-- Make main Messenger jar -->
<jar jarfile="${jar.dest.dir}/${jar.name}"> <jar jarfile="${jar.dest.dir}/${jar.name}">
<fileset dir="${compile.dir}" includes="**/*.class" /> <fileset dir="${compile.dir}" includes="**/*.class" />
<fileset dir="${jspc.classes.dest.dir}" includes="**/*.class" />
<fileset dir="${src.i18n.dir}" includes="*.properties" /> <fileset dir="${src.i18n.dir}" includes="*.properties" />
<zipgroupfileset dir="${lib.merge.dir}" includes="*.jar"/> <zipgroupfileset dir="${lib.merge.dir}" includes="*.jar"/>
<manifest> <manifest>
<attribute name="Main-Class" value="org.jivesoftware.SplashScreen"/> <attribute name="Main-Class" value="org.jivesoftware.messenger.starter.XMPPServerStarter" />
<attribute name="Built-By" value="Jive Software"/> <attribute name="Built-By" value="Jive Software (www.jivesoftware.org)"/>
</manifest> </manifest>
</jar> </jar>
<!-- Copy application dependent jars -->
<copy todir="${jar.dest.dir}/lib">
<fileset dir="${lib.dist.dir}" includes="*.jar" />
</copy>
</target> </target>
<!-- war =================================================================================== --> <!-- war =================================================================================== -->
...@@ -135,6 +153,24 @@ ...@@ -135,6 +153,24 @@
<!-- javadoc =============================================================================== --> <!-- javadoc =============================================================================== -->
<target name="javadoc" description="Produces Messenger Javadocs"> <target name="javadoc" description="Produces Messenger Javadocs">
<mkdir dir="${javadoc.dest.dir}" />
<!-- Run javadoc over all source code -->
<javadoc
sourcepath="${src.java.dir}"
packagenames="org.jivesoftware.*"
destdir="${javadoc.dest.dir}"
windowtitle="Jive Messenger ${version} ${version.extra} Javadoc"
overview="${src.java.dir}/overview.html"
failonerror="yes"
>
<doctitle><![CDATA[<font face="arial,helvetica,sans-serif">Jive Messenger ${version} ${version.extra} Javadoc</font>]]></doctitle>
<header><![CDATA[<b>Jive Messenger ${version} ${version.extra} Javadoc</b>]]></header>
<bottom><![CDATA[<i>Copyright &copy; 1999-2004 Jive Software.</i>]]></bottom>
<classpath>
<path refid="javadoc.dependencies" />
</classpath>
<link offline="true" href="http://java.sun.com/j2se/1.5.0/docs/api/" packagelistLoc="${javadoc.src.dir}/jdk15"/>
</javadoc>
</target> </target>
<!-- jspc ================================================================================== --> <!-- jspc ================================================================================== -->
...@@ -186,17 +222,61 @@ ...@@ -186,17 +222,61 @@
</target> </target>
<!-- jspcjar =============================================================================== --> <!-- test ================================================================================== -->
<target name="jspcjar" description="Creates a JAR of generated JSP files"> <target name="test" depends="jar" description="Compiles and runs test cases">
<!-- Compile all test code -->
<mkdir dir="${test.classes.dest.dir}" />
<javac
destdir="${test.classes.dest.dir}"
includeAntRuntime="no"
debug="on"
source="1.5"
>
<src path="${src.test.java.dir}" />
<patternset refid="test.sources" />
<classpath>
<path refid="test.dependencies" />
<pathelement path="${compile.dir}" />
</classpath>
</javac>
<!-- Copy test resources -->
<!-- <copy todir="${test.dest.dir}">-->
<!-- <fileset dir="${src.test.dir}">-->
<!-- <include name="resources/**/*.*" />-->
<!-- </fileset>-->
<!-- </copy>-->
<!-- Run jUnit -->
<mkdir dir="${test.results.dest.dir}" />
<junit printsummary="yes" haltonfailure="no" fork="yes" dir="${src.test.dir}">
<!-- We must add our own classes to the classpath for testing -->
<classpath>
<path refid="test.dependencies" />
<pathelement path="${compile.dir}" />
<pathelement path="${test.classes.dest.dir}" />
</classpath>
<formatter type="plain" />
<batchtest todir="${test.results.dest.dir}">
<fileset dir="${src.test.java.dir}">
<patternset refid="test.sources" />
</fileset>
</batchtest>
</junit>
</target> </target>
<!-- release =============================================================================== --> <!-- release =============================================================================== -->
<target name="release" description="Creates a distribution"> <target name="release" depends="jar,javadoc" description="Creates a distribution">
</target> <mkdir dir="${release.dest.dir}" />
<!-- Create a new prop for the final release dir then create the dir -->
<property name="release.out.dir" value="${release.dest.dir}/${dist.prefix}_${version.filename}" />
<mkdir dir="${release.out.dir}" />
<!-- test ================================================================================== -->
<target name="test" description="Runs test cases">
</target> </target>
<!-- clean ================================================================================= --> <!-- clean ================================================================================= -->
...@@ -209,4 +289,9 @@ ...@@ -209,4 +289,9 @@
<delete dir="${jspc.dest.dir}" /> <delete dir="${jspc.dest.dir}" />
</target> </target>
<!-- clean-test ============================================================================ -->
<target name="clean-test" description="Cleans all compiled test classes">
<delete dir="${test.classes.dest.dir}" />
</target>
</project> </project>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment