]> source.dussan.org Git - poi.git/commitdiff
Bug 57963: Add a task to the integration-test build which verifies that most examples...
authorDominik Stadler <centic@apache.org>
Tue, 16 Jun 2015 05:42:36 +0000 (05:42 +0000)
committerDominik Stadler <centic@apache.org>
Tue, 16 Jun 2015 05:42:36 +0000 (05:42 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1685705 13f79535-47bb-0310-9956-ffa450edef68

src/integrationtest/build.xml

index 21d327a12dec00aad72257c4706b665a139382c9..795788e441b5c165e75d51faf530b5cd978910ab 100644 (file)
@@ -19,7 +19,12 @@ 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.</description>
+    <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"/>
@@ -27,12 +32,14 @@ under the License.
     <target name="init" depends="">
     </target>
     
-    <target name="run" depends="init">
+    <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 biult source zip -->
+        <!-- select latest built source zip -->
         <pathconvert property="srcpackage">
             <last>
                 <sort>
@@ -60,4 +67,79 @@ under the License.
         <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>