| <!-- | |
| Copyright 2004 The Apache Software Foundation | |
| Licensed 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. | |
| --> | |
| <!-- build file --> | |
| <project name="xmlbeans-perf" default="usage"> | |
| <target name="usage"> | |
| <echo> | |
| Main Usage: | |
| bootstrap - download and unzip benchmark jars - REQUIRED FOR BENCHMARKS | |
| [re]build.all - builds all schema jars and test classes | |
| [re]build - builds test and tool classes only | |
| [re]build.schema.jars - that's what it does :-> | |
| clean.all - clean all schema jars and test/tools classes | |
| clean - clean test and tools classes | |
| clean.schema.jars - clean schema jars | |
| NOTE: clean.all does not call the following clean targets: | |
| clean.bootstrap - delete downloaded benchmark jars | |
| clean.parsers.bootstrap - delete unzipped parser files | |
| build.xmlbeans.perf - bootstrap, builds schema jars and tests classes for all XmlBeans releases | |
| Schema Builds: | |
| svn.schema.jars - required for tools build and svn perf | |
| v1.schema.jars | |
| v2.schema.jars | |
| castor.schema.jars | |
| jaxb.schema.jars | |
| jaxb2.schema.jars | |
| jibx.schema.jars | |
| parsers.schema.jars | |
| Perf Builds: | |
| build.tools - perf tools | |
| build.svn.perf - latest XMLBeans SVN snapshot | |
| build.v1.perf - XMLBeans v1 | |
| build.v2.perf - XMLBeans v2 | |
| build.castor.perf | |
| build.jaxb.perf | |
| build.jaxb2.perf | |
| build.jibx.perf | |
| build.xerces.perf | |
| build.parsers.perf | |
| note: | |
| To build any particular version or product (ex.current XmlBeans SVN tree) the following targets need to be run: | |
| ant bootstrap | |
| ant svn.schema.jars | |
| ant build.svn.perf | |
| run run_svn.bat/run_svn.sh from the bin directory | |
| </echo> | |
| </target> | |
| <property environment="env"/> | |
| <!-- root properties used for finding everything --> | |
| <property name="xmlbeans.perf.root" value="${env.XMLBEANS_PERFROOT}"/> | |
| <property name="svn.xmlbeans.root" value="${env.XMLBEANS_HOME}"/> | |
| <property name="src.dir" value="${xmlbeans.perf.root}/src"/> | |
| <property name="build.dir" value="${xmlbeans.perf.root}/build"/> | |
| <property name="doc.dir" value="${xmlbeans.perf.root}/build/doc"/> | |
| <property name="test.case.dir" value="${xmlbeans.perf.root}/cases"/> | |
| <property name="temp.dir" value="${xmlbeans.perf.root}/temp"/> | |
| <property name="schema.jar.build.dir" value="${xmlbeans.perf.root}/schema_build"/> | |
| <property name="3rdparty.dir" value="${xmlbeans.perf.root}/3rdparty"/> | |
| <!-- benchmark directories --> | |
| <property name="svn.dir" value="${svn.xmlbeans.root}"/> | |
| <property name="v1.dir" value="${3rdparty.dir}/v1"/> | |
| <property name="v2.dir" value="${3rdparty.dir}/v2"/> | |
| <property name="castor.dir" value="${3rdparty.dir}/castor"/> | |
| <property name="jibx.dir" value="${3rdparty.dir}/jibx"/> | |
| <property name="xerces.dir" value="${3rdparty.dir}/xerces"/> | |
| <!-- can't download jaxb on the fly, so user has to setup this env var --> | |
| <property name="jaxb.dir" value="${env.JAXB_LIBDIR}"/> | |
| <property name="jaxb2.dir" value="${env.JAXB2_LIBDIR}"/> | |
| <!-- temp dirs for schema compilation outputs --> | |
| <property name="v1.temp.dir" value="${temp.dir}/v1" /> | |
| <property name="v2.temp.dir" value="${temp.dir}/v2" /> | |
| <property name="svn.temp.dir" value="${temp.dir}/svn" /> | |
| <property name="castor.temp.dir" value="${temp.dir}/castor" /> | |
| <property name="jibx.temp.dir" value="${temp.dir}/jibx" /> | |
| <property name="jaxb.temp.dir" value="${temp.dir}/jaxb" /> | |
| <property name="jaxb2.temp.dir" value="${temp.dir}/jaxb2" /> | |
| <property name="parsers.temp.dir" value="${temp.dir}/parsers" /> | |
| <!-- read urls from download.properties file --> | |
| <property file="download.properties" /> | |
| <!-- 3rd party jars downloads --> | |
| <!-- castor --> | |
| <property name="castor.jar" value="${castor.dir}/${castor.lib.name}"/> | |
| <!-- jibx --> | |
| <property name="jibx.zip" value="${jibx.dir}/${jibx.lib.name}"/> | |
| <!-- v1 --> | |
| <property name="v1.zip" value="${v1.dir}/${v1.lib.name}"/> | |
| <!-- v2 --> | |
| <property name="v2.zip" value="${v2.dir}/${v2.lib.name}"/> | |
| <property name="saxon81.zip" value="${v2.dir}/${saxon81.lib.name}"/> | |
| <!-- xerces --> | |
| <property name="xercesImpl.jar" value="${xerces.dir}/${xerces.version}/xercesImpl.jar"/> | |
| <property name="xerces.zip" value="${xerces.dir}/${xerces.lib.name}"/> | |
| <!-- parser test xml instances zip --> | |
| <property name="parsers.zip" value="${test.case.dir}/parser_instances.zip" /> | |
| <property name="parsers-instances.dir" value="${test.case.dir}\xml" /> | |
| <!-- user-defined schema jars for SOM runtime perf tests --> | |
| <property name="svn-purchase-order.jar" value="${schema.jar.build.dir}/svn-purchase-order.jar"/> | |
| <property name="svn-primitives.jar" value="${schema.jar.build.dir}/svn-primitives.jar"/> | |
| <property name="svn-non-primitives.jar" value="${schema.jar.build.dir}/svn-non-primitives.jar"/> | |
| <property name="v1-purchase-order.jar" value="${schema.jar.build.dir}/v1-purchase-order.jar"/> | |
| <property name="v1-primitives.jar" value="${schema.jar.build.dir}/v1-primitives.jar"/> | |
| <property name="v1-non-primitives.jar" value="${schema.jar.build.dir}/v1-non-primitives.jar"/> | |
| <property name="v2-purchase-order.jar" value="${schema.jar.build.dir}/v2-purchase-order.jar"/> | |
| <property name="v2-primitives.jar" value="${schema.jar.build.dir}/v2-primitives.jar"/> | |
| <property name="v2-non-primitives.jar" value="${schema.jar.build.dir}/v2-non-primitives.jar"/> | |
| <property name="castor-purchase-order.jar" value="${schema.jar.build.dir}/castor-purchase-order.jar"/> | |
| <property name="castor-primitives.jar" value="${schema.jar.build.dir}/castor-primitives.jar"/> | |
| <property name="castor-non-primitives.jar" value="${schema.jar.build.dir}/castor-non-primitives.jar"/> | |
| <property name="jibx-purchase-order.jar" value="${schema.jar.build.dir}/jibx-purchase-order.jar"/> | |
| <property name="jaxb-purchase-order.jar" value="${schema.jar.build.dir}/jaxb-purchase-order.jar"/> | |
| <property name="jaxb-primitives.jar" value="${schema.jar.build.dir}/jaxb-primitives.jar"/> | |
| <property name="jaxb-non-primitives.jar" value="${schema.jar.build.dir}/jaxb-non-primitives.jar"/> | |
| <property name="jaxb2-purchase-order.jar" value="${schema.jar.build.dir}/jaxb2-purchase-order.jar"/> | |
| <property name="jaxb2-primitives.jar" value="${schema.jar.build.dir}/jaxb2-primitives.jar"/> | |
| <property name="jaxb2-non-primitives.jar" value="${schema.jar.build.dir}/jaxb2-non-primitives.jar"/> | |
| <property name="parsers-jaxb2-purchase-order.jar" value="${schema.jar.build.dir}/parsers-jaxb2-purchase-order.jar"/> | |
| <property name="parsers-svn-purchase-order.jar" value="${schema.jar.build.dir}/parsers-svn-purchase-order.jar"/> | |
| <property name="parsers-svn-doc.jar" value="${schema.jar.build.dir}/parsers-svn-doc.jar"/> | |
| <!-- util schema jar(s) --> | |
| <property name="perf-results.jar" value="${schema.jar.build.dir}/perf-results.jar"/> | |
| <!-- classpaths --> | |
| <path id="tools.classpath"> | |
| <fileset dir="${svn.dir}/build/lib" includes="*.jar"/> | |
| <pathelement path="${perf-results.jar}"/> | |
| <pathelement path="${build.dir}"/> | |
| </path> | |
| <path id="svn.classpath"> | |
| <fileset dir="${svn.dir}/build/lib" includes="*.jar"/> | |
| <fileset dir="${svn.dir}/external/lib" includes="*.jar"/> | |
| <pathelement path="${svn-purchase-order.jar}"/> | |
| <pathelement path="${svn-primitives.jar}"/> | |
| <pathelement path="${svn-non-primitives.jar}"/> | |
| <pathelement path="${svn-netui-config.jar}"/> | |
| <pathelement path="${build.dir}"/> | |
| <pathelement path="${perf-results.jar}"/> | |
| </path> | |
| <path id="v1.classpath"> | |
| <fileset dir="${v1.dir}/xmlbeans-1.0.3/lib" includes="*.jar"/> | |
| <pathelement path="${v1-purchase-order.jar}"/> | |
| <pathelement path="${v1-primitives.jar}"/> | |
| <pathelement path="${v1-non-primitives.jar}"/> | |
| <pathelement path="${build.dir}"/> | |
| </path> | |
| <path id="v2.classpath"> | |
| <fileset dir="${v2.dir}/xmlbeans-2.0.0/lib" includes="*.jar"/> | |
| <pathelement path="${v2-purchase-order.jar}"/> | |
| <pathelement path="${v2-primitives.jar}"/> | |
| <pathelement path="${v2-non-primitives.jar}"/> | |
| <pathelement path="${build.dir}"/> | |
| </path> | |
| <path id="castor.classpath"> | |
| <pathelement path="${castor.jar}"/> | |
| <pathelement path="${xercesImpl.jar}"/> | |
| <pathelement path="${castor-purchase-order.jar}"/> | |
| <pathelement path="${castor-primitives.jar}"/> | |
| <pathelement path="${castor-non-primitives.jar}"/> | |
| <pathelement path="${build.dir}"/> | |
| </path> | |
| <path id="jibx.classpath"> | |
| <fileset dir="${jibx.dir}/jibx/lib" includes="*.jar"/> | |
| <pathelement path="${jibx-purchase-order.jar}"/> | |
| <pathelement path="${build.dir}"/> | |
| </path> | |
| <!-- used when building the schema jar --> | |
| <path id="jibx.binding.classpath"> | |
| <fileset dir="${jibx.dir}/jibx/lib" includes="*.jar"/> | |
| <pathelement path="${jibx.temp.dir}"/> | |
| </path> | |
| <path id="jaxb.classpath"> | |
| <fileset dir="${jaxb.dir}/jaxb/lib" includes="*.jar"/> | |
| <fileset dir="${jaxb.dir}/jaxp/lib/endorsed" includes="*.jar"/> | |
| <fileset dir="${jaxb.dir}/jwsdp-shared/lib" includes="*.jar"/> | |
| <pathelement path="${jaxb-purchase-order.jar}"/> | |
| <pathelement path="${jaxb-primitives.jar}"/> | |
| <pathelement path="${jaxb-non-primitives.jar}"/> | |
| <pathelement path="${build.dir}"/> | |
| </path> | |
| <path id="xerces.classpath"> | |
| <pathelement path="${xercesImpl.jar}"/> | |
| <pathelement path="${build.dir}"/> | |
| </path> | |
| <path id="jaxb2.classpath"> | |
| <!-- required jars - activation.jar,jaxb-api.jar,jaxb-impl.jar,jsr173_1.0_api.jar --> | |
| <fileset dir="${jaxb2.dir}/lib" includes="*.jar"/> | |
| <pathelement path="${jaxb2-purchase-order.jar}"/> | |
| <pathelement path="${jaxb2-primitives.jar}"/> | |
| <pathelement path="${jaxb2-non-primitives.jar}"/> | |
| <pathelement path="${build.dir}"/> | |
| </path> | |
| <path id="parsers.classpath"> | |
| <!-- required jars - activation.jar,jaxb-api.jar,jaxb-impl.jar,jsr173_1.0_api.jar --> | |
| <fileset dir="${jaxb2.dir}/lib" includes="*.jar"/> | |
| <fileset dir="${svn.dir}/build/lib" includes="*.jar"/> | |
| <!-- <fileset dir="${svn.dir}/external/lib" includes="*.jar"/> --> | |
| <pathelement path="${parsers-jaxb2-purchase-order.jar}"/> | |
| <pathelement path="${parsers-svn-purchase-order.jar}"/> | |
| <pathelement path="${parsers-svn-doc.jar}"/> | |
| </path> | |
| <!-- main build targets --> | |
| <target name="build.all" if="bootstrap.libdir.exists" depends="check.bootstrap.libs,check.xbeanshome,check.xbeansperfroot,build.schema.jars,build"/> | |
| <target name="clean.all" depends="clean.schema.jars,clean"/> | |
| <target name="rebuild.all" if="bootstrap.libdir.exists" depends="check.bootstrap.libs,check.xbeanshome,check.xbeansperfroot,rebuild.schema.jars,rebuild"/> | |
| <!-- convenience src build targets --> | |
| <target name="build" depends="build.tools,build.svn.perf,build.v1.perf,build.v2.perf,build.jibx.perf,build.xerces.perf,build.jaxb.perf,build.jaxb2.perf,build.castor.perf,build.parsers.perf"/> | |
| <target name="clean"> | |
| <delete dir="${build.dir}"/> | |
| <delete dir="${temp.dir}"/> | |
| </target> | |
| <target name="rebuild" depends="clean,build"/> | |
| <target name="build.xmlbeans.perf" depends="check.xbeanshome,check.xbeansperfroot,xmlbeans.bootstrap,v1.schema.jars, v2.schema.jars,svn.schema.jars, build.tools, build.svn.perf,build.v1.perf, build.v2.perf" /> | |
| <!-- convenience schema jar build targets --> | |
| <target name="build.schema.jars" depends="svn.schema.jars,v1.schema.jars,v2.schema.jars,jibx.schema.jars,castor.schema.jars,jaxb.schema.jars,jaxb2.schema.jars,parsers.schema.jars"/> | |
| <target name="clean.schema.jars"> | |
| <delete dir="${schema.jar.build.dir}"/> | |
| </target> | |
| <target name="rebuild.schema.jars" depends="clean.schema.jars,build.schema.jars"/> | |
| <!-- specific build targets --> | |
| <target name="clean.bootstrap"> | |
| <delete dir="${3rdparty.dir}"/> | |
| </target> | |
| <target name="bootstrap" depends="check.xbeanshome,check.xbeansperfroot"> | |
| <mkdir dir="${castor.dir}"/> | |
| <get src="${castor.url}" dest="${castor.jar}" verbose="true" usetimestamp="true"/> | |
| <mkdir dir="${jibx.dir}"/> | |
| <get src="${jibx.url}" dest="${jibx.zip}" verbose="true" usetimestamp="true"/> | |
| <unzip src="${jibx.zip}" dest="${jibx.dir}"/> | |
| <mkdir dir="${v1.dir}"/> | |
| <get src="${v1.url}" dest="${v1.zip}" verbose="true" usetimestamp="true"/> | |
| <unzip src="${v1.zip}" dest="${v1.dir}"/> | |
| <mkdir dir="${v2.dir}"/> | |
| <get src="${v2.url}" dest="${v2.zip}" verbose="true" usetimestamp="true"/> | |
| <unzip src="${v2.zip}" dest="${v2.dir}"/> | |
| <antcall target="saxon81.jar" /> | |
| <mkdir dir="${xerces.dir}"/> | |
| <get src="${xerces.url}" dest="${xerces.zip}" verbose="true" usetimestamp="true"/> | |
| <unzip src="${xerces.zip}" dest="${xerces.dir}"/> | |
| <antcall target="check.jaxb.libdir" /> | |
| <antcall target="check.jaxb2.libdir" /> | |
| </target> | |
| <!-- added - bootstrap only for XmlBeans versions --> | |
| <target name="xmlbeans.bootstrap"> | |
| <mkdir dir="${v1.dir}"/> | |
| <get src="${v1.url}" dest="${v1.zip}" verbose="true" usetimestamp="true"/> | |
| <unzip src="${v1.zip}" dest="${v1.dir}"/> | |
| <mkdir dir="${v2.dir}"/> | |
| <get src="${v2.url}" dest="${v2.zip}" verbose="true" usetimestamp="true"/> | |
| <unzip src="${v2.zip}" dest="${v2.dir}"/> | |
| <antcall target="saxon81.jar" /> | |
| </target> | |
| <target name="saxon81.jar"> | |
| <get src="${saxon81.url}" dest="${saxon81.zip}" verbose="true" usetimestamp="true"/> | |
| <unzip src="${saxon81.zip}" dest="${v2.dir}"> | |
| <patternset> | |
| <include name="saxon8.jar"/> | |
| </patternset> | |
| </unzip> | |
| </target> | |
| <target name="parsers.bootstrap"> | |
| <echo message="Extracting xml instance files for parser tests"/> | |
| <unzip src="${parsers.zip}" dest="${parsers-instances.dir}"/> | |
| </target> | |
| <target name="clean.parsers.bootstrap"> | |
| <delete dir="${parsers-instances.dir}"/> | |
| </target> | |
| <target name="build.tools"> | |
| <mkdir dir="${build.dir}"/> | |
| <javac srcdir="${src.dir}" | |
| destdir="${build.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="tools.classpath" | |
| includes="org/apache/xmlbeans/test/tools/**" | |
| source="1.8"> | |
| </javac> | |
| </target> | |
| <target name="build.svn.perf"> | |
| <mkdir dir="${build.dir}"/> | |
| <javac srcdir="${src.dir}" | |
| destdir="${build.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="svn.classpath" | |
| includes="org/apache/xmlbeans/test/performance/svn/**,org/apache/xmlbeans/test/performance/utils/**" | |
| source="1.8"> | |
| </javac> | |
| </target> | |
| <target name="build.v1.perf"> | |
| <mkdir dir="${build.dir}"/> | |
| <javac srcdir="${src.dir}" | |
| destdir="${build.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="v1.classpath" | |
| includes="org/apache/xmlbeans/test/performance/v1/**,org/apache/xmlbeans/test/performance/utils/**" | |
| source="1.8"> | |
| </javac> | |
| </target> | |
| <target name="build.v2.perf"> | |
| <mkdir dir="${build.dir}"/> | |
| <javac srcdir="${src.dir}" | |
| destdir="${build.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="v2.classpath" | |
| includes="org/apache/xmlbeans/test/performance/v2/**,org/apache/xmlbeans/test/performance/utils/**" | |
| source="1.8"> | |
| </javac> | |
| </target> | |
| <target name="build.castor.perf"> | |
| <mkdir dir="${build.dir}"/> | |
| <javac srcdir="${src.dir}" | |
| destdir="${build.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="castor.classpath" | |
| includes="org/apache/xmlbeans/test/performance/castor/**,org/apache/xmlbeans/test/performance/utils/**" | |
| source="1.8"> | |
| </javac> | |
| </target> | |
| <target name="build.jibx.perf"> | |
| <mkdir dir="${build.dir}"/> | |
| <javac srcdir="${src.dir}" | |
| destdir="${build.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="jibx.classpath" | |
| includes="org/apache/xmlbeans/test/performance/jibx/**,org/apache/xmlbeans/test/performance/utils/**" | |
| excludes="org/apache/xmlbeans/test/performance/jibx/binding/**" | |
| source="1.8"> | |
| </javac> | |
| </target> | |
| <target name="build.jaxb.perf" if="jaxb.libdir.exists" depends="check.jaxb.libdir"> | |
| <mkdir dir="${build.dir}"/> | |
| <javac srcdir="${src.dir}" | |
| destdir="${build.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="jaxb.classpath" | |
| includes="org/apache/xmlbeans/test/performance/jaxb/**,org/apache/xmlbeans/test/performance/utils/**" | |
| source="1.8"> | |
| </javac> | |
| </target> | |
| <target name="build.jaxb2.perf" if="jaxb2.libdir.exists" depends="check.jaxb2.libdir"> | |
| <mkdir dir="${build.dir}"/> | |
| <javac srcdir="${src.dir}" | |
| destdir="${build.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="jaxb2.classpath" | |
| includes="org/apache/xmlbeans/test/performance/jaxb2/**,org/apache/xmlbeans/test/performance/utils/**" | |
| source="1.5"> | |
| </javac> | |
| </target> | |
| <target name="build.xerces.perf"> | |
| <mkdir dir="${build.dir}"/> | |
| <javac srcdir="${src.dir}" | |
| destdir="${build.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="xerces.classpath" | |
| includes="org/apache/xmlbeans/test/performance/xerces/**,org/apache/xmlbeans/test/performance/utils/**" | |
| source="1.8"> | |
| </javac> | |
| </target> | |
| <target name="build.parsers.perf" if="jaxb2.libdir.exists" depends="check.jaxb2.libdir"> | |
| <mkdir dir="${build.dir}"/> | |
| <javac srcdir="${src.dir}" | |
| destdir="${build.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="parsers.classpath" | |
| includes="org/apache/xmlbeans/test/performance/parsers/**,org/apache/xmlbeans/test/performance/utils/**" | |
| source="1.5"> | |
| </javac> | |
| </target> | |
| <!-- specific schema compile targets --> | |
| <target name="os.init"> | |
| <condition property="scomp" value="${svn.xmlbeans.root}\bin\scomp.cmd"> | |
| <os family="windows"/> | |
| </condition> | |
| <condition property="scomp" value="${svn.xmlbeans.root}/bin/scomp"> | |
| <os family="unix"/> | |
| </condition> | |
| <echo message="scomp variable=${scomp}"/> | |
| </target> | |
| <!-- svn schema jars --> | |
| <target name="svn.schema.jars"> | |
| <antcall target="svn.schema.build"> | |
| <param name="xsd.name" value="purchase-order.xsd"/> | |
| <param name="jar.name" value="svn-purchase-order.jar"/> | |
| </antcall> | |
| <antcall target="svn.schema.build"> | |
| <param name="xsd.name" value="primitives.xsd"/> | |
| <param name="jar.name" value="svn-primitives.jar"/> | |
| </antcall> | |
| <antcall target="svn.schema.build"> | |
| <param name="xsd.name" value="non-primitives.xsd"/> | |
| <param name="jar.name" value="svn-non-primitives.jar"/> | |
| </antcall> | |
| <antcall target="svn.schema.build"> | |
| <param name="xsd.name" value="perf-results.xsd"/> | |
| <param name="jar.name" value="perf-results.jar"/> | |
| </antcall> | |
| </target> | |
| <target name="svn.schema.build" depends="os.init"> | |
| <echo message="starting schema compilation with XmlBeans SVN "/> | |
| <echo message="Schema source file : ${test.case.dir}/xsd/${xsd.name}"/> | |
| <delete dir="${svn.temp.dir}" /> | |
| <mkdir dir="${svn.temp.dir}"/> | |
| <mkdir dir="${schema.jar.build.dir}"/> | |
| <!-- | |
| <chmod file="${svn.xmlbeans.root}/bin/scomp" perm="755"/> | |
| <exec dir="${svn.temp.dir}" | |
| executable="${scomp}" | |
| output="${svn.temp.dir}/scomp_output.txt"> | |
| <env key="XMLBEANS_HOME" value="${svn.xmlbeans.root}"/> | |
| <arg line="-out ${jar.name}"/> | |
| <arg line="${test.case.dir}/xsd/${xsd.name}"/> | |
| </exec> | |
| --> | |
| <java classname="org.apache.xmlbeans.impl.tool.SchemaCompiler" | |
| fork="true" | |
| dir="${xmlbeans.perf.root}" | |
| classpathref="svn.classpath"> | |
| <arg line="-out ${svn.temp.dir}/${jar.name}"/> | |
| <arg line="${test.case.dir}/xsd/${xsd.name}"/> | |
| </java> | |
| <copy file="${svn.temp.dir}/${jar.name}" todir="${schema.jar.build.dir}"/> | |
| <echo message="Schema comp output jar file : ${schema.jar.build.dir}/${jar.name}"/> | |
| <echo message="Schema comp output file : ${svn.temp.dir}/scomp_output.txt"/> | |
| <echo message="done"/> | |
| </target> | |
| <!-- v1 schema jars --> | |
| <target name="v1.schema.jars"> | |
| <antcall target="v1.schema.build"> | |
| <param name="xsd.name" value="purchase-order.xsd"/> | |
| <param name="jar.name" value="v1-purchase-order.jar"/> | |
| </antcall> | |
| <antcall target="v1.schema.build"> | |
| <param name="xsd.name" value="primitives.xsd"/> | |
| <param name="jar.name" value="v1-primitives.jar"/> | |
| </antcall> | |
| <antcall target="v1.schema.build"> | |
| <param name="xsd.name" value="non-primitives.xsd"/> | |
| <param name="jar.name" value="v1-non-primitives.jar"/> | |
| </antcall> | |
| </target> | |
| <target name="v1.schema.build" depends="os.init"> | |
| <echo message="starting schema compilation with XmlBeans v1"/> | |
| <echo message="Schema source file : ${test.case.dir}/xsd/${xsd.name}"/> | |
| <delete dir="${v1.temp.dir}" /> | |
| <mkdir dir="${v1.temp.dir}"/> | |
| <mkdir dir="${schema.jar.build.dir}"/> | |
| <java classname="org.apache.xmlbeans.impl.tool.SchemaCompiler" | |
| fork="true" | |
| dir="${xmlbeans.perf.root}" | |
| classpathref="v1.classpath"> | |
| <arg line="-out ${v1.temp.dir}/${jar.name}"/> | |
| <arg line="${test.case.dir}/xsd/${xsd.name}"/> | |
| </java> | |
| <copy file="${v1.temp.dir}/${jar.name}" todir="${schema.jar.build.dir}"/> | |
| <echo message="Schema comp output jar file : ${schema.jar.build.dir}/${jar.name}"/> | |
| </target> | |
| <!-- v2 schema jars --> | |
| <target name="v2.schema.jars"> | |
| <antcall target="v2.schema.build"> | |
| <param name="xsd.name" value="purchase-order.xsd"/> | |
| <param name="jar.name" value="v2-purchase-order.jar"/> | |
| </antcall> | |
| <antcall target="v2.schema.build"> | |
| <param name="xsd.name" value="primitives.xsd"/> | |
| <param name="jar.name" value="v2-primitives.jar"/> | |
| </antcall> | |
| <antcall target="v2.schema.build"> | |
| <param name="xsd.name" value="non-primitives.xsd"/> | |
| <param name="jar.name" value="v2-non-primitives.jar"/> | |
| </antcall> | |
| </target> | |
| <target name="v2.schema.build" depends="os.init"> | |
| <echo message="starting schema compilation with XmlBeans v2"/> | |
| <echo message="Schema source file : ${test.case.dir}/xsd/${xsd.name}"/> | |
| <delete dir="${v2.temp.dir}" /> | |
| <mkdir dir="${v2.temp.dir}"/> | |
| <mkdir dir="${schema.jar.build.dir}"/> | |
| <java classname="org.apache.xmlbeans.impl.tool.SchemaCompiler" | |
| fork="true" | |
| dir="${xmlbeans.perf.root}" | |
| classpathref="v2.classpath"> | |
| <arg line="-out ${v2.temp.dir}/${jar.name}"/> | |
| <arg line="${test.case.dir}/xsd/${xsd.name}"/> | |
| </java> | |
| <copy file="${v2.temp.dir}/${jar.name}" todir="${schema.jar.build.dir}"/> | |
| <echo message="Schema comp output jar file : ${schema.jar.build.dir}/${jar.name}"/> | |
| </target> | |
| <!-- castor schema jars --> | |
| <target name="castor.schema.jars"> | |
| <antcall target="castor.schema.build"> | |
| <param name="xsd.name" value="purchase-order.xsd"/> | |
| <param name="jar.name" value="castor-purchase-order.jar"/> | |
| <param name="ns" value="org.openuri.easypo"/> | |
| </antcall> | |
| <antcall target="castor.schema.build"> | |
| <param name="xsd.name" value="primitives.xsd"/> | |
| <param name="jar.name" value="castor-primitives.jar"/> | |
| <param name="ns" value="org.openuri.primitives"/> | |
| </antcall> | |
| <antcall target="castor.schema.build"> | |
| <param name="xsd.name" value="non-primitives.xsd"/> | |
| <param name="jar.name" value="castor-non-primitives.jar"/> | |
| <param name="ns" value="org.openuri.nonprimitives"/> | |
| </antcall> | |
| </target> | |
| <target name="castor.schema.build"> | |
| <echo message="starting schema compilation with Castor"/> | |
| <delete dir="${castor.temp.dir}" /> | |
| <mkdir dir="${castor.temp.dir}"/> | |
| <mkdir dir="${schema.jar.build.dir}"/> | |
| <java classname="org.exolab.castor.builder.SourceGenerator" | |
| fork="true" | |
| dir="${xmlbeans.perf.root}" | |
| classpathref="castor.classpath"> | |
| <arg line="-i ${test.case.dir}/xsd/${xsd.name}"/> | |
| <arg line="-package ${ns}"/> | |
| <arg line="-dest ${castor.temp.dir}"/> | |
| <arg line="-f"/> | |
| <arg line="-verbose"/> | |
| </java> | |
| <javac srcdir="${castor.temp.dir}" | |
| destdir="${castor.temp.dir}" | |
| debug="on" | |
| fork="true" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| source="1.8" | |
| classpathref="castor.classpath"/> | |
| <jar destfile="${schema.jar.build.dir}/${jar.name}" | |
| basedir="${castor.temp.dir}"/> | |
| </target> | |
| <!-- jibx schema jars --> | |
| <target name="jibx.schema.jars"> | |
| <echo message="starting schema compilation with jibx"/> | |
| <mkdir dir="${jibx.temp.dir}"/> | |
| <mkdir dir="${schema.jar.build.dir}"/> | |
| <javac srcdir="${src.dir}" | |
| destdir="${jibx.temp.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="jibx.binding.classpath" | |
| includes="org/apache/xmlbeans/test/performance/jibx/binding/**" | |
| excludes="org/apache/xmlbeans/test/performance/castor/**,org/apache/xmlbeans/test/performance/svn/**,org/apache/xmlbeans/test/performance/utils/**" | |
| source="1.8"> | |
| </javac> | |
| <java classname="org.jibx.binding.Compile" | |
| fork="true" | |
| dir="${xmlbeans.perf.root}" | |
| classpathref="jibx.binding.classpath"> | |
| <arg line="-v"/> | |
| <arg line="${test.case.dir}/xsd/purchase-order-jibxbinding.xml"/> | |
| </java> | |
| <jar destfile="${jibx-purchase-order.jar}" | |
| basedir="${jibx.temp.dir}"/> | |
| </target> | |
| <!-- jaxb schema jars --> | |
| <target name="jaxb.schema.jars" if="jaxb.libdir.exists" depends="check.jaxb.libdir"> | |
| <antcall target="jaxb.schema.build"> | |
| <param name="xsd.name" value="purchase-order.xsd"/> | |
| <param name="jar.name" value="jaxb-purchase-order.jar"/> | |
| <param name="ns" value="org.openuri.easypo"/> | |
| </antcall> | |
| <antcall target="jaxb.schema.build"> | |
| <param name="xsd.name" value="primitives.xsd"/> | |
| <param name="jar.name" value="jaxb-primitives.jar"/> | |
| <param name="ns" value="org.openuri.primitives"/> | |
| </antcall> | |
| <antcall target="jaxb.schema.build"> | |
| <param name="xsd.name" value="non-primitives.xsd"/> | |
| <param name="jar.name" value="jaxb-non-primitives.jar"/> | |
| <param name="ns" value="org.openuri.nonprimitives"/> | |
| </antcall> | |
| </target> | |
| <target name="check.jaxb.libdir"> | |
| <available property="jaxb.libdir.exists" | |
| file="${jaxb.dir}" type="dir" /> | |
| <fail message="JAXB installaton directory ${jaxb.dir} not found! FOR JAXB SETUP, DOWNLOAD AND INSTALL WSDP 1.6 IN [dir] (for ex c:\Sun\jwsdp-1.6) AND SET JAXB_LIBDIR IN YOUR ENVIRONMENT TO POINT TO [dir]." unless="jaxb.libdir.exists" /> | |
| </target> | |
| <target name="jaxb.schema.build"> | |
| <echo message="starting schema compilation with jaxb"/> | |
| <delete dir="${jaxb.temp.dir}" /> | |
| <mkdir dir="${jaxb.temp.dir}"/> | |
| <mkdir dir="${schema.jar.build.dir}"/> | |
| <java classname="com.sun.tools.xjc.Driver" | |
| fork="true" | |
| classpathref="jaxb.classpath" | |
| failonerror="true"> | |
| <arg line="-p ${ns}"/> | |
| <arg line="-d ${jaxb.temp.dir}"/> | |
| <arg line="${test.case.dir}/xsd/${xsd.name}"/> | |
| </java> | |
| <javac srcdir="${jaxb.temp.dir}" | |
| destdir="${jaxb.temp.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="jaxb.classpath" | |
| source="1.8"> | |
| </javac> | |
| <jar destfile="${schema.jar.build.dir}/${jar.name}" | |
| basedir="${jaxb.temp.dir}"/> | |
| </target> | |
| <!-- jaxb2 --> | |
| <target name="jaxb2.schema.jars" if="jaxb2.libdir.exists" depends="check.jaxb2.libdir"> | |
| <antcall target="jaxb2.schema.build"> | |
| <param name="xsd.name" value="purchase-order.xsd"/> | |
| <param name="jar.name" value="jaxb2-purchase-order.jar"/> | |
| <param name="ns" value="org.openuri.easypo.jaxb2"/> | |
| </antcall> | |
| <antcall target="jaxb2.schema.build"> | |
| <param name="xsd.name" value="primitives.xsd"/> | |
| <param name="jar.name" value="jaxb2-primitives.jar"/> | |
| <param name="ns" value="org.openuri.primitives.jaxb2"/> | |
| </antcall> | |
| <antcall target="jaxb2.schema.build"> | |
| <param name="xsd.name" value="non-primitives.xsd"/> | |
| <param name="jar.name" value="jaxb2-non-primitives.jar"/> | |
| <param name="ns" value="org.openuri.nonprimitives.jaxb2"/> | |
| </antcall> | |
| </target> | |
| <target name="check.jaxb2.libdir"> | |
| <available property="jaxb2.libdir.exists" | |
| file="${jaxb2.dir}" type="dir" /> | |
| <fail message="JAXB2 installaton directory ${jaxb2.dir} not found! FOR JAXB SETUP, DOWNLOAD JAXB2 RI from https://jaxb.dev.java.net/servlets/ProjectDocumentList?folderID=3074&expandFolder=3074&folderID=3074 IN [dir] (for ex c:\Sun\jaxb-ri-20050829) AND SET JAXB_LIBDIR IN YOUR ENVIRONMENT TO POINT TO [dir]." unless="jaxb2.libdir.exists" /> | |
| </target> | |
| <target name="jaxb2.schema.build"> | |
| <echo message="starting schema compilation with jaxb2"/> | |
| <delete dir="${jaxb2.temp.dir}" /> | |
| <mkdir dir="${jaxb2.temp.dir}"/> | |
| <mkdir dir="${schema.jar.build.dir}"/> | |
| <!-- define the xjc task here --> | |
| <!-- xjc does not work with ant 1.5 and hence doing it the usual way (its used in ith performance test infrastructure) | |
| <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask"> | |
| <classpath> | |
| <fileset dir="${jaxb2.dir}/lib" includes="*.jar"/> | |
| </classpath> | |
| </taskdef> | |
| <xjc schema="${test.case.dir}/xsd/${xsd.name}" target="${jaxb2.temp.dir}" package="${ns}"/> | |
| --> | |
| <java classname="com.sun.tools.xjc.Driver" | |
| fork="true" | |
| classpathref="jaxb2.classpath" | |
| failonerror="true"> | |
| <arg line="-p ${ns}"/> | |
| <arg line="-d ${jaxb2.temp.dir}"/> | |
| <arg line="${test.case.dir}/xsd/${xsd.name}"/> | |
| </java> | |
| <javac srcdir="${jaxb2.temp.dir}" | |
| destdir="${jaxb2.temp.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="jaxb2.classpath" | |
| source="1.5"> | |
| </javac> | |
| <jar destfile="${schema.jar.build.dir}/${jar.name}" | |
| basedir="${jaxb2.temp.dir}"/> | |
| </target> | |
| <!-- parser tests --> | |
| <target name="parsers.schema.jars" if="jaxb2.libdir.exists" depends="check.jaxb2.libdir, parsers.bootstrap"> | |
| <delete dir="${parsers.temp.dir}" /> | |
| <mkdir dir="${parsers.temp.dir}"/> | |
| <mkdir dir="${schema.jar.build.dir}"/> | |
| <antcall target="parsers.jaxb2.schema.build"> | |
| <param name="xsd.name" value="purchase-order.xsd"/> | |
| <param name="jar.name" value="parsers-jaxb2-purchase-order.jar"/> | |
| <param name="ns" value="perf.po"/> | |
| </antcall> | |
| <antcall target="parsers.svn.schema.build"> | |
| <param name="xsd.name" value="purchase-order.xsd"/> | |
| <param name="jar.name" value="parsers-svn-purchase-order.jar"/> | |
| <param name="ns" value="org.openuri.easypo"/> | |
| </antcall> | |
| <antcall target="parsers.svn.schema.build"> | |
| <param name="xsd.name" value="doc.xsd"/> | |
| <param name="jar.name" value="parsers-svn-doc.jar"/> | |
| </antcall> | |
| </target> | |
| <!-- add specific build targets for jaxb2 and svn - jars with new names and new temp directories --> | |
| <target name="parsers.jaxb2.schema.build"> | |
| <echo message="starting schema compilation with jaxb2"/> | |
| <!-- define the xjc task here --> | |
| <!-- xjc does not work with ant 1.5 | |
| <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask"> | |
| <classpath> | |
| <fileset dir="${jaxb2.dir}/lib" includes="*.jar"/> | |
| </classpath> | |
| </taskdef> | |
| <xjc schema="${test.case.dir}/xsd/${xsd.name}" target="${parsers.temp.dir}" package="${ns}"/> | |
| --> | |
| <java classname="com.sun.tools.xjc.Driver" | |
| fork="true" | |
| classpathref="parsers.classpath" | |
| failonerror="true"> | |
| <arg line="-p ${ns}"/> | |
| <arg line="-d ${parsers.temp.dir}"/> | |
| <arg line="${test.case.dir}/xsd/${xsd.name}"/> | |
| </java> | |
| <javac srcdir="${parsers.temp.dir}" | |
| destdir="${parsers.temp.dir}" | |
| debug="on" | |
| fork="yes" | |
| memoryMaximumSize="1000M" | |
| compiler="modern" | |
| executable="${env.JAVA_HOME}/bin/javac" | |
| classpathref="jaxb2.classpath" | |
| source="1.5"> | |
| </javac> | |
| <jar destfile="${schema.jar.build.dir}/${jar.name}" | |
| basedir="${parsers.temp.dir}"/> | |
| </target> | |
| <target name="parsers.svn.schema.build" depends="os.init"> | |
| <echo message="starting schema compilation with XmlBeans SVN "/> | |
| <echo message="Schema source file : ${test.case.dir}/xsd/${xsd.name}"/> | |
| <delete dir="${parsers.temp.dir}" /> | |
| <mkdir dir="${parsers.temp.dir}"/> | |
| <mkdir dir="${schema.jar.build.dir}"/> | |
| <java classname="org.apache.xmlbeans.impl.tool.SchemaCompiler" | |
| fork="true" | |
| dir="${xmlbeans.perf.root}" | |
| classpathref="svn.classpath"> | |
| <arg line="-out ${parsers.temp.dir}/${jar.name}"/> | |
| <arg line="${test.case.dir}/xsd/${xsd.name}"/> | |
| </java> | |
| <copy file="${parsers.temp.dir}/${jar.name}" todir="${schema.jar.build.dir}"/> | |
| <echo message="Schema comp output jar file : ${schema.jar.build.dir}/${jar.name}"/> | |
| <echo message="Schema comp output file : ${parsers.temp.dir}/scomp_output.txt"/> | |
| <echo message="done"/> | |
| </target> | |
| <!-- utility targets --> | |
| <target name="check.bootstrap.libs"> | |
| <echo message="Verifying 3rd Party libraries download ..." /> | |
| <available property="bootstrap.libdir.exists" | |
| file="${3rdparty.dir}" type="dir" /> | |
| <fail message="3rd Party Libraries not found! Please run 'ant bootstrap' to download these first." unless="bootstrap.libdir.exists" /> | |
| </target> | |
| <target name="check.xbeanshome"> | |
| <available property="xbeanshome.exists" | |
| file="${svn.xmlbeans.root}" type="dir" /> | |
| <fail message="Xmlbeans root ${svn.xmlbeans.root} not found! Please set XMLBEANS_HOME to the svn root directory." unless="xbeanshome.exists" /> | |
| </target> | |
| <target name="check.xbeansperfroot"> | |
| <available property="xbeansperfroor.exists" | |
| file="${xmlbeans.perf.root}" type="dir" /> | |
| <fail message="Xmlbeans root ${xmlbeans.perf.root} not found! Please run env.bat from XMLBEANS SVN HOME\test\perf " unless="xbeansperfroor.exists" /> | |
| </target> | |
| </project> |