Hmm... if all he wanted was to select build.xml where a project.properties lives alongside, the following seems to work for me:
<fileset dir="${basedir}" includes="*/build.xml"> <present targetdir="${basedir}"> <mapper type="glob" from="*/build.xml" to="*/project.properties" /> </present> </fileset> -Matt --- [EMAIL PROTECTED] wrote: > I think the easiest possibility is using a > <scriptselector>: > > <scriptselector language="javascript"> > if (file.isDirectory()) { > markerName = > project.getProperty("markerfile"); > markerFile = new java.io.File(file, > markerName); > self.setSelected( markerFile.exists() ); > } > </scriptselector> > > I've created an AntUnit test ... > > > Jan > > > > > > ---8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<---- > <project xmlns:au="antlib:org.apache.ant.antunit" > default="suite"> > <description> > Select only directories which contain a > marker file. > </description> > > > <property name="workingdir" value="working"/> > <property name="markerfile" value=".marker"/> > > > <target name="setUp"> > <!-- Create a small directory structure --> > <mkdir > dir="${workingdir}/dir1/dir11/dir111"/> > <mkdir > dir="${workingdir}/dir1/dir11/dir112"/> > <mkdir dir="${workingdir}/dir2/dir22"/> > <!-- Mark some of them --> > <macrodef name="mark"> > <attribute name="dir"/> > <sequential> > <touch > file="${workingdir}/@{dir}/${markerfile}"/> > </sequential> > </macrodef> > <mark dir="dir1/dir11/dir112"/> > <mark dir="dir2/dir22"/> > <mark dir="dir2"/> > <!-- The dirset which contains only marked > directories --> > <dirset id="dirset" dir="${workingdir}"> > <scriptselector language="javascript"> > if (file.isDirectory()) { > markerName = > project.getProperty("markerfile"); > markerFile = new > java.io.File(file, markerName); > self.setSelected( > markerFile.exists() ); > } > </scriptselector> > </dirset> > <!-- Ensure we have a platform independend > output format (in contrast to ${tostring:dirset} --> > <pathconvert property="selected" dirsep="/" > pathsep="${line.separator}"> > <path><dirset refid="dirset"/></path> > </pathconvert> > <!-- Log the dirset so we can make some > assertions --> > <echo>${selected}</echo> > <echo file="log.txt">${selected}</echo> > </target> > > <target name="tearDown"> > <delete dir="${workingdir}"/> > </target> > > <target name="suite"> > <au:antunit> > <file file="${ant.file}"/> > <au:plainlistener/> > </au:antunit> > </target> > > <target name="test-1-11-112-marked"> > <au:assertLogContains > text="dir1/dir11/dir112${line.separator}"/> > </target> > > <target name="test-1-11-111-notmarked"> > <au:assertLogDoesntContain > text="dir1/dir11/dir111${line.separator}"/> > </target> > > <target name="test-2-marked"> > <au:assertLogContains > text="dir2${line.separator}"/> > </target> > > <target name="test-1-notmarked"> > <au:assertLogDoesntContain > text="dir1${line.separator}"/> > </target> > > </project> > ---8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<---- > > > > > -----Ursprüngliche Nachricht----- > > Von: Dominique Devienne > [mailto:[EMAIL PROTECTED] > > Gesendet: Donnerstag, 29. November 2007 20:22 > > An: Ant Users List > > Betreff: Re: AW: Alternative to subant > > > > On Nov 29, 2007 12:40 PM, Francisco Tolmasky > > <[EMAIL PROTECTED]> wrote: > > > Is there any way to say: > > > "Use the build file in the directory if the > directory > > contains a properties file?" > > > > I would have thought it to be possible with > selectors and a mapper, > > but I don't see how do it in practice. I thought I > used to do > > something like this... > > > > Note that > > > http://ant.apache.org/manual/CoreTypes/resources.html#restrict > > could be the solution, but I'm not very familiar > with the new Resource > > Collection framework, as I have no practical > experience with it. > > > > I think Jan or Matt will know though ;-) --DD > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > ____________________________________________________________________________________ Get easy, one-click access to your favorites. Make Yahoo! your homepage. http://www.yahoo.com/r/hs --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]