poi/build.xml

477 lines
17 KiB
XML

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="./tools/antipede/resources/stylesheets/build.xsl"?>
<!--<!DOCTYPE project SYSTEM "./tools/antipede/build.dtd" >-->
<!DOCTYPE project [
<!-- antipede -->
<!ENTITY import-antipede SYSTEM "./tools/antipede/build.xtarget">
]>
<project default="interactive" basedir="." name="project build file">
<description>
* ===================================== *
| Krysalis Centipede Build System |
* ===================================== *
by
Nicola Ken Barozzi (nicolaken@apache.org)
Marc Johnson (mjohnson@apache.org)
For a simple interactive build, simply
run the build script (build.bar or build.sh)
</description>
<!-- =================================================================== -->
<!-- Basic build targets for the project -->
<!-- =================================================================== -->
<!-- =================================================================== -->
<!-- Interactive build -->
<!-- =================================================================== -->
<target name="interactive" description="Interactive Build" depends="-init">
<echo>
--------------------------------------------------------------
${xgump.module.project.name} ${xgump.module.project.version.major}.${xgump.module.project.version.minor} [${YEAR}]
--------------------------------------------------------------
Using ${ant.version}
Build file ${ant.file}
--------------------------------------------------------------
These are the most common build targets.
You can also invoke them directly; see build.xml for more info.
Builds will be in /build directory, distributions in /dist.
all -------------- creates the jars and the site
compile ---------- compiles the source code
test ------------- performs the jUnit tests
jar -------------- create the jar files
docs ------------- generates the html docs - clean not needed
javadocs --------- generates the API documentation
site ------------- generates the html site (docs+reports)
clean ------------ cleans the build directory
dist ------------- creates src and bin distributions
scratchpad ------- build-run scratchpad code
contrib ---------- build-run contributed code
generate-records - generate excel records
generate-types --- generate word types
</echo>
<property name="input.selection" value="all"/>
<centipede-user-input name="input.selection">Please select a target </centipede-user-input>
<antcall target="call-cent">
<param name="cent-name" value="centipede"/>
<param name="cent-target" value="splash"/>
</antcall>
<antcall target="${input.selection}"/>
</target>
<!-- =================================================================== -->
<!-- Interactive scratchpad builds -->
<!-- =================================================================== -->
<target name="scratchpad" depends="compile" description="Interactive Scratchpad Build">
<echo>
--------------------------------------------------------------
${xgump.module.project.name} ${xgump.module.project.version.major}.${xgump.module.project.version.minor} SCRATCHPAD
--------------------------------------------------------------
Building with ${ant.version}
using build file ${ant.file}
--------------------------------------------------------------
These are SCRATCHPAD BUILDS. They are not guaranteed to work.
You have been warned.
-
-
-
-
-
-
</echo>
<property name="input.selection" value=""/>
<centipede-user-input name="input.selection">Please select a target </centipede-user-input>
<ant antfile="${xlayout.source.scratchpad.targets.dir}/${input.selection}/xbuild.xml"/>
</target>
<!-- =================================================================== -->
<!-- Interactive contrib builds -->
<!-- =================================================================== -->
<target name="contrib" depends="compile" description="Interactive Contributors' Build">
<echo>
--------------------------------------------------------------
${xgump.module.project.name} ${xgump.module.project.version.major}.${xgump.module.project.version.minor} CONTRIB
--------------------------------------------------------------
Building with ${ant.version}
using build file ${ant.file}
--------------------------------------------------------------
These are CONTRIB BUILDS. They are not guaranteed to work.
You have been warned.
poibrowser - POIBrowser 0.10 GUI POI Viewer
sheetviewer - SheetViewer 0.20 GUI Applet/Application Viewer for XLS files
-
-
-
-
</echo>
<property name="input.selection" value="poibrowser"/>
<centipede-user-input name="input.selection">Please select a target </centipede-user-input>
<ant antfile="${xlayout.source.contributions.targets.dir}/${input.selection}/xbuild.xml"/>
</target>
<!-- ================================== -->
<!-- Compile -->
<!-- ================================== -->
<target name="compile" depends="-init"
description="Compile java source code">
<antcall target="call-cent">
<param name="cent-name" value="automagic"/>
<param name="cent-target" value="compile"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Build jars -->
<!-- ================================== -->
<target name="jar" depends="-init"
description="Compile java source code">
<antcall target="call-cent">
<param name="cent-name" value="automagic"/>
<param name="cent-target" value="jar"/>
</antcall>
</target>
<!-- ====================================== -->
<!-- dist target wo single build checks -->
<!-- ====================================== -->
<target name="dist" depends="-init"
description="Build distribution packages wo single build checks">
<antcall target="call-cent">
<param name="cent-name" value="automagic"/>
<param name="cent-target" value="dist"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Clean build dir -->
<!-- ================================== -->
<target name="clean" depends="-init"
description="Compile java source code">
<antcall target="call-cent">
<param name="cent-name" value="automagic"/>
<param name="cent-target" value="clean"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Run Junit tests -->
<!-- ================================== -->
<target name="test" depends="-init"
description="Compile java source code">
<antcall target="call-cent">
<param name="cent-name" value="automagic"/>
<param name="cent-target" value="test"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Generate project metrics -->
<!-- ================================== -->
<target name="metrics" depends="-init"
description="Generate project metrics">
<antcall target="call-cent">
<param name="cent-name" value="automagic"/>
<param name="cent-target" value="metrics"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Generates the documentation -->
<!-- ================================== -->
<target name="docs" depends="-init"
description="Compile java source code">
<antcall target="call-cent">
<param name="cent-name" value="automagic"/>
<param name="cent-target" value="docs"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Generates the site -->
<!-- ================================== -->
<target name="site"
description="Makes all the site doco"
depends="-init">
<antcall target="call-cent">
<param name="cent-name" value="automagic"/>
<param name="cent-target" value="site"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Generates the java docs -->
<!-- ================================== -->
<target name="javadocs" depends="-init"
description="Compile java source code">
<antcall target="call-cent">
<param name="cent-name" value="automagic"/>
<param name="cent-target" value="javadocs"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Generate records -->
<!-- ================================== -->
<target name="generate-records" depends="-init"
description="generate-records">
<ant antfile="${xlayout.source.targets.dir}/record-generation/xbuild.xml"
target="generate-records"/>
</target>
<!-- ================================== -->
<!-- Generate types -->
<!-- ================================== -->
<target name="generate-types" depends="-init"
description="generate-types">
<ant antfile="${xlayout.source.targets.dir}/record-generation/xbuild.xml"
target="generate-types"/>
</target>
<!-- ================================== -->
<!-- Test the main module stuff -->
<!-- ================================== -->
<target name="testmodule"
depends="clean, docs, compile, test, jar, metrics, javadocs"
description="Testing that all major targets work; useful before a commit"/>
<!-- ================================== -->
<!-- Test the main module stuff 2 -->
<!-- ================================== -->
<target name="testtargets"
description="Testing that all major targets work indipendently; useful before a commit">
<antcall target="clean"/>
<antcall target="compile"/>
<antcall target="clean"/>
<antcall target="test"/>
<antcall target="clean"/>
<antcall target="jar"/>
<antcall target="clean"/>
<antcall target="docs"/>
<antcall target="clean"/>
<antcall target="metrics"/>
<antcall target="clean"/>
<antcall target="javadocs"/>
</target>
<!-- ================================== -->
<!-- Test 4 distribution -->
<!-- ================================== -->
<target name="testall" depends="-init"
description="Make big full test">
<antcall target="gump"/>
<antcall target="dist"/>
</target>
<!-- ================================== -->
<!-- Target used by Gump -->
<!-- ================================== -->
<target name="gump"
depends="-init, compile, test, jar, metrics, javadocs"
description="Target used by Gump"/>
<!-- ================================== -->
<!-- Generate all -->
<!-- ================================== -->
<target name="all"
depends="-init, jar, site"
description="Generate all"/>
<!-- =================================================================== -->
<!-- Import Ant-Centipede -init targets - sets up basic build stuff -->
<!-- =================================================================== -->
<!--
This is the target that initializes tasks and properties used
commonly in every other target.
Remember to add depends="-init" to every target, so that this
target is called before any other.
This target is internal; to make it unusable from the commandline,
its name starts with a hyphen. To make it invisible when
using -projecthelp, it lacks a description.
-->
&import-antipede;
<!-- ================================== -->
<!-- POI specific extensions to the the build file -->
<!-- ================================== -->
<patternset id="teststhatfail">
</patternset>
<!-- ================================== -->
<!-- run tests one at a time -->
<!-- ================================== -->
<target name="single-test" if="testcase" depends="-init,compile-tests"
description="--> runs the single unit test defined in the testcase property">
<junit2 printsummary="yes" haltonfailure="${junit.test.haltonfailure}" fork="yes">
<formatter type="xml" />
<sysproperty key="UTIL.testdata.path"
value="${xlayout.source.test.dir}/org/apache/poi/util/data"/>
<sysproperty key="HSSF.testdata.path"
value="${xlayout.source.test.dir}/org/apache/poi/hssf/data"/>
<sysproperty key="HPSF.testdata.path"
value="${xlayout.source.test.dir}/org/apache/poi/hpsf/data"/>
<classpath>
<path>
<fileset dir="." casesensitive="yes">
<patternset>
<include name="${cents.dir}/*.${cent.dir.suffix}/${cent.lib.dir.name}/*.jar"/>
<include name="${cents.dir}/*.${cent.dir.suffix}/${cent.lib.dir.name}/*.zip"/>
</patternset>
</fileset>
<fileset dir="${xlayout.library.dir}" casesensitive="yes">
<patternset>
<include name="*/*.jar"/>
<include name="*/*.zip"/>
</patternset>
</fileset>
<fileset dir="${xlayout.source.scratchpad.library.dir}" casesensitive="yes">
<patternset>
<include name="*.jar"/>
<include name="*.zip"/>
</patternset>
</fileset>
<fileset dir="${xlayout.source.examples.library.dir}" casesensitive="yes">
<patternset>
<include name="*.jar"/>
<include name="*.zip"/>
</patternset>
</fileset>
</path>
<pathelement path="${xlayout.build.classes.dir}" />
<pathelement location="${xlayout.build.test.dir}" />
<pathelement location="${xlayout.build.classes.dir}" />
</classpath>
<test name="${testcase}" />
</junit2>
</target>
<target name="compile-tests" depends="-init,compile">
<mkdir dir="${xlayout.build.test.dir}"/>
<!-- Compile tests -->
<javac srcdir="${xlayout.source.test.dir}"
destdir="${xlayout.build.test.dir}"
debug= "${build.compiler.debug}"
optimize= "${build.compiler.optimize}"
deprecation="${build.compiler.deprecation}"
target= "${build.compiler.vm}"
nowarn= "false">
<classpath>
<path>
<fileset dir="." casesensitive="yes">
<patternset>
<include name="${cents.dir}/*.${cent.dir.suffix}/${cent.lib.dir.name}/*.jar"/>
<include name="${cents.dir}/*.${cent.dir.suffix}/${cent.lib.dir.name}/*.zip"/>
</patternset>
</fileset>
<fileset dir="${xlayout.library.dir}" casesensitive="yes">
<patternset>
<include name="*/*.jar"/>
<include name="*/*.zip"/>
</patternset>
</fileset>
<fileset dir="${xlayout.source.scratchpad.library.dir}" casesensitive="yes">
<patternset>
<include name="*.jar"/>
<include name="*.zip"/>
</patternset>
</fileset>
<fileset dir="${xlayout.source.examples.library.dir}" casesensitive="yes">
<patternset>
<include name="*.jar"/>
<include name="*.zip"/>
</patternset>
</fileset>
</path>
<pathelement path="${xlayout.build.classes.dir}" />
</classpath>
</javac>
</target>
</project>