You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Kees van Dieren <ke...@mp-objects.com> on 2005/06/13 17:00:16 UTC

Count number of files in fileset

Hello,

 

I have to concat some files from a fileset together into another file. I use
the following fileset for this:

<concat destfile="${build.webservices.dir}/config.xml">

<header>&lt;?xml version="1.0" encoding="UTF-8"?&gt;

&lt;configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"&gt;
</header>

                  <fileset refid="module-webservices-config-fileset" />

                  <footer>&lt;/configuration&gt; </footer>

            </concat>

 

However, this only should hebben if the number of files in fileset
module-webservices-config-fileset > 0.

 

Is there a way, to fetch the number of files in a fileset (may be with
ant-contrib, or another 3rd-party addon)?

 

Thanks in advance.

 

Kind regards,

Kees van Dieren
Senior Software Engineer

MP Objects Supply Chain Software
Stationsplein 45
3013 AK Rotterdam
The Netherlands

Post address:
Postbus 29126
3001 GC Rotterdam

Mobile: +31 (0)6-43068619
Phone: +31 (0)10-2900304
Fax: +31 (0)10-2900305

 


RE: Count number of files in fileset

Posted by Dominique Devienne <dd...@gmail.com>.
> In 1.6 you could use the ${toString:} psuedo-property:
>   <target name="present">
>     <fileset id="fileset.notpresent" dir="."
>              includes="*.notpresent"/>
>     <condition property="no.files.present">
>       <equals arg1="" arg2="${toString:fileset.notpresent}"/>
>     </condition>
>     <echo>no.files.present=${no.files.present}</echo>
>     <fileset id="fileset.present" dir="."
>              includes="*.xml"/>
>     <condition property="no.files.present_2">
>       <equals arg1="" arg2="${toString:fileset.present}"/>
>     </condition>
>     <echo>no.files.present_2=${no.files.present_2}</echo>
>   </target>

You can check a fileset is empty using the above, but not count the number
of files. For that you'd need custom code, in Java or in a <script>.

Note that ${toString:referenceId} is still a bit experimental.

Using <property name="foo" refid="referenceId" /> is more traditional (but
Ant 1.6 specific), and for older versions of Ant, use <pathconvert> to
convert the fileset into a string. --DD


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Re: Count number of files in fileset

Posted by Peter Reilly <pe...@apache.org>.
Matt Benson wrote:

>1) Ant 1.7 will contain a <resourcecount> task that
>can count files from a fileset.
>  
>
In 1.6 you could use the ${toString:} psuedo-property:
  <target name="present">
    <fileset id="fileset.notpresent" dir="."
             includes="*.notpresent"/>
    <condition property="no.files.present">
      <equals arg1="" arg2="${toString:fileset.notpresent}"/>
    </condition>
    <echo>no.files.present=${no.files.present}</echo>
    <fileset id="fileset.present" dir="."
             includes="*.xml"/>
    <condition property="no.files.present_2">
      <equals arg1="" arg2="${toString:fileset.present}"/>
    </condition>
    <echo>no.files.present_2=${no.files.present_2}</echo>
  </target>


>2) <concat> shouldn't do anything if there are no
>existing files.
>  
>
No, this is not true in this case. The <header> and <footer> elements 
are independent
of the fileset.

Peter

>-Matt
>
>--- Kees van Dieren <ke...@mp-objects.com>
>wrote:
>
>  
>
>>Hello,
>>
>> 
>>
>>I have to concat some files from a fileset together
>>into another file. I use
>>the following fileset for this:
>>
>><concat
>>destfile="${build.webservices.dir}/config.xml">
>>
>><header>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
>>
>>&lt;configuration
>>
>>    
>>
>xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"&gt;
>  
>
>></header>
>>
>>                  <fileset
>>refid="module-webservices-config-fileset" />
>>
>>                  <footer>&lt;/configuration&gt;
>></footer>
>>
>>            </concat>
>>
>> 
>>
>>However, this only should hebben if the number of
>>files in fileset
>>module-webservices-config-fileset > 0.
>>
>> 
>>
>>Is there a way, to fetch the number of files in a
>>fileset (may be with
>>ant-contrib, or another 3rd-party addon)?
>>
>> 
>>
>>Thanks in advance.
>>
>> 
>>
>>Kind regards,
>>
>>Kees van Dieren
>>Senior Software Engineer
>>
>>MP Objects Supply Chain Software
>>Stationsplein 45
>>3013 AK Rotterdam
>>The Netherlands
>>
>>Post address:
>>Postbus 29126
>>3001 GC Rotterdam
>>
>>Mobile: +31 (0)6-43068619
>>Phone: +31 (0)10-2900304
>>Fax: +31 (0)10-2900305
>>
>> 
>>
>>
>>    
>>
>
>
>__________________________________________________
>Do You Yahoo!?
>Tired of spam?  Yahoo! Mail has the best spam protection around 
>http://mail.yahoo.com 
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>For additional commands, e-mail: user-help@ant.apache.org
>
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Re: Count number of files in fileset

Posted by Matt Benson <gu...@yahoo.com>.
1) Ant 1.7 will contain a <resourcecount> task that
can count files from a fileset.

2) <concat> shouldn't do anything if there are no
existing files.

-Matt

--- Kees van Dieren <ke...@mp-objects.com>
wrote:

> Hello,
> 
>  
> 
> I have to concat some files from a fileset together
> into another file. I use
> the following fileset for this:
> 
> <concat
> destfile="${build.webservices.dir}/config.xml">
> 
> <header>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
> 
> &lt;configuration
>
xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"&gt;
> </header>
> 
>                   <fileset
> refid="module-webservices-config-fileset" />
> 
>                   <footer>&lt;/configuration&gt;
> </footer>
> 
>             </concat>
> 
>  
> 
> However, this only should hebben if the number of
> files in fileset
> module-webservices-config-fileset > 0.
> 
>  
> 
> Is there a way, to fetch the number of files in a
> fileset (may be with
> ant-contrib, or another 3rd-party addon)?
> 
>  
> 
> Thanks in advance.
> 
>  
> 
> Kind regards,
> 
> Kees van Dieren
> Senior Software Engineer
> 
> MP Objects Supply Chain Software
> Stationsplein 45
> 3013 AK Rotterdam
> The Netherlands
> 
> Post address:
> Postbus 29126
> 3001 GC Rotterdam
> 
> Mobile: +31 (0)6-43068619
> Phone: +31 (0)10-2900304
> Fax: +31 (0)10-2900305
> 
>  
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org