|
Ant example source code file (multimap.xml)
The multimap.xml source code<?xml version="1.0"?> <project name="test" basedir="."> <path id="testclasses"> <pathelement location="../../../../build/testcases" /> <pathelement path="${java.class.path}" /> </path> <mapper id="testmapper" classname="org.apache.tools.ant.taskdefs.MultiMapTest$TestMapper" classpathref="testclasses"/> <property name="map.ext" value=".copy2"/> <property name="rootScratchDir" value="test_multi_mapper_scratch_area"/> <property name="baseScratchSrc" value="${rootScratchDir}/src"/> <property name="baseScratchDest" value="${rootScratchDir}/dest"/> <target name="setup"> <delete dir="${baseScratchSrc}"/> <mkdir dir="${baseScratchSrc}"/> <delete dir="${baseScratchDest}"/> <mkdir dir="${baseScratchDest}"/> <touch file="${baseScratchSrc}/somefile.txt"/> </target> <!-- test simple single file to multiple file move --> <target name="multicopy" depends="setup"> <copy todir="${baseScratchDest}" enablemultiplemappings="true"> <fileset dir="${baseScratchSrc}" includes="somefile.txt"/> <mapper refid="testmapper"/> </copy> <condition property="multicopy.outcome"> <and> <available file="${baseScratchDest}/somefile.txt"/> <available file="${baseScratchDest}/somefile.txt${map.ext}"/> </and> </condition> <fail unless="multicopy.outcome">multicopy failed </target> <target name="multimove" depends="setup"> <move todir="${baseScratchDest}" enablemultiplemappings="true"> <fileset dir="${baseScratchSrc}" includes="somefile.txt"/> <mapper refid="testmapper"/> </move> <condition property="test2.outcome"> <and> <available file="${baseScratchDest}/somefile.txt"/> <available file="${baseScratchDest}/somefile.txt${map.ext}"/> <not> <available file="${baseScratchSrc}/somefile.txt"/> </not> <not> <available file="${baseScratchSrc}/somefile.txt${map.ext}"/> </not> </and> </condition> <fail unless="test2.outcome">mulitmove failed </target> <!-- test traditional single file to single file copy explicitly telling task to ignore multiple mappings --> <target name="singlecopy" depends="setup"> <copy todir="${baseScratchDest}" enablemultiplemappings="false"> <fileset dir="${baseScratchSrc}" includes="somefile.txt"/> <mapper refid="testmapper"/> </copy> <condition property="singlecopy.outcome"> <and> <available file="${baseScratchDest}/somefile.txt"/> <not> <available file="${baseScratchDest}/somefile.txt${map.ext}"/> </not> <available file="${baseScratchSrc}/somefile.txt"/> </and> </condition> <fail unless="singlecopy.outcome">singlecopy failed </target> <target name="singlemove" depends="setup"> <move todir="${baseScratchDest}" enablemultiplemappings="false"> <fileset dir="${baseScratchSrc}" includes="somefile.txt"/> <mapper refid="testmapper"/> </move> <condition property="singlemove.outcome"> <and> <available file="${baseScratchDest}/somefile.txt"/> <not> <available file="${baseScratchDest}/somefile.txt${map.ext}"/> </not> <not> <available file="${baseScratchSrc}/somefile.txt"/> </not> </and> </condition> <fail unless="singlemove.outcome">singlemove failed </target> <!-- test dir w/ file + empty dir multimap copy --> <target name="copywithempty"> <delete dir="${baseScratchSrc}"/> <mkdir dir="${baseScratchSrc}/dirwithfile"/> <mkdir dir="${baseScratchSrc}/emptydir"/> <touch file="${baseScratchSrc}/dirwithfile/somefile.txt"/> <delete dir="${baseScratchDest}"/> <mkdir dir="${baseScratchDest}"/> <copy todir="${baseScratchDest}" enablemultiplemappings="true"> <fileset dir="${baseScratchSrc}" includes="**/*"/> <mapper refid="testmapper"/> </copy> <condition property="copywithempty.outcome"> <and> <available file="${baseScratchDest}/dirwithfile"/> <available file="${baseScratchDest}/dirwithfile${map.ext}"/> <available file="${baseScratchDest}/dirwithfile/somefile.txt"/> <available file="${baseScratchDest}/dirwithfile/somefile.txt${map.ext}"/> <not> <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt"/> </not> <not> <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt${map.ext}"/> </not> <available file="${baseScratchDest}/emptydir"/> <available file="${baseScratchDest}/emptydir${map.ext}"/> </and> </condition> <fail unless="copywithempty.outcome">copywithempty failed </target> <!-- test dir w/ file + empty dir multimap move --> <target name="movewithempty"> <delete dir="${baseScratchSrc}"/> <mkdir dir="${baseScratchSrc}/dirwithfile"/> <mkdir dir="${baseScratchSrc}/emptydir"/> <touch file="${baseScratchSrc}/dirwithfile/somefile.txt"/> <delete dir="${baseScratchDest}"/> <mkdir dir="${baseScratchDest}"/> <move todir="${baseScratchDest}" enablemultiplemappings="true"> <fileset dir="${baseScratchSrc}" includes="**/*"/> <mapper refid="testmapper"/> </move> <condition property="movewithempty.outcome"> <and> <available file="${baseScratchDest}/dirwithfile"/> <available file="${baseScratchDest}/dirwithfile${map.ext}"/> <available file="${baseScratchDest}/dirwithfile/somefile.txt"/> <available file="${baseScratchDest}/dirwithfile/somefile.txt${map.ext}"/> <not> <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt"/> </not> <not> <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt${map.ext}"/> </not> <available file="${baseScratchDest}/emptydir"/> <available file="${baseScratchDest}/emptydir${map.ext}"/> <not> <available file="${baseScratchSrc}/dirwithfile"/> </not> <not> <available file="${baseScratchSrc}/emptydir"/> </not> </and> </condition> <fail unless="movewithempty.outcome">movewithempty failed </target> <target name="cleanup"> <delete dir="${rootScratchDir}"/> </target> </project> Other Ant examples (source code examples)Here is a short list of links related to this Ant multimap.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.