mirror of https://github.com/apache/poi.git
- 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
7282be143e
commit
08a78c6c10
188
build.xml
188
build.xml
|
@ -37,9 +37,9 @@
|
|||
-->
|
||||
<project name="POI Build" default="help" basedir=".">
|
||||
|
||||
<description>
|
||||
The POI project Ant build.
|
||||
</description>
|
||||
<description>
|
||||
The POI project Ant build.
|
||||
</description>
|
||||
|
||||
<property environment="env"/>
|
||||
|
||||
|
@ -117,30 +117,33 @@
|
|||
<pathelement location="${contrib.output.test.dir}"/>
|
||||
</path>
|
||||
|
||||
<target name="help">
|
||||
<echo>
|
||||
Main targets:
|
||||
|
||||
compile Compiles the POI classes
|
||||
test Tests main, contrib and scratchpad
|
||||
jar Creates jar files for distribution
|
||||
docs Builds the POI website
|
||||
fetch-jars Fetches needed JAR files from the Internet
|
||||
generate-records Generates HSSF records
|
||||
generate-types Generates word types
|
||||
javadocs Generate javadocs
|
||||
single-test Runs a single test case specified with
|
||||
-Dtestcase=classname
|
||||
debug-test Runs a single test case specified with
|
||||
-Dtestcase=classname with remote debug
|
||||
options turned on.
|
||||
reports Creates junit, jdepend and javadoc reports
|
||||
site Generates the documentation and reports
|
||||
dist Creates the entire distribution into build/dist
|
||||
clean-dist Cleans the build directory then creates a
|
||||
distribution
|
||||
</echo>
|
||||
</target>
|
||||
|
||||
<!-- Prints POI's Ant usage help -->
|
||||
<target name="help" description="Prints POI's Ant usage help">
|
||||
<echo>
|
||||
- Execute "ant -projecthelp" to view a listing of the main build
|
||||
targets.
|
||||
- Execute "ant help-properties" to view a listing of some properties
|
||||
controlling the build process.
|
||||
</echo>
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<target name="help-properties"
|
||||
description="Prints a listing of build controlling properties">
|
||||
<echo>
|
||||
The following properties control the build process:
|
||||
|
||||
-Ddisconnected="true": Do not execute any targets that require an online
|
||||
connection to the Internet.
|
||||
|
||||
WARNING: This list is not exhaustive.
|
||||
</echo>
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<target name="with.clover" if="clover.present">
|
||||
<taskdef resource="clovertasks"/>
|
||||
|
@ -471,29 +474,54 @@ FORREST_HOME environment variable!</echo>
|
|||
</condition>
|
||||
</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
|
||||
of them can be executed individually. -->
|
||||
<target name="reports"
|
||||
depends="-check-reports, is-available-junit, is-available-jdepend"
|
||||
unless="reports.notRequired"
|
||||
description="Creates JUnit and JDepend reports and generates the API documentation">
|
||||
<!-- Generates a log of the latest changes in the CVS repository. -->
|
||||
<target name="cvschangelog" unless="disconnected" depends="is-available-xslt"
|
||||
description="Generates a CVS change log report">
|
||||
<antcall target="cvs-rsh-warning"/>
|
||||
<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>
|
||||
|
||||
<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">
|
||||
<param name="halt.on.test.failure" value="false"/>
|
||||
</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}">
|
||||
<fileset dir="${main.reports.test}">
|
||||
<include name="TEST-*.xml"/>
|
||||
|
@ -506,19 +534,11 @@ FORREST_HOME environment variable!</echo>
|
|||
</fileset>
|
||||
<report format="frames" todir="${junit.report.dir}"/>
|
||||
</junitreport>
|
||||
|
||||
<antcall target="jdepend"/>
|
||||
|
||||
<antcall target="-cvschangelog"/>
|
||||
|
||||
<antcall target="javadocs"/>
|
||||
|
||||
<antcall target="clover.html"/>
|
||||
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<!-- Generates the API documentation. -->
|
||||
<target name="javadocs" description="Generates the API documentation">
|
||||
<javadoc
|
||||
destdir="${apidocs.report.dir}"
|
||||
|
@ -545,11 +565,14 @@ FORREST_HOME environment variable!</echo>
|
|||
</classpath>
|
||||
|
||||
<doctitle><![CDATA[<h1>POI Documentation</h1>]]></doctitle>
|
||||
<bottom><![CDATA[<i>Copyright © 2003 Apache Software Foundation.</i>]]></bottom>
|
||||
<group title="HSSF" packages="org.apache.poi.hssf*"/>
|
||||
<group title="HPSF" packages="org.apache.poi.hpsf*"/>
|
||||
<group title="POIFS" packages="org.apache.poi.poifs*"/>
|
||||
<bottom>
|
||||
<![CDATA[<i>Copyright © 2005 Apache Software Foundation.</i>]]>
|
||||
</bottom>
|
||||
<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="Utils" packages="org.apache.poi.util*"/>
|
||||
</javadoc>
|
||||
|
@ -603,8 +626,13 @@ FORREST_HOME environment variable!</echo>
|
|||
|
||||
</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">
|
||||
<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) -->
|
||||
<target name="dtd"
|
||||
description="Generates the ANT document type definition (DTD)">
|
||||
description="Generates the Ant document type definition (DTD)">
|
||||
<antstructure output="ant.dtd"/>
|
||||
</target>
|
||||
|
||||
|
@ -711,6 +739,7 @@ FORREST_HOME environment variable!</echo>
|
|||
|
||||
<!-- Still experimental targets: -->
|
||||
|
||||
<!-- Abort the build if JUnit is missing. -->
|
||||
<target name="is-available-junit" depends="init">
|
||||
<condition property="isAvailable.junit">
|
||||
<available classname="junit.framework.TestCase"/>
|
||||
|
@ -718,16 +747,18 @@ FORREST_HOME environment variable!</echo>
|
|||
<antcall target="check-junit"/>
|
||||
</target>
|
||||
|
||||
<!-- Abort the build because JUnit is missing. -->
|
||||
<target name="check-junit" unless="isAvailable.junit">
|
||||
<echo>
|
||||
JUnit is not available. You must download JUnit from
|
||||
<http://www.junit.org/> and include the JAR file in your
|
||||
classpath."
|
||||
classpath.
|
||||
</echo>
|
||||
<fail message="JUnit is not available." unless="available.junit"/>
|
||||
<fail message="JUnit is not available."/>
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<!-- Abort the build if JDepend is missing. -->
|
||||
<target name="is-available-jdepend" depends="init">
|
||||
<condition property="isAvailable.jdepend">
|
||||
<available classname="jdepend.framework.JDepend"/>
|
||||
|
@ -735,17 +766,44 @@ FORREST_HOME environment variable!</echo>
|
|||
<antcall target="check-jdepend"/>
|
||||
</target>
|
||||
|
||||
<!-- Abort the build because JDepend is missing. -->
|
||||
<target name="check-jdepend" unless="isAvailable.jdepend">
|
||||
<echo>
|
||||
JDepend is not available. You must download JDepend from
|
||||
<http://www.clarkware.com/software/JDepend.html> and include the
|
||||
JAR file in your classpath."
|
||||
JAR file in your classpath.
|
||||
</echo>
|
||||
<fail message="JDepend is not available." unless="available.jdepend"/>
|
||||
<fail message="JDepend is not available."/>
|
||||
</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"
|
||||
description="Runs jdepend to produce a report about package dependencies">
|
||||
<jdepend outputfile="${jdepend.report.dir}/jdepend.xml" format="xml">
|
||||
|
|
Loading…
Reference in New Issue