A simpler way is to do the following: <length property="num.files"> <fileset dir="dir-to-check" followsymlinks="false"/> </length>
OR if using it inside of <condition> or <if>: <if> <length length="0" when="greater"> <fileset dir="dir-to-check" followsymlinks="false"/> </length> <then> <!-- Code to execute when more than 1 file is present --> </then> <else> <!-- code to execute when dir is empty --> </else> </if> One note, but this might not work too well on older ant versions. <length> was added as a condition in ant 1.6.3 and I have had some issues with 1.6.5. Hope that helps. James -----Original Message----- From: David Weintraub [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 18, 2007 9:37 AM To: Ant Users List Subject: Re: Simple if/else Condition That's what I get for answering mail past midnight after my brain goes to sleep. I mean "target" and not "task". Hmmm. How to tell whether a directory is empty... You could do this: <delete dir="mydirectory"/> <mkdir dir="mydirectory"/> Then, the answer will be yes. No good. I haven't tried this, but it might work: 1). Create a Path that contains the files in the directory you want to test. <path id="testpath"> <fileset dir="mydirectory"/> </path> 2). Convert the path to a property: <property name="myproperty" refid="testpath"/> 3). Now compare that property to an empty string <condition property="is_directory_empty"> <isequal arg1="${myproperty}" arg2="" trim="true"/> </condition> The theory is that if there are no files in the directory, then the PATH will be empty. On 7/18/07, Evan J <[EMAIL PROTECTED]> wrote: > Thank you Qazwart, except that we don't have `task' task but rather > `target' for antcall. Either way, it should get the job done. > > Now I have to figure out to see how I can check whether a directory > (and its subdirectories) are empty -- Length doesn't help. > > On 7/18/07, Qazwart <[EMAIL PROTECTED]> wrote: > > > > On Jul 17, 2007, at 11:18 PM, Evan J wrote: > > > if (condition) > > > perform some task, i.e. echo message="condition met" > > > else > > > perform another task > > > > Check out the AntContrib tasks at <http://ant-contrib.sourceforge.net/ > > tasks/tasks/index.html>. > > There is actually an <if> ant task at <http://ant- > > contrib.sourceforge.net/tasks/tasks/if.html>. I've used it quite > > successfully with Ant 1.7. > > > > If you don't want to use optional tasks, you can use the <condition> > > task like this to emulate an <if><else> task: > > > > <condition > > property="os_is_windows" > > value="true"> > > <os family="windows"/> > > </condition> > > <antcall task="windows_task"/> > > <antcall task="unix_task"/> > > > > <task name="windows_task if="os_is_windows"> > > <blah> > > </blah> > > </task> > > > > <task name="unix_task" unless="os_is_windows"> > > <blah> > > </blah> > > </task> > > > > David Weintraub > > [EMAIL PROTECTED] > > [EMAIL PROTECTED] > > > > > > > > --------------------------------------------------------------------- > > 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] > > -- -- David Weintraub [EMAIL PROTECTED] --------------------------------------------------------------------- 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]