Mega Code Archive

 
Categories / Java / Ant
 

XmlSchema ant script

<?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="XmlSchema" basedir="." default="jar">   <property name="src.dir" value="${basedir}/src/main/java"/>   <property name="project.name" value="XmlSchema"/>   <property name="output.jar" value="${project.name}.jar"/>   <property name="build.dir" value="${basedir}/build"/>   <property name="build_classes.dir" value="${build.dir}/classes"/>   <property name="build_lib.dir" value="${build.dir}/lib"/>   <property name="build_doc.dir" value="${build.dir}/apidoc"/>     <property name="dist.dir" value="${build.dir}/dist"/>   <property name="dist.zip" value="${project.name}.zip"/>   <property name="srcdist.zip" value="${project.name}-src.zip"/>   <property name="test.dir" value="${basedir}/src/test/java"/>   <property name="test_classes.dir" value="${build.dir}/test-classes"/>   <property name="test_reports.dir" value="${build.dir}/test-reports"/>   <property name="test_reports_w3c.dir" value="${build.dir}/test-reports-w3c"/>   <target name="setproxy" if="http.proxyhost">     <setproxy proxyhost="${http.proxyHost}" proxyport="${http.proxyPort}"/>   </target>   <target name="prepare" depends="setproxy">     <mkdir dir="${build_classes.dir}"/>     <mkdir dir="${build_lib.dir}"/>              <condition property="downloadLibs">         <not>           <available file="${build_lib.dir}/xmlunit-1.0.jar"/>         </not>       </condition>       <antcall target="get-deps"/>   </target>   <target name="get-deps" if="downloadLibs">     <get src="http://www.ibiblio.org/maven2/xmlunit/xmlunit/1.0/xmlunit-1.0.jar"          dest="${build_lib.dir}/xmlunit-1.0.jar"/>     <get src="http://mirrors.ibiblio.org/pub/mirrors/maven2/junit/junit/3.8.2/junit-3.8.2.jar"          dest="${build_lib.dir}/junit-3.8.2.jar"/>   </target>     <target name="prepare-tests">         <mkdir dir="${test_classes.dir}"/>         <mkdir dir="${test_reports.dir}"/>       <mkdir dir="${test_reports_w3c.dir}"/>              <antcall target="prepareNistTest"/>     </target>            <target name="prepareNistTest" unless="maven.test.skip">       <condition property="needsTestsDownload">         <not>           <available file="${build.dir}/xmlschema2002-01-16"/>         </not>       </condition>       <antcall target="get-xml-schema-tests"/>     </target>            <target name="get-xml-schema-tests" if="needsTestsDownload">       <echo>Downloading 6MB XML Schema test suite. This make take a few minutes...</echo>       <get dest="${build.dir}/xsts-2002-01-16.tar.gz"       src="http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2002-01-16/xsts-2002-01-16.tar.gz"/>       <untar src="${build.dir}/xsts-2002-01-16.tar.gz" compression="gzip" dest="${build.dir}"/>     </target>     <target name="compile" depends="prepare" description="compiles the src and puts it in build/classes">     <javac srcdir="${src.dir}" destdir="${build_classes.dir}" debug="true"                source="1.2" target="1.2"                deprecation="true">           <include name="**/*.java" />       </javac>     </target>     <target name="compile-tests" depends="prepare-tests, compile" description="compiles the tests and puts them in build/test-classes">     <javac srcdir="${test.dir}" destdir="${test_classes.dir}" debug="true"            deprecation="true">             <classpath>                 <pathelement location="${build_classes.dir}"/>               <fileset dir="${build_lib.dir}">                  <include name="*.jar" />               </fileset>             </classpath>           <include name="**/*.java" />       </javac>     </target>     <target name="test" depends="compile-tests" description="Runs the unit tests">         <junit printsummary="yes" haltonfailure="yes">             <classpath>                 <pathelement location="${build_classes.dir}"/>                 <pathelement location="${test_classes.dir}"/>               <fileset dir="${build_lib.dir}">                  <include name="*.jar" />               </fileset>             </classpath>             <formatter type="plain"/>             <batchtest todir="${test_reports.dir}">                 <fileset dir="${test.dir}">                     <include name="tests/*Test*.java"/>                     <include name="tests/w3c/TestW3CSchemaTestSet.java"/>                 </fileset>             </batchtest>           <sysproperty key="nistTestLocation"              value="${build.dir}/xmlschema2002-01-16/nisttest/NISTTestsAll"/>              </junit>     </target>      <target name="testw3c" depends="compile-tests" description="Runs the full bucket of W3C unit tests">         <junit printsummary="yes" haltonfailure="no">             <classpath>                 <pathelement location="${build_classes.dir}"/>                 <pathelement location="${test_classes.dir}"/>               <fileset dir="${build_lib.dir}">                  <include name="*.jar" />               </fileset>             </classpath>             <formatter type="plain"/>             <batchtest todir="${test_reports_w3c.dir}">                 <fileset dir="${test.dir}">                     <include name="tests/w3c/TestW3CSchemaBucket.java"/>                 </fileset>             </batchtest>         </junit>     </target>     <target name="jar" depends="compile, test" description="compiles the src and creates XmlSchema.jar in  build/lib">         <jar jarfile="${build_lib.dir}/${output.jar}" compress="true" basedir="${build_classes.dir}"/>     </target>     <target name="javadoc" depends="compile" description="Javadoc for Xml Schema API.">         <mkdir dir="${build_doc.dir}"/>         <javadoc packagenames="org.apache.axis.xsd.*"                   destdir="${build.dir}/apidoc"                   windowtitle="${project.name} API"                  doctitle="${project.name}"            bottom="Copyright &#169;  Apache XML Schema Project. All Rights Reserved.">             <classpath>                 <pathelement location="${build_classes.dir}"/>             </classpath>             <sourcepath>                 <pathelement location="${src.dir}"/>             </sourcepath>         </javadoc>     </target>     <target name="clean" description="Clean all build products.">         <delete dir="${build.dir}"/>     </target>   <target name="dist" depends="jar,javadoc" description="Creates a binary distribution(XmlSchema.zip) in build/dist">       <mkdir dir="${dist.dir}"/>     <zip zipfile="${dist.dir}/${dist.zip}">         <zipfileset dir="${build_lib.dir}" prefix="${project.name}/lib"/>         <zipfileset dir="${build_doc.dir}" prefix="${project.name}/doc"/>     </zip>     </target>   <target name="srcdist" depends="compile" description="Creates a source distribution(XmlSchema-src.zip) in build/dist">       <mkdir dir="${dist.dir}"/>     <zip zipfile="${dist.dir}/${srcdist.zip}">         <zipfileset dir="${basedir}" includes="build.xml" prefix="${project.name}"/>       <zipfileset dir="${src.dir}" prefix="${project.name}/src"/>     </zip>     </target>    </project>