|
Ant example source code file (length.xml)
The length.xml source code
<project name="length">
<property name="dir" location="lengthtestdir" />
<property name="dir.a" location="${dir}/a" />
<property name="dir.b" location="${dir}/b" />
<property name="zipfile" location="lengthtest.zip" />
<target name="init">
<mkdir dir="${dir.a}" />
<mkdir dir="${dir.b}" />
<property name="foo" location="${dir.a}/foo" />
<property name="bar" location="${dir.b}/bar" />
<echo file="${foo}" message="foo" />
<echo file="${bar}" message="bar" />
</target>
<target name="testEach" depends="init">
<length mode="each" property="length.each">
<fileset id="fs" dir="${dir}" />
</length>
<length string="${length.each}" property="length.length.each" />
<length string="${foo}${bar}........${line.separator}"
property="length.expected" />
<fail>
<!-- test that both files are represented, and that the
output is the expected length; do not assume order. -->
<condition>
<not>
<and>
<contains string="${length.each}" substring="${foo} : 3" />
<contains string="${length.each}" substring="${bar} : 3" />
<equals arg1="${length.length.each}" arg2="${length.expected}" />
</and>
</not>
</condition>
</fail>
</target>
<target name="testEachCondition" depends="init">
<length mode="each" property="length.each">
<fileset id="fs" dir="${dir}" />
</length>
<length string="${foo}${bar}........${line.separator}"
property="length.expected" />
<fail>
<!-- test that both files are represented, and that the
output is the expected length; do not assume order. -->
<condition>
<not>
<and>
<contains string="${length.each}" substring="${foo} : 3" />
<contains string="${length.each}" substring="${bar} : 3" />
<length string="${length.each}" length="${length.expected}" />
</and>
</not>
</condition>
</fail>
</target>
<target name="testAll" depends="init">
<length property="length.all">
<fileset id="foo" file="${dir.a}/foo" />
<fileset id="bar" file="${dir.b}/bar" />
</length>
<fail>
<condition>
<not>
<equals arg1="6" arg2="${length.all}" />
</not>
</condition>
</fail>
</target>
<target name="testAllCondition" depends="init">
<fail>
<condition>
<not>
<length length="6">
<fileset id="foo" file="${dir.a}/foo" />
<fileset id="bar" file="${dir.b}/bar" />
</length>
</not>
</condition>
</fail>
</target>
<target name="testFile" depends="init">
<length property="length.foo" file="${dir.a}/foo" />
<fail>
<condition>
<not>
<equals arg1="3" arg2="${length.foo}" />
</not>
</condition>
</fail>
</target>
<target name="testFileCondition" depends="init">
<fail>
<condition>
<not>
<length length="3" file="${dir.a}/foo" />
</not>
</condition>
</fail>
</target>
<target name="testBoth" depends="init">
<length property="length.foo" file="${dir.a}/foo">
<fileset file="${dir.b}/bar" />
</length>
<fail>
<condition>
<not>
<equals arg1="6" arg2="${length.foo}" />
</not>
</condition>
</fail>
</target>
<target name="testBothCondition" depends="init">
<fail>
<condition>
<not>
<length length="6" file="${dir.a}/foo">
<fileset file="${dir.b}/bar" />
</length>
</not>
</condition>
</fail>
</target>
<target name="testDupes" depends="init">
<length property="length.foo" file="${dir.a}/foo">
<fileset dir="${dir}" />
</length>
<fail>
<condition>
<not>
<equals arg1="9" arg2="${length.foo}" />
</not>
</condition>
</fail>
</target>
<target name="testDupesCondition" depends="init">
<fail>
<condition>
<not>
<length length="9" file="${dir.a}/foo">
<fileset dir="${dir}" />
</length>
</not>
</condition>
</fail>
</target>
<target name="testString">
<length string="foo" property="length.string" />
<fail>
<condition>
<not>
<equals arg1="3" arg2="${length.string}" />
</not>
</condition>
</fail>
</target>
<target name="testStringCondition">
<fail>
<condition>
<not>
<length string="foo" length="3" />
</not>
</condition>
</fail>
</target>
<target name="testTrimString">
<length string=" foo " trim="true" property="length.string" />
<fail>
<condition>
<not>
<equals arg1="3" arg2="${length.string}" />
</not>
</condition>
</fail>
</target>
<target name="testTrimStringCondition">
<fail>
<condition>
<not>
<length string=" foo " trim="true" length="3" />
</not>
</condition>
</fail>
</target>
<target name="testNoTrimString">
<length string=" foo " property="length.string" />
<fail>
<condition>
<not>
<equals arg1="5" arg2="${length.string}" />
</not>
</condition>
</fail>
</target>
<target name="testNoTrimStringCondition">
<fail>
<condition>
<not>
<length string=" foo " length="5" />
</not>
</condition>
</fail>
</target>
<target name="testTrimFile" description="should fail">
<length file="${ant.file}" trim="false" />
</target>
<target name="testStringFile" description="should fail">
<length string="foo" file="${ant.file}" />
</target>
<target name="testImmutable">
<length string="foo" property="length.string" />
<length string="foobar" property="length.string" />
<fail>
<condition>
<not>
<equals arg1="3" arg2="${length.string}" />
</not>
</condition>
</fail>
</target>
<target name="zip" depends="init">
<zip destfile="${zipfile}">
<fileset file="${foo}" />
<fileset file="${bar}" />
</zip>
</target>
<target name="testZipFileSet" depends="zip">
<length property="length.zipfile1">
<zipfileset src="${zipfile}" />
</length>
<length property="length.zipfile2">
<zipfileset src="${zipfile}" includes="bar" />
</length>
<fail>
<condition>
<not>
<and>
<equals arg1="6" arg2="${length.zipfile1}" />
<equals arg1="3" arg2="${length.zipfile2}" />
</and>
</not>
</condition>
</fail>
</target>
<target name="testZipFileSetCondition" depends="zip">
<fail>
<condition>
<not>
<and>
<length length="6">
<zipfileset src="${zipfile}" />
</length>
<length length="3">
<zipfileset src="${zipfile}" includes="bar" />
</length>
</and>
</not>
</condition>
</fail>
</target>
<target name="cleanup">
<delete dir="${dir}" />
<delete file="${zipfile}" />
</target>
</project>
Other Ant examples (source code examples)Here is a short list of links related to this Ant length.xml source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.