123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- <?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="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>
|