mirror of https://github.com/apache/poi.git
156 lines
6.6 KiB
XML
156 lines
6.6 KiB
XML
<?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 "jar" target in the main build.gradle to have the packaged files created correctly.
|
|
</description>
|
|
|
|
<property name="dist" value="../build/dist"/>
|
|
<property name="build" value="../build/distsourcebuild"/>
|
|
|
|
<condition property="gradle.executable" value="../gradlew.bat" else="../gradlew">
|
|
<os family="windows" />
|
|
</condition>
|
|
|
|
<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="apache-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>
|
|
|
|
<!-- copy over required libs to avoid re-downloading them always -->
|
|
<mkdir dir="${dirversion}/lib"/>
|
|
<copy todir="${dirversion}/lib">
|
|
<fileset dir="../lib"/>
|
|
</copy>
|
|
|
|
<!-- 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="assemble" inheritAll="false" inheritRefs="false" useNativeBasedir="true"/-->
|
|
<exec executable="${gradle.executable}" dir="." failonerror="true">
|
|
<arg value="assemble" />
|
|
</exec>
|
|
</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}" quiet="true" failonerror="false"/>
|
|
<!-- ... try again - on Windows, the JaCoCo ant task seems to keep files open and hence the lib directory can't be removed -->
|
|
<delete dir="${build}" quiet="true" failonerror="false"/>
|
|
<mkdir dir="${build}"/>
|
|
|
|
<!-- select latest built jar files without scratchpad.jar -->
|
|
<pathconvert property="jarpackage">
|
|
<sort>
|
|
<resources>
|
|
<fileset dir="${dist}">
|
|
<include name="**/poi-5.*.jar"/>
|
|
<include name="**/poi-ooxml-5.*.jar"/>
|
|
<include name="**/poi-ooxml-lite-5.*.jar"/>
|
|
<exclude name="**/*-javadoc*"/>
|
|
<exclude name="**/*-sources*"/>
|
|
</fileset>
|
|
</resources>
|
|
</sort>
|
|
</pathconvert>
|
|
|
|
<fail message="Did not find jar packages looking in directory ${dist}">
|
|
<condition>
|
|
<or>
|
|
<equals arg1="${jarpackage}" arg2=""/>
|
|
<not>
|
|
<isset property="jarpackage"/>
|
|
</not>
|
|
</or>
|
|
</condition>
|
|
</fail>
|
|
|
|
<echo message="Found jar packages at ${jarpackage}, dist: ${dist}"/>
|
|
<path id="libs">
|
|
<fileset dir="../lib/main" includes="*.jar"/>
|
|
<fileset dir="../lib/ooxml" includes="*.jar"/>
|
|
<fileset dir="../lib/main-tests">
|
|
<include name="junit*.jar"/>
|
|
</fileset>
|
|
</path>
|
|
|
|
<echo message="Compiling examples without linking to scratchpad.jar to ensure that only some specific ones require this jar"/>
|
|
<javac srcdir="../poi-examples/src/main/java" destdir="${build}"
|
|
target="1.8" source="1.8" debug="true"
|
|
encoding="ASCII" fork="yes" includeantruntime="false"
|
|
excludes="org/apache/poi/examples/hslf/**,org/apache/poi/examples/hsmf/**,org/apache/poi/examples/hwmf/**,**/EmbeddedObjects.java,**/EmeddedObjects.java,**/LoadEmbedded.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-5.*.jar"/>
|
|
<include name="**/poi-ooxml-5.*.jar"/>
|
|
<include name="**/poi-ooxml-lite-5.*.jar"/>
|
|
<include name="**/poi-scratchpad-5.*.jar"/>
|
|
<exclude name="**/*-javadoc*"/>
|
|
<exclude name="**/*-sources*"/>
|
|
</fileset>
|
|
</resources>
|
|
</sort>
|
|
</pathconvert>
|
|
|
|
<echo message="Compiling all examples with the additional scratchpad.jar"/>
|
|
<javac srcdir="../poi-examples/src/main/java" destdir="${build}"
|
|
target="1.8" source="1.8" debug="true"
|
|
encoding="ASCII" fork="yes" includeantruntime="false"
|
|
classpath="${jarpackagescratchpad}" classpathref="libs">
|
|
</javac>
|
|
</target>
|
|
</project>
|