| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <project name="POI Testbuild" default="run" basedir="."> |
| |
| <description>Test-Ant file which verifies that the Apache POI distribution build sources can be compiled successfully. |
| |
| Before running this, you should execute the "assemble" target in the main build.xml to have the packaged files |
| created correctly. |
| |
| </description> |
| |
| <property name="dist" value="../../build/dist"/> |
| <property name="build" value="../../build/distsourcebuild"/> |
| |
| <target name="init" depends=""> |
| </target> |
| |
| <target name="run" depends="init,runSourceBuild,runCompileTest"/> |
| |
| <target name="runSourceBuild" depends="init"> |
| <!-- clean out old stuff in build-dir --> |
| <delete dir="${build}"/> |
| <mkdir dir="${build}"/> |
| |
| <!-- select latest built source zip --> |
| <pathconvert property="srcpackage"> |
| <last> |
| <sort> |
| <date xmlns="antlib:org.apache.tools.ant.types.resources.comparators"/> |
| <resources> |
| <fileset dir="${dist}"> |
| <include name="poi-src-*.zip" /> |
| </fileset> |
| </resources> |
| </sort> |
| </last> |
| </pathconvert> |
| |
| <echo message="Found source package at ${srcpackage}"/> |
| <unzip src="${srcpackage}" dest="${build}" failOnEmptyArchive="true"/> |
| |
| <!-- look for name of sub-dir, do this dynamically as it changes with every (beta|rc)-release --> |
| <pathconvert property="dirversion"> |
| <dirset dir="${build}"> |
| <include name="*" /> |
| </dirset> |
| </pathconvert> |
| |
| <!-- finally call Ant on the extracted source to check if we can build the packages --> |
| <echo message="Building in temporary dir ${dirversion}/"/> |
| <ant dir="${dirversion}" target="jar" inheritAll="false" inheritRefs="false" useNativeBasedir="true"/> |
| </target> |
| |
| <target name="runCompileTest" depends="init" description="Verify that we can compile most examples without including excelant or scratchpad jars"> |
| <!-- clean out old stuff in build-dir --> |
| <delete dir="${build}"/> |
| <mkdir dir="${build}"/> |
| |
| <!-- select latest built jar files without scratchpad.jar --> |
| <pathconvert property="jarpackage"> |
| <sort> |
| <resources> |
| <fileset dir="${dist}"> |
| <include name="poi-3.*.jar" /> |
| <include name="poi-ooxml-3.*.jar" /> |
| <include name="poi-ooxml-schemas-3.*.jar" /> |
| <exclude name="*-javadocs-*" /> |
| <exclude name="*-sources-*" /> |
| </fileset> |
| </resources> |
| </sort> |
| </pathconvert> |
| |
| <echo message="Found jar packages at ${jarpackage}"/> |
| |
| <path id="libs"> |
| <fileset dir="../../lib"> |
| <include name="junit*.jar" /> |
| </fileset> |
| <fileset dir="../../ooxml-lib"> |
| <include name="ooxml-schemas-*.jar" /> |
| <include name="xmlbeans-*.jar" /> |
| <exclude name="xmlbeans-2.3.*.jar" /> |
| </fileset> |
| </path> |
| |
| <echo message="Compiling examples without linking to scratchpad.jar to ensure that only some specific ones require this jar" /> |
| <javac srcdir="../examples/src" destdir="${build}" |
| target="1.6" |
| source="1.6" |
| debug="trye" |
| encoding="ASCII" |
| fork="yes" |
| includeantruntime="false" |
| excludes="org/apache/poi/hslf/**,org/apache/poi/hsmf/**,**/EmbeddedObjects.java,**/EmeddedObjects.java,**/Word2Forrest.java" |
| classpath="${jarpackage}" |
| classpathref="libs"> |
| </javac> |
| |
| <!-- select latest built jar files with additionally scratchpad.jar --> |
| <pathconvert property="jarpackagescratchpad"> |
| <sort> |
| <resources> |
| <fileset dir="${dist}"> |
| <include name="poi-3.*.jar" /> |
| <include name="poi-ooxml-3.*.jar" /> |
| <include name="poi-ooxml-schemas-3.*.jar" /> |
| <include name="poi-scratchpad-3.*.jar" /> |
| <exclude name="*-javadocs-*" /> |
| <exclude name="*-sources-*" /> |
| </fileset> |
| </resources> |
| </sort> |
| </pathconvert> |
| |
| <echo message="Compiling all examples with the additinal scratchpad.jar" /> |
| <javac srcdir="../examples/src" destdir="${build}" |
| target="1.6" |
| source="1.6" |
| debug="trye" |
| encoding="ASCII" |
| fork="yes" |
| includeantruntime="false" |
| classpath="${jarpackagescratchpad}" |
| classpathref="libs"> |
| </javac> |
| </target> |
| </project> |