blob: c45a3c80d63d3f40342027e716028edb74ccfa88 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Based on maven generated file on date October 1 2005
Added overview to javadoc
Include license in jar
Changed dist target and structure
-->
<project default="jar" name="commons-io" basedir=".">
<!--Load local and user build preferences-->
<property file="build.properties">
</property>
<property file="${user.home}/build.properties">
</property>
<!--Build properties-->
<property name="defaulttargetdir" value="${basedir}/build">
</property>
<property name="libdir" value="${user.home}/.maven/repository">
</property>
<property name="classesdir" value="${basedir}/build/classes" />
<property name="srcdir" value="${basedir}/build/src" />
<property name="testclassesdir" value="${basedir}/build/test-classes">
</property>
<property name="testreportdir" value="${basedir}/build/test-reports">
</property>
<property name="final.name" value="commons-io-1.3-SNAPSHOT" />
<property name="dist.build.dir" value="${basedir}/build/dist-build" />
<property name="dist.bin" value="${dist.build.dir}/${final.name}" />
<property name="dist.src" value="${dist.build.dir}/${final.name}-src" />
<property name="javadocdir" value="${dist.bin}/docs" />
<property name="dist.zip.dir" value="${basedir}/build/dist" />
<property name="dist.bin.tar.name" value="${basedir}/build/dist/${final.name}.tar" />
<property name="dist.bin.gz.name" value="${basedir}/build/dist/${final.name}.tar.gz" />
<property name="dist.bin.zip.name" value="${basedir}/build/dist/${final.name}.zip" />
<property name="dist.src.tar.name" value="${basedir}/build/dist/${final.name}-src.tar" />
<property name="dist.src.gz.name" value="${basedir}/build/dist/${final.name}-src.tar.gz" />
<property name="dist.src.zip.name" value="${basedir}/build/dist/${final.name}-src.zip" />
<property name="proxy.host" value="">
</property>
<property name="proxy.port" value="">
</property>
<property name="proxy.username" value="">
</property>
<property name="proxy.password" value="">
</property>
<path id="build.classpath">
</path>
<target name="init" description="o Initializes some properties">
<mkdir dir="${libdir}">
</mkdir>
<condition property="noget">
<equals arg2="only" arg1="${build.sysclasspath}">
</equals>
</condition>
<!--Test if JUNIT is present in ANT classpath-->
<available property="Junit.present" classname="junit.framework.Test">
</available>
<!--Test if user defined a proxy-->
<condition property="useProxy">
<and>
<isset property="proxy.host">
</isset>
<not>
<equals trim="true" arg2="" arg1="${proxy.host}">
</equals>
</not>
</and>
</condition>
</target>
<target name="compile" description="o Compile the code" depends="get-deps">
<mkdir dir="${classesdir}">
</mkdir>
<javac destdir="${classesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html">
<src>
<pathelement location="${basedir}/src/java">
</pathelement>
</src>
<classpath refid="build.classpath">
</classpath>
</javac>
<mkdir dir="${classesdir}/META-INF" />
<copy todir="${classesdir}/META-INF">
<fileset dir="${basedir}/.">
<include name="LICENSE.txt" />
<include name="NOTICE.txt" />
</fileset>
</copy>
</target>
<target name="jar" description="o Create the jar" depends="compile,test">
<jar jarfile="${defaulttargetdir}/${final.name}.jar" excludes="**/*.html" basedir="${classesdir}" manifest="${basedir}/src/conf/MANIFEST.MF" />
</target>
<target name="dist-jar" depends="compile">
<jar jarfile="${defaulttargetdir}/${final.name}.jar" excludes="**/*.html" basedir="${classesdir}" manifest="${basedir}/src/conf/MANIFEST.MF" />
<copy todir="${srcdir}">
<fileset dir="${basedir}/src/java" includes="**/*.java" />
</copy>
<copy todir="${srcdir}/META-INF">
<fileset dir="${basedir}" includes="LICENSE*, NOTICE*" />
</copy>
<jar jarfile="${defaulttargetdir}/${final.name}-src-ide.zip" basedir="${srcdir}" />
<antcall target="internal-md5">
<param name="path" value="${defaulttargetdir}/${final.name}.jar"/>
</antcall>
</target>
<target name="clean" description="o Clean up the generated directories">
<delete dir="${defaulttargetdir}">
</delete>
<delete dir="${dist.bin}">
</delete>
</target>
<target name="dist" description="o Create a distribution" depends="dist-jar, dist-existing-jar">
</target>
<target name="dist-existing-jar" depends="javadoc">
<!-- this is used in a release where the jar is built on JDK1.3 -->
<!-- but the javadoc is built on JDK1.4 -->
<mkdir dir="${dist.bin}" />
<mkdir dir="${dist.zip.dir}" />
<!-- Binary -->
<copy todir="${dist.bin}">
<fileset dir="${defaulttargetdir}" includes="*.jar,*.zip" />
<fileset dir="${basedir}" includes="LICENSE*, NOTICE*, README*, RELEASE-NOTES*" />
</copy>
<!-- Unix tar gz binary -->
<fixcrlf srcdir="${dist.bin}" eol="lf" includes="*.txt" />
<tar longfile="gnu" tarfile="${dist.bin.tar.name}">
<tarfileset dir="${dist.build.dir}"/>
</tar>
<gzip zipfile="${dist.bin.gz.name}" src="${dist.bin.tar.name}"/>
<antcall target="internal-md5">
<param name="path" value="${dist.bin.gz.name}"/>
</antcall>
<delete file="${dist.bin.tar.name}" />
<!-- Windows zip binary -->
<fixcrlf srcdir="${dist.bin}" eol="crlf" includes="*.txt" />
<zip zipfile="${dist.bin.zip.name}" >
<zipfileset dir="${dist.build.dir}"/>
</zip>
<antcall target="internal-md5">
<param name="path" value="${dist.bin.zip.name}"/>
</antcall>
<!-- Source -->
<delete dir="${dist.bin}" />
<copy todir="${dist.src}">
<fileset dir="${defaulttargetdir}" includes="*.jar" />
<fileset dir="${basedir}" includes="LICENSE*, NOTICE*, README*, RELEASE-NOTES*, build.xml, checkstyle.xml, maven.xml, project.properties, project.xml" />
<fileset dir="${basedir}" includes="xdocs/**, src/**" />
</copy>
<!-- Unix tar gz source -->
<fixcrlf srcdir="${dist.src}" eol="lf" includes="*.txt,*.xml,*.css,*.properties" />
<tar longfile="gnu" tarfile="${dist.src.tar.name}">
<tarfileset dir="${dist.build.dir}"/>
</tar>
<gzip zipfile="${dist.src.gz.name}" src="${dist.src.tar.name}"/>
<antcall target="internal-md5">
<param name="path" value="${dist.src.gz.name}"/>
</antcall>
<delete file="${dist.src.tar.name}" />
<!-- Windows zip source -->
<fixcrlf srcdir="${dist.src}" eol="crlf" includes="*.txt,*.xml,*.css,*.properties" />
<zip zipfile="${dist.src.zip.name}" >
<zipfileset dir="${dist.build.dir}"/>
</zip>
<antcall target="internal-md5">
<param name="path" value="${dist.src.zip.name}"/>
</antcall>
<!-- POM -->
<copy file="project.xml" tofile="${defaulttargetdir}/${final.name}.pom" />
<antcall target="internal-md5">
<param name="path" value="${defaulttargetdir}/${final.name}.pom"/>
</antcall>
<!-- Tidy -->
<delete dir="${dist.build.dir}" />
</target>
<target name="internal-md5">
<basename property="_base" file="${path}"/>
<checksum file="${path}" property="md5"/>
<echo message="${md5} *${_base}" file="${path}.md5"/>
</target>
<target name="test" description="o Run the test cases" if="test.failure" depends="internal-test">
<fail message="There were test failures." />
</target>
<target name="internal-test" if="Junit.present" depends="junit-present,compile-tests">
<mkdir dir="${testreportdir}">
</mkdir>
<junit dir="${basedir}" failureproperty="test.failure" printSummary="yes" fork="true" haltonerror="true">
<sysproperty key="basedir" value="." />
<formatter type="plain" />
<formatter usefile="false" type="plain" />
<classpath>
<path refid="build.classpath" />
<pathelement path="${testclassesdir}" />
<pathelement path="${classesdir}" />
</classpath>
<batchtest todir="${testreportdir}">
<fileset dir="${basedir}/src/test">
<include name="**/*Test*" />
<exclude name="**/*AbstractTestCase*" />
<exclude name="**/AllIOTestSuite*" />
<exclude name="**/PackageTestSuite*" />
<exclude name="**/testtools/**" />
</fileset>
</batchtest>
</junit>
</target>
<target name="testjar" description="o Run the test cases against the jar" if="test.failure" depends="internal-testjar">
<fail message="There were test failures." />
</target>
<target name="internal-testjar" if="Junit.present" depends="junit-present,compile-tests">
<mkdir dir="${testreportdir}">
</mkdir>
<junit dir="${basedir}" failureproperty="test.failure" printSummary="yes" fork="true" haltonerror="true">
<sysproperty key="basedir" value="." />
<formatter type="plain" />
<formatter usefile="false" type="plain" />
<classpath>
<path refid="build.classpath" />
<pathelement path="${testclassesdir}" />
<pathelement location="${defaulttargetdir}/${final.name}.jar"/>
</classpath>
<batchtest todir="${testreportdir}">
<fileset dir="${basedir}/src/test">
<include name="**/*Test*" />
<exclude name="**/*AbstractTestCase*" />
<exclude name="**/AllIOTestSuite*" />
<exclude name="**/PackageTestSuite*" />
<exclude name="**/testtools/**" />
</fileset>
</batchtest>
</junit>
</target>
<target name="junit-present" unless="Junit.present" depends="init">
<echo>================================= WARNING ================================</echo>
<echo>Junit isn't present in your ${ANT_HOME}/lib directory. Tests not executed.</echo>
<echo>==========================================================================</echo>
</target>
<target name="compile-tests" if="Junit.present" depends="junit-present,compile">
<mkdir dir="${testclassesdir}">
</mkdir>
<javac destdir="${testclassesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html">
<src>
<pathelement location="${basedir}/src/test">
</pathelement>
</src>
<classpath>
<path refid="build.classpath">
</path>
<pathelement path="${classesdir}">
</pathelement>
</classpath>
</javac>
</target>
<target name="javadoc" description="o Generate javadoc" depends="get-deps">
<mkdir dir="${javadocdir}">
</mkdir>
<tstamp>
<format pattern="2002-yyyy" property="year">
</format>
</tstamp>
<property name="copyright" value="Copyright &amp;copy; The Apache Software Foundation. All Rights Reserved.">
</property>
<property name="title" value="IO 1.2">
</property>
<javadoc use="true" private="true" destdir="${javadocdir}" author="true" version="true" sourcepath="${basedir}/src/java" packagenames="org.apache.commons.io.*" overview="src/java/org/apache/commons/io/overview.html">
<classpath>
<path refid="build.classpath">
</path>
</classpath>
</javadoc>
</target>
<target name="get-deps" unless="noget">
</target>
<target name="setProxy" if="useProxy" depends="init">
<!--Proxy settings works only with a JDK 1.2 and higher.-->
<echo>Proxy used :</echo>
<echo>Proxy host [${proxy.host}]</echo>
<echo>Proxy port [${proxy.port}]</echo>
<echo>Proxy user [${proxy.username}]</echo>
<setproxy proxyuser="${proxy.username}" proxyport="${proxy.port}" proxypassword="${proxy.password}" proxyhost="${proxy.host}">
</setproxy>
</target>
<target name="noProxy" unless="useProxy" depends="init">
<echo>Proxy not used.</echo>
</target>
<target name="install-maven">
<get dest="${user.home}/maven-install-latest.jar" usetimestamp="true" src="${repo}/maven/maven-install-latest.jar">
</get>
<unjar dest="${maven.home}" src="${user.home}/maven-install-latest.jar">
</unjar>
</target>
<!-- ====================================================================== -->
<target name="clirr">
<taskdef resource="clirrtask.properties">
<classpath path="../clirr/clirr-core-0.6-uber.jar;" />
</taskdef>
<clirr>
<origfiles dir="${libdir}/commons-io/jars" includes="commons-io-1.1.jar"/>
<newfiles dir="${defaulttargetdir}" includes="${final.name}.jar" />
<formatter type="plain" outfile="${defaulttargetdir}/clirr.txt" />
</clirr>
</target>
</project>