mirror of https://github.com/apache/poi.git
481 lines
17 KiB
XML
481 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
|
|
-
|
|
-
|
|
-
|
|
-
|
|
-
|
|
|
|
</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="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;
|
|
|
|
<!-- ================================== -->
|
|
<!-- 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"/>
|
|
<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>
|