poi/build.xml

400 lines
13 KiB
XML

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="./tools/antipede/resources/stylesheets/layout.xsl"?>
<!--<!DOCTYPE project SYSTEM "./tools/antipede/build.dtd" >-->
<!DOCTYPE project [
<!-- antipede -->
<!ENTITY import-antipede SYSTEM "./tools/antipede/build.xtarget">
<!ELEMENT project ANY>
<!ATTLIST project default CDATA #REQUIRED
basedir CDATA #IMPLIED
name CDATA #IMPLIED>
]>
<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
-
-
-
-
-
</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="centipede"/>
<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="centipede"/>
<param name="cent-target" value="package"/>
</antcall>
</target>
<!-- ====================================== -->
<!-- dist target wo single build checks -->
<!-- ====================================== -->
<target name="dist" depends="-init, clean, jar, site, test"
description="Build distribution packages wo single build checks">
<antcall target="call-cent">
<param name="cent-name" value="centipede"/>
<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="centipede"/>
<param name="cent-target" value="clean"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Run Junit tests -->
<!-- ================================== -->
<target name="test" depends="-init, compile"
description="Compile java source code">
<antcall target="call-cent">
<param name="cent-name" value="junit"/>
<param name="cent-target" value="test"/>
</antcall>
<antcall target="call-cent">
<param name="cent-name" value="junit"/>
<param name="cent-target" value="report"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Generate project metrics -->
<!-- ================================== -->
<target name="metrics" depends="-init, compile"
description="Generate project metrics">
<antcall target="call-cent">
<param name="cent-name" value="jdepend"/>
<param name="cent-target" value="jdepend-html"/>
</antcall>
<antcall target="call-cent">
<param name="cent-name" value="checkstyle"/>
<param name="cent-target" value="check"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Generates the documentation -->
<!-- ================================== -->
<target name="docs" depends="-init"
description="Compile java source code">
<antcall target="call-cent">
<param name="cent-name" value="forrest"/>
<param name="cent-target" value="docs"/>
</antcall>
</target>
<!-- ================================== -->
<!-- Generates the site -->
<!-- ================================== -->
<target name="site"
description="Makes all the site doco"
depends="docs,
test,
javadocs,
metrics"/>
<!-- ================================== -->
<!-- Generates the java docs -->
<!-- ================================== -->
<target name="javadocs" depends="-init"
description="Compile java source code">
<antcall target="call-cent">
<param name="cent-name" value="centipede"/>
<param name="cent-target" value="javadocs"/>
</antcall>
<antcall target="call-cent">
<param name="cent-name" value="umldoclet"/>
<param name="cent-target" value="doclet"/>
</antcall>
<antcall target="call-cent">
<param name="cent-name" value="javasrc"/>
<param name="cent-target" value="javasrc"/>
</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="testmodule"
description="Target used by Gump">
<antcall target="testtargets"/>
<antcall target="testmodule"/>
<antcall target="all"/>
</target>
<!-- ================================== -->
<!-- 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;
</project>