From: <bo...@us...> - 2007-04-18 15:27:49
|
Revision: 193 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=193&view=rev Author: bodewig Date: 2007-04-18 08:27:50 -0700 (Wed, 18 Apr 2007) Log Message: ----------- Preparing build system and site for release Modified Paths: -------------- trunk/xmlunit/build.xml trunk/xmlunit/src/site/index.html Added Paths: ----------- trunk/xmlunit/docbook.xml Modified: trunk/xmlunit/build.xml =================================================================== --- trunk/xmlunit/build.xml 2007-04-18 15:27:27 UTC (rev 192) +++ trunk/xmlunit/build.xml 2007-04-18 15:27:50 UTC (rev 193) @@ -1,16 +1,37 @@ -<project name="xmlunit" default="compile" basedir="."> - <!-- The properties junit.lib, xmlxsl.lib, and test.report.dir should be defined in your build.properties file --> - <target name="props"> - <property name="xmlunit.version" value="1.1alpha"/> - <property name="src.dir" value="src"/> - <property name="test.dir" value="tests"/> - <property name="lib.dir" value="lib"/> - <property name="out.dir" value="classes"/> - <property name="dist.dir" value="dist"/> - <property name="docs.dir" value="doc"/> - <property name="build.user.guide" value="userguide"/> - <property file="build.properties"/> +<project name="xmlunit" default="test" basedir="."> + <!-- allow properties to be overridden in a properties file --> + <property file="build.properties"/> + + <!-- Version --> + <property name="xmlunit.version" value="1.1alpha"/> + + <!-- some locations --> + <property name="src.dir" value="src"/> + <property name="test.dir" value="tests"/> + <property name="build.dir" location="build"/> + <property name="lib.dir" value="${build.dir}/lib"/> + <property name="out.dir" value="${build.dir}/classes"/> + <property name="test.out.dir" value="${build.dir}/test-classes"/> + <property name="userguide.out.dir" value="${build.dir}/ug-classes"/> + <property name="test.report.dir" value="${build.dir}/test-report"/> + <property name="dist.dir" value="${build.dir}/dist"/> + <property name="docs.dir" value="${build.dir}/doc"/> + <property name="userguide.docs.dir" value="${docs.dir}/userguide"/> + + <!-- javac properties --> + <property name="javac.source" value="1.3"/> + <property name="javac.target" value="1.3"/> + <property name="javac.debug" value="true"/> + + <!-- some library paths --> + <!-- where is JAXP? property name="${xmlxsl.lib}" location="."/ --> + <!-- where is JUnit? property name="${junit.lib}" location="."/ --> + + <!-- Docbook related properties, macros and targets --> + <import file="docbook.xml"/> + + <target name="-props"> <available property="jaxp13+" classname="javax.xml.xpath.XPath"/> <condition property="jaxp13+.impl"> <and> @@ -21,31 +42,34 @@ <available property="regexp.present" classname="java.util.regex.Matcher"/> </target> - <target name="check-props" unless="test.report.dir"> - <fail>Please provide the -values for junit.lib, xmlxsl.lib, and test.report.dir -in build.properties</fail> - </target> - - <target name="init" depends="props,check-props"> + <target name="-init" depends="-props"> <mkdir dir="${lib.dir}"/> <mkdir dir="${out.dir}"/> + <mkdir dir="${test.out.dir}"/> <mkdir dir="${test.report.dir}"/> <mkdir dir="${dist.dir}"/> + <mkdir dir="${docs.dir}"/> + <mkdir dir="${userguide.docs.dir}"/> </target> - <target name="clean" depends="init"> + <target name="clean" + description="removes created directories"> <delete includeEmptyDirs="true" quiet="true"> - <fileset dir="${out.dir}" includes="**/*.class"/> - <fileset dir="${test.report.dir}" includes="**/TEST*.*"/> + <fileset dir="${lib.dir}"/> + <fileset dir="${out.dir}"/> + <fileset dir="${test.out.dir}"/> + <fileset dir="${test.report.dir}"/> <fileset dir="${dist.dir}"/> - <fileset dir="${build.user.guide}"/> + <fileset dir="${docs.dir}"/> + <fileset dir="${userguide.docs.dir}"/> + <fileset dir="${build.dir}"/> </delete> </target> - <target name="compile" depends="init"> - <mkdir dir="${out.dir}"/> - <javac srcdir="${src.dir}/java:${test.dir}/java" destdir="${out.dir}" debug="on" target="1.2" source="1.3"> + <target name="compile" depends="-init" + description="compiles sources and tests"> + <javac srcdir="${src.dir}/java" destdir="${out.dir}" + debug="${javac.debug}" target="${javac.target}" source="${javac.source}"> <classpath> <pathelement location="${xmlxsl.lib}"/> <pathelement location="${junit.lib}"/> @@ -54,11 +78,23 @@ <exclude name="**/jaxp13/**" unless="jaxp13+"/> <exclude name="**/*XPathRegexAssert.java" unless="regexp.present"/> </javac> + <javac srcdir="${test.dir}/java" destdir="${test.out.dir}" + debug="${javac.debug}" target="${javac.target}" source="${javac.source}"> + <classpath> + <pathelement location="${out.dir}"/> + <pathelement location="${xmlxsl.lib}"/> + <pathelement location="${junit.lib}"/> + <pathelement path="${java.class.path}"/> + </classpath> + <exclude name="**/jaxp13/**" unless="jaxp13+"/> + <exclude name="**/*XPathRegexAssert.java" unless="regexp.present"/> + </javac> </target> - <target name="test" depends="compile"> - <mkdir dir="${test.report.dir}"/> - <junit printsummary="yes" haltonfailure="no" fork="yes" forkMode="perBatch"> + <target name="test" depends="compile" + description="runs the tests"> + <junit printsummary="yes" haltonfailure="no" fork="yes" + forkMode="perBatch" failureproperty="tests.failed"> <sysproperty key="basedir" value="${basedir}"/> <sysproperty key="user.dir" value="${basedir}"/> <!-- @@ -71,6 +107,7 @@ --> <classpath> <pathelement location="${out.dir}"/> + <pathelement location="${test.out.dir}"/> <pathelement location="${xmlxsl.lib}"/> <pathelement location="${junit.lib}"/> <pathelement path="${java.class.path}"/> @@ -90,25 +127,23 @@ </fileset> <report format="frames" todir="${test.report.dir}/html"/> </junitreport> - </target> - <target name="setDistVersion" depends="init"> - <replace dir="${src.dir}" token="@@version@@" value="${xmlunit.version}" - includes="**/*.java"/> - <tstamp> - <format property="ivy.publication.datetime" pattern="yyyyMMddHHmmss"/> - </tstamp> + <fail if="tests.failed">Some tests failed</fail> </target> - <target name="docs" depends="init"> - <mkdir dir="${docs.dir}"/> - <delete includeEmptyDirs="true" dir="${docs.dir}/org"/> - <javadoc destdir="${docs.dir}" + <target name="docs" + depends="create-users-guide,javadocs,-site" + description="creates the documentation bundle"/> + + <target name="javadocs" depends="-init" + description="creates the API documentation"> + <delete includeEmptyDirs="true" dir="${docs.dir}/api"/> + <javadoc destdir="${docs.dir}/api" overview="${src.dir}/java/overview.html" windowtitle="XMLUnit Documentation" footer="<p><a href="http://xmlunit.sourceforge.net/">XMLUnit</a> is hosted by sourceforge.net</p>"> <group title="XMLUnit v${xmlunit.version}" - packages="org.custommonkey.xmlunit.*"/> + packages="org.custommonkey.xmlunit*"/> <fileset dir="${src.dir}/java"> <include name="org/custommonkey/**/*.java"/> </fileset> @@ -121,14 +156,23 @@ </javadoc> </target> - <target name="jar" depends="clean,setDistVersion,compile"> + <target name="-site" depends="-init"> + <copy todir="${docs.dir}"> + <fileset dir="${src.dir}/site"> + <include name="*.html"/> + <include name="*.png"/> + </fileset> + </copy> + </target> + + <target name="jar" depends="clean,compile" + description="creates jar, Maven2 POM and Ivy file"> <jar jarfile="${lib.dir}/xmlunit-${xmlunit.version}.jar" basedir="${out.dir}" - excludes="**/test_*.class" /> <copy todir="${lib.dir}"> - <fileset dir="src/etc"> + <fileset dir="${src.dir}/etc"> <include name="xmlunit.pom"/> <include name="xmlunit-ivy.xml"/> </fileset> @@ -146,50 +190,59 @@ </copy> </target> - <target name="dist" depends="jar,test,docs"> - <mkdir dir="${dist.dir}"/> - <zip zipfile="${dist.dir}/xmlunit${xmlunit.version}.zip"> - <zipfileset prefix="xmlunit" dir="${basedir}" - includes="**/xmlunit${xmlunit.version}.jar"/> - <zipfileset prefix="xmlunit" dir="${basedir}" - includes="**/*.java,**/*.txt,**/*.xml,**/*.xsl,**/*.dtd,**/*.xsd" - excludes="${out.dir}/*,**/TEST*.xml,bugs/*"/> - <zipfileset prefix="xmlunit" dir="${basedir}" - includes="${docs.dir}/**/*.css,${docs.dir}/**/*.html,${test.dir}/etc/*.html"/> - <zipfileset prefix="xmlunit" dir="${src.dir}/site" - includes="*.pdf,example.html"/> + <target name="bindist" depends="jar,test,docs"> + <zip zipfile="${dist.dir}/xmlunit-${xmlunit.version}-bin.zip"> + <zipfileset prefix="xmlunit-${xmlunit.version}/lib" + dir="${lib.dir}" includes="*.jar"/> + <zipfileset prefix="xmlunit-${xmlunit.version}/docs" + dir="${docs.dir}"/> + <zipfileset prefix="xmlunit-${xmlunit.version}" dir="."> + <include name="KEYS"/> + <include name="LICENSE.txt"/> + <include name="README.txt"/> + </zipfileset> </zip> </target> - <target name="src" depends="clean"> - <property name="dist.name" - value="${ant.project.name}-${xmlunit.version}"/> - <copy todir="${dist.dir}/${dist.name}"> - <fileset dir="${basedir}"> - <include name="${src.dir}/**"/> - <include name="${test.dir}/**"/> - <include name="ISSUES"/> + <target name="srcdist" depends="-init,create-users-guide"> + <zip zipfile="${dist.dir}/xmlunit-${xmlunit.version}-src.zip"> + <zipfileset prefix="xmlunit-${xmlunit.version}" dir="."> + <include name="*.xml"/> + <include name="${src.dir}/"/> + <include name="${test.dir}/"/> + <include name="KEYS"/> <include name="LICENSE.txt"/> <include name="README.txt"/> - <include name="build.xml"/> - <include name="build.properties"/> + </zipfileset> + <zipfileset dir="${userguide.docs.dir}" + prefix="xmlunit-${xmlunit.version}/userguide"/> + </zip> + </target> + + <target name="dist" + depends="clean,bindist,srcdist,compile-userguide-examples" + description="creates the distribution files"> + <checksum algorithm="md5"> + <fileset dir="${dist.dir}"> + <include name="*.zip"/> </fileset> - </copy> - <tar tarfile="${dist.name}-src.tar" basedir="${dist.dir}"> - </tar> - <gzip zipfile="${dist.name}-src.tgz" - src="${dist.name}-src.tar" /> - <delete file="${dist.name}-src.tar" /> + </checksum> + <checksum algorithm="sha1"> + <fileset dir="${dist.dir}"> + <include name="*.zip"/> + </fileset> + </checksum> </target> <target name="compile-userguide-examples" depends="compile"> - <mkdir dir="${build.user.guide}"/> + <mkdir dir="${userguide.out.dir}"/> <javac srcdir="src/user-guide" includes="org/" - destdir="${build.user.guide}" source="1.3" target="1.2"> + destdir="${userguide.out.dir}" source="1.3" target="1.2"> <classpath> <pathelement location="${junit.lib}"/> <pathelement location="${out.dir}"/> </classpath> </javac> + <delete dir="${userguide.out.dir}"/> </target> </project> Added: trunk/xmlunit/docbook.xml =================================================================== --- trunk/xmlunit/docbook.xml (rev 0) +++ trunk/xmlunit/docbook.xml 2007-04-18 15:27:50 UTC (rev 193) @@ -0,0 +1,84 @@ +<project> + <!-- allow overrides --> + <property file="docbook.properties"/> + + <!-- location of Docbook Stylesheets and dblatex --> + <property name="db5.xsl" location="../../docbook/docbook5-xsl-1.72.0"/> + <property name="dblatex" value="/usr/bin/dblatex"/> + + <property name="html.dir" location="${userguide.docs.dir}/html"/> + <property name="user.guide" value="XMLUnit-Java"/> + <property name="src.userguide.dir" value="${src.dir}/user-guide"/> + + <target name="create-users-guide" + depends="users-guide-html,users-guide-pdf" + description="creates PDF and HTML version of User's Guide"/> + + <target name="-html-needs-refresh?"> + <uptodate property="HTML is up-to-date" + srcfile="${src.userguide.dir}/${user.guide}.xml" + targetfile="${html.dir}/index.html"/> + </target> + + <target name="users-guide-html" depends="-html-needs-refresh?" + unless="HTML is up-to-date" + description="Creates HTML version of the User's Guide"> + <delete dir="${html.dir}" quiet="true"/> + <mkdir dir="${html.dir}"/> + <xslt + basedir="${src.userguide.dir}" + destdir="${html.dir}" + style="${db5.xsl}/html/chunk.xsl"> + <include name="${user.guide}.xml"/> + + <param name="section.autolabel" expression="1"/> + <param name="section.label.includes.component.label" expression="1"/> + </xslt> + <copy file="${src.dir}/site/xmlunit.png" toDir="${html.dir}"/> + <delete file="${html.dir}/${user.guide}.html" quiet="true"/> + </target> + + <target name="-check-os"> + <condition property="isWindows"> + <os family="windows"/> + </condition> + </target> + + <target name="-define-dblatex-unix" unless="isWindows" + depends="-check-os"> + <macrodef name="dblatex"> + <attribute name="sourcefile"/> + <sequential> + <apply executable="${dblatex}"> + <fileset file="@{sourcefile}"/> + <globmapper from="*.xml" to="*.pdf"/> + </apply> + </sequential> + </macrodef> + </target> + + <target name="-define-dblatex-cygwin" if="isWindows" + depends="-check-os"> + <macrodef name="dblatex"> + <attribute name="sourcefile"/> + <sequential> + <apply executable="bash.exe" addsourcefile="false"> + <fileset file="@{sourcefile}"/> + <globmapper from="*.xml" to="*.pdf"/> + <arg value="-c"/> + <arg value="${dblatex} @{sourcefile}"/> + </apply> + </sequential> + </macrodef> + </target> + + <target name="-define-dblatex" + depends="-define-dblatex-unix,-define-dblatex-cygwin"/> + + <target name="users-guide-pdf" depends="-define-dblatex" + description="Creates the PDF version of the User's Guide"> + <dblatex sourcefile="${src.userguide.dir}/${user.guide}.xml"/> + <move file="${src.userguide.dir}/${user.guide}.pdf" + todir="${userguide.docs.dir}"/> + </target> +</project> \ No newline at end of file Property changes on: trunk/xmlunit/docbook.xml ___________________________________________________________________ Name: svn:executable + * Name: svn:eol-style + native Modified: trunk/xmlunit/src/site/index.html =================================================================== --- trunk/xmlunit/src/site/index.html 2007-04-18 15:27:27 UTC (rev 192) +++ trunk/xmlunit/src/site/index.html 2007-04-18 15:27:50 UTC (rev 193) @@ -62,10 +62,10 @@ </tr> <tr> <td colspan="2"> - <p>The current release is <a + <p>The current stable release is <a href="http://sourceforge.net/project/showfiles.php?group_id=23187&release_id=155097">XMLUnit 1.0</a>, April 2003 (release notes are <a - href="http://xmlunit.svn.sourceforge.net/viewvc/*checkout*/xmlunit/tags/v1_0/xmlunit/README.txt">here</a>)</p> + href="http://xmlunit.svn.sourceforge.net/viewvc/*checkout*/xmlunit/tags/v1_0/xmlunit/README.txt">here</a>), the latest release is XMLUnit 1.1 beta 1 released in April 2007. It can be downloaded from <a href="http://sourceforge.net/project/showfiles.php?group_id=23187">here</a>.</p> <p>XMLUnit for Java provides two JUnit extension classes, <code>XMLAssert</code> and <code>XMLTestCase</code>, and a set of supporting classes (e.g. <code>Diff</code>, <code>DetailedDiff</code>,<code>Transform</code>,<code>SimpleXpathEngine</code>,<code>Validator</code>,<code>NodeTest</code>) @@ -84,9 +84,11 @@ <table border="0" cellspacing="5" cellpadding="5"> <tbody> <tr> - <td><a href="XMLUnit.pdf">Read the overview document (PDF)</a></td> + <td>Read the User's Guide (<a + href="userguide/XMLUnit-Java.pdf">PDF</a> or <a + href="userguide/html/index.html">HTML</a>)</td> <td><a href="example.html">See some example code</a></td> - <td><a href="doc">Browse the Javadocs</a></td> + <td><a href="api/index.html">Browse the Javadocs</a></td> <td><a href="http://xmlunit.svn.sourceforge.net/viewvc/xmlunit/trunk/xmlunit/">Visit the Subversion repository</a> </td> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |