123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477 |
- <?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="no" haltonfailure="${junit.test.haltonfailure}" fork="yes">
- <formatter type="xml" />
- <formatter type="plain" usefile="no"/>
- <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>
|