- Performs checks for JDepend, JUnit and Xalan *before* doing long-running tasks.
- Included HWPS in the generated API documentation. - Updated the copyright year to 2005. - Target "reports" completely split into subtargets. - Target "cvschangelog" is a main target now. - Issue warning if CVS_RSH is not set. - Minor build and documentation enhancements git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353621 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
96fe7f273b
commit
f553b25f29
188
build.xml
188
build.xml
@ -37,9 +37,9 @@
|
|||||||
-->
|
-->
|
||||||
<project name="POI Build" default="help" basedir=".">
|
<project name="POI Build" default="help" basedir=".">
|
||||||
|
|
||||||
<description>
|
<description>
|
||||||
The POI project Ant build.
|
The POI project Ant build.
|
||||||
</description>
|
</description>
|
||||||
|
|
||||||
<property environment="env"/>
|
<property environment="env"/>
|
||||||
|
|
||||||
@ -117,30 +117,33 @@
|
|||||||
<pathelement location="${contrib.output.test.dir}"/>
|
<pathelement location="${contrib.output.test.dir}"/>
|
||||||
</path>
|
</path>
|
||||||
|
|
||||||
<target name="help">
|
|
||||||
<echo>
|
|
||||||
Main targets:
|
|
||||||
|
|
||||||
compile Compiles the POI classes
|
|
||||||
test Tests main, contrib and scratchpad
|
<!-- Prints POI's Ant usage help -->
|
||||||
jar Creates jar files for distribution
|
<target name="help" description="Prints POI's Ant usage help">
|
||||||
docs Builds the POI website
|
<echo>
|
||||||
fetch-jars Fetches needed JAR files from the Internet
|
- Execute "ant -projecthelp" to view a listing of the main build
|
||||||
generate-records Generates HSSF records
|
targets.
|
||||||
generate-types Generates word types
|
- Execute "ant help-properties" to view a listing of some properties
|
||||||
javadocs Generate javadocs
|
controlling the build process.
|
||||||
single-test Runs a single test case specified with
|
</echo>
|
||||||
-Dtestcase=classname
|
</target>
|
||||||
debug-test Runs a single test case specified with
|
|
||||||
-Dtestcase=classname with remote debug
|
|
||||||
options turned on.
|
|
||||||
reports Creates junit, jdepend and javadoc reports
|
<target name="help-properties"
|
||||||
site Generates the documentation and reports
|
description="Prints a listing of build controlling properties">
|
||||||
dist Creates the entire distribution into build/dist
|
<echo>
|
||||||
clean-dist Cleans the build directory then creates a
|
The following properties control the build process:
|
||||||
distribution
|
|
||||||
</echo>
|
-Ddisconnected="true": Do not execute any targets that require an online
|
||||||
</target>
|
connection to the Internet.
|
||||||
|
|
||||||
|
WARNING: This list is not exhaustive.
|
||||||
|
</echo>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<target name="with.clover" if="clover.present">
|
<target name="with.clover" if="clover.present">
|
||||||
<taskdef resource="clovertasks"/>
|
<taskdef resource="clovertasks"/>
|
||||||
@ -471,29 +474,54 @@ FORREST_HOME environment variable!</echo>
|
|||||||
</condition>
|
</condition>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="-cvschangelog" unless="disconnected">
|
|
||||||
<cvschangelog destfile="${changelog.file}" daysinpast="30"/>
|
|
||||||
|
|
||||||
<style in="${changelog.file}"
|
|
||||||
out="${build.site.src}/src/documentation/content/changelog.html"
|
|
||||||
style="changelog.xsl">
|
|
||||||
<param name="title" expression="POI Change Log"/>
|
|
||||||
<param name="module" expression="jakarta-poi"/>
|
|
||||||
<param name="cvsweb" expression="http://cvs.apache.org/viewcvs/"/>
|
|
||||||
</style>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<!-- FIXME: This target has to be split into several targets so that each
|
<!-- Generates a log of the latest changes in the CVS repository. -->
|
||||||
of them can be executed individually. -->
|
<target name="cvschangelog" unless="disconnected" depends="is-available-xslt"
|
||||||
<target name="reports"
|
description="Generates a CVS change log report">
|
||||||
depends="-check-reports, is-available-junit, is-available-jdepend"
|
<antcall target="cvs-rsh-warning"/>
|
||||||
unless="reports.notRequired"
|
<cvschangelog destfile="${changelog.file}" daysinpast="30"/>
|
||||||
description="Creates JUnit and JDepend reports and generates the API documentation">
|
|
||||||
|
|
||||||
|
<style in="${changelog.file}"
|
||||||
|
out="${build.site.src}/src/documentation/content/changelog.html"
|
||||||
|
style="changelog.xsl">
|
||||||
|
<param name="title" expression="POI Change Log"/>
|
||||||
|
<param name="module" expression="jakarta-poi"/>
|
||||||
|
<param name="cvsweb" expression="http://cvs.apache.org/viewcvs/"/>
|
||||||
|
</style>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="cvs-rsh-warning" unless="env.CVS_RSH">
|
||||||
|
<echo>
|
||||||
|
WARNING: The environment variable CVS_RSH is not set. If you cannot
|
||||||
|
access the CVS repository this could be one of the reasons for the
|
||||||
|
failure.
|
||||||
|
</echo>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Creates reports and API documentation -->
|
||||||
|
<target name="reports" unless="reports.notRequired" depends="-check-reports,
|
||||||
|
is-available-xslt, is-available-junit, is-available-jdepend,
|
||||||
|
test-ignore-failures, jdepend, cvschangelog, javadocs, clover.html"
|
||||||
|
description="Creates various reports and the API documentation">
|
||||||
|
</target>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Runs all JUnit tests without aborting if one of the tests fails. -->
|
||||||
|
<target name="test-ignore-failures" depends="init">
|
||||||
<antcall target="test">
|
<antcall target="test">
|
||||||
<param name="halt.on.test.failure" value="false"/>
|
<param name="halt.on.test.failure" value="false"/>
|
||||||
</antcall>
|
</antcall>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Produces a report of the JUnit test results -->
|
||||||
|
<target name="junitreport" depends="is-available-xslt, test-ignore-failures"
|
||||||
|
description="Produces a report of the JUnit test results">
|
||||||
<junitreport todir="${junit.report.dir}">
|
<junitreport todir="${junit.report.dir}">
|
||||||
<fileset dir="${main.reports.test}">
|
<fileset dir="${main.reports.test}">
|
||||||
<include name="TEST-*.xml"/>
|
<include name="TEST-*.xml"/>
|
||||||
@ -506,19 +534,11 @@ FORREST_HOME environment variable!</echo>
|
|||||||
</fileset>
|
</fileset>
|
||||||
<report format="frames" todir="${junit.report.dir}"/>
|
<report format="frames" todir="${junit.report.dir}"/>
|
||||||
</junitreport>
|
</junitreport>
|
||||||
|
|
||||||
<antcall target="jdepend"/>
|
|
||||||
|
|
||||||
<antcall target="-cvschangelog"/>
|
|
||||||
|
|
||||||
<antcall target="javadocs"/>
|
|
||||||
|
|
||||||
<antcall target="clover.html"/>
|
|
||||||
|
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Generates the API documentation. -->
|
||||||
<target name="javadocs" description="Generates the API documentation">
|
<target name="javadocs" description="Generates the API documentation">
|
||||||
<javadoc
|
<javadoc
|
||||||
destdir="${apidocs.report.dir}"
|
destdir="${apidocs.report.dir}"
|
||||||
@ -545,11 +565,14 @@ FORREST_HOME environment variable!</echo>
|
|||||||
</classpath>
|
</classpath>
|
||||||
|
|
||||||
<doctitle><![CDATA[<h1>POI Documentation</h1>]]></doctitle>
|
<doctitle><![CDATA[<h1>POI Documentation</h1>]]></doctitle>
|
||||||
<bottom><![CDATA[<i>Copyright © 2003 Apache Software Foundation.</i>]]></bottom>
|
<bottom>
|
||||||
<group title="HSSF" packages="org.apache.poi.hssf*"/>
|
<![CDATA[<i>Copyright © 2005 Apache Software Foundation.</i>]]>
|
||||||
<group title="HPSF" packages="org.apache.poi.hpsf*"/>
|
</bottom>
|
||||||
<group title="POIFS" packages="org.apache.poi.poifs*"/>
|
|
||||||
<group title="HDF" packages="org.apache.poi.hdf*"/>
|
<group title="HDF" packages="org.apache.poi.hdf*"/>
|
||||||
|
<group title="HPSF" packages="org.apache.poi.hpsf*"/>
|
||||||
|
<group title="HSSF" packages="org.apache.poi.hssf*"/>
|
||||||
|
<group title="HWPF" packages="org.apache.poi.hwpf*"/>
|
||||||
|
<group title="POIFS" packages="org.apache.poi.poifs*"/>
|
||||||
<group title="Record Generator" packages="org.apache.poi.record*"/>
|
<group title="Record Generator" packages="org.apache.poi.record*"/>
|
||||||
<group title="Utils" packages="org.apache.poi.util*"/>
|
<group title="Utils" packages="org.apache.poi.util*"/>
|
||||||
</javadoc>
|
</javadoc>
|
||||||
@ -603,8 +626,13 @@ FORREST_HOME environment variable!</echo>
|
|||||||
|
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="site" depends="reports,docs"
|
|
||||||
description="Generates the documentation and reports"/>
|
|
||||||
|
<!-- Generates documentation and reports -->
|
||||||
|
<target name="site" depends="reports, docs"
|
||||||
|
description="Generates POI's website's contents"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<target name="jar" depends="compile" description="Creates jar files for distribution">
|
<target name="jar" depends="compile" description="Creates jar files for distribution">
|
||||||
<jar basedir="${main.output.dir}" destfile="${dist.dir}/${jar.name}-${version.id}-${DSTAMP}.jar">
|
<jar basedir="${main.output.dir}" destfile="${dist.dir}/${jar.name}-${version.id}-${DSTAMP}.jar">
|
||||||
@ -703,7 +731,7 @@ FORREST_HOME environment variable!</echo>
|
|||||||
|
|
||||||
<!-- Generates the ANT document type definition (DTD) -->
|
<!-- Generates the ANT document type definition (DTD) -->
|
||||||
<target name="dtd"
|
<target name="dtd"
|
||||||
description="Generates the ANT document type definition (DTD)">
|
description="Generates the Ant document type definition (DTD)">
|
||||||
<antstructure output="ant.dtd"/>
|
<antstructure output="ant.dtd"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
@ -711,6 +739,7 @@ FORREST_HOME environment variable!</echo>
|
|||||||
|
|
||||||
<!-- Still experimental targets: -->
|
<!-- Still experimental targets: -->
|
||||||
|
|
||||||
|
<!-- Abort the build if JUnit is missing. -->
|
||||||
<target name="is-available-junit" depends="init">
|
<target name="is-available-junit" depends="init">
|
||||||
<condition property="isAvailable.junit">
|
<condition property="isAvailable.junit">
|
||||||
<available classname="junit.framework.TestCase"/>
|
<available classname="junit.framework.TestCase"/>
|
||||||
@ -718,16 +747,18 @@ FORREST_HOME environment variable!</echo>
|
|||||||
<antcall target="check-junit"/>
|
<antcall target="check-junit"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<!-- Abort the build because JUnit is missing. -->
|
|
||||||
<target name="check-junit" unless="isAvailable.junit">
|
<target name="check-junit" unless="isAvailable.junit">
|
||||||
<echo>
|
<echo>
|
||||||
JUnit is not available. You must download JUnit from
|
JUnit is not available. You must download JUnit from
|
||||||
<http://www.junit.org/> and include the JAR file in your
|
<http://www.junit.org/> and include the JAR file in your
|
||||||
classpath."
|
classpath.
|
||||||
</echo>
|
</echo>
|
||||||
<fail message="JUnit is not available." unless="available.junit"/>
|
<fail message="JUnit is not available."/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Abort the build if JDepend is missing. -->
|
||||||
<target name="is-available-jdepend" depends="init">
|
<target name="is-available-jdepend" depends="init">
|
||||||
<condition property="isAvailable.jdepend">
|
<condition property="isAvailable.jdepend">
|
||||||
<available classname="jdepend.framework.JDepend"/>
|
<available classname="jdepend.framework.JDepend"/>
|
||||||
@ -735,17 +766,44 @@ FORREST_HOME environment variable!</echo>
|
|||||||
<antcall target="check-jdepend"/>
|
<antcall target="check-jdepend"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<!-- Abort the build because JDepend is missing. -->
|
|
||||||
<target name="check-jdepend" unless="isAvailable.jdepend">
|
<target name="check-jdepend" unless="isAvailable.jdepend">
|
||||||
<echo>
|
<echo>
|
||||||
JDepend is not available. You must download JDepend from
|
JDepend is not available. You must download JDepend from
|
||||||
<http://www.clarkware.com/software/JDepend.html> and include the
|
<http://www.clarkware.com/software/JDepend.html> and include the
|
||||||
JAR file in your classpath."
|
JAR file in your classpath.
|
||||||
</echo>
|
</echo>
|
||||||
<fail message="JDepend is not available." unless="available.jdepend"/>
|
<fail message="JDepend is not available."/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<!-- FIXME: Make target "reports" depend on this! -->
|
|
||||||
|
|
||||||
|
<!-- Abort the build if the Xalan XSLT processor is missing. The
|
||||||
|
"junitreport" task seems to explicitly require Xalan instead of being
|
||||||
|
able to cope with any XSLT processor. -->
|
||||||
|
<target name="is-available-xslt" depends="init">
|
||||||
|
<condition property="isAvailable.xslt">
|
||||||
|
<and>
|
||||||
|
<available
|
||||||
|
classname="javax.xml.transform.TransformerFactory"/>
|
||||||
|
<available
|
||||||
|
classname="org.apache.xalan.processor.TransformerFactoryImpl"/>
|
||||||
|
</and>
|
||||||
|
</condition>
|
||||||
|
<antcall target="check-xslt"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="check-xslt" unless="isAvailable.xslt">
|
||||||
|
<echo>
|
||||||
|
The Xalan XSLT processor is not available. You must download Xalan from
|
||||||
|
<http://xml.apache.org/xalan-j/> and include the JAR file in your
|
||||||
|
classpath.
|
||||||
|
</echo>
|
||||||
|
<fail message="The Xalan XSLT processor is not available."/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Runs jdepend to produce a report about package dependencies -->
|
||||||
<target name="jdepend" depends="is-available-jdepend"
|
<target name="jdepend" depends="is-available-jdepend"
|
||||||
description="Runs jdepend to produce a report about package dependencies">
|
description="Runs jdepend to produce a report about package dependencies">
|
||||||
<jdepend outputfile="${jdepend.report.dir}/jdepend.xml" format="xml">
|
<jdepend outputfile="${jdepend.report.dir}/jdepend.xml" format="xml">
|
||||||
|
Loading…
Reference in New Issue
Block a user