Hello,

I think you don't need to use antcount for that (even though this is a
great task ... ;-))

you should be able to load your file with loadfile, without filtering,
and then use ac:for with delimiter="${line.separator}"

[...]
<loadfile srcfile="./${src.file}" property="src.file.head" />
<ac:for list="${src.file.head}" param="dir" delimiter="${line.separator}">
[...]
</ac:for>

Rgds,

Patrick

On 4/30/07, Camer38 <[EMAIL PROTECTED]> wrote:

It is a part of a bigger application so I cannot change the version af Ant.
I would like to follow my fir idea , that almost work. The problem that I
have
is describe below.


I have the file user.properties and inside a paths to folders are defined
e.g.
C:\CMDOCUMENTATION4\DOCCENTER\BUILD
C:\CMApplicationTools2\PackagingTools

For each folder from user.properties I need to perform a task.
I read a file and for each line I create a property(${prefix}) starting with
~~

                <loadfile srcfile="./${src.file}" property="src.file.head">
                        <filterchain>
                                <tokenfilter>
                                        <stringtokenizer/>
                                        <countfilter property="nb.matching.tokens"  
match="^(.+)$">
                                                <!--Create property with a 
specific name-->
                                                <counteach propertyprefix="${prefix}" 
select="\1"/>
                                        </countfilter>
                                </tokenfilter>
                        </filterchain>
                </loadfile>
                <echo message="${nb.matching.tokens}"/>
                <echo message="${src.file.head}"/>
                <echoproperties prefix="${prefix}"/>
        <ac:propertyselector property="user.files" delimiter="${delimiter}"
match="~~(.+)" select="\1"/>
                <echo message="${user.files}"/>
</target>


At the end of the target I need a list of all those properties so, I use
ac:propertyselector  but I do not get a right result. What I received is a
path b-to-file but without \ character.
Do you have an idea why?
Could you suggest a right solution, please?
counteach task is taken from:
http://antcount.sourceforge.net/



OUTPUT


genericTokenReplacement:
     [echo] 2
     [echo] C:\CURAMDOCUMENTATION4\DOCCENTER\BUILD
     [echo] C:\CuramApplicationTools2\PackagingTools
[echoproperties] #Ant properties
[echoproperties] #Mon Apr 30 14:21:19 BST 2007
[echoproperties] ~~C\:\\CURAMDOCUMENTATION4\\DOCCENTER\\BUILD=1
[echoproperties] ~~C\:\\CuramApplicationTools2\\PackagingTools=1
     [echo]
C:CURAMDOCUMENTATION4DOCCENTERBUILD,C:CuramApplicationTools2PackagingTools





Matt Benson wrote:
>
> I didn't read your error message closely enough the
> first time.  It shows that <tokens> is taken as
> belonging to the ac namespace, indicating it couldn't
> be found in the default namespace.  The example
> requires Ant 1.7 .
>
> -Matt
>
> --- mpr <[EMAIL PROTECTED]> wrote:
>
>>
>> I have followed your instructions, download the
>> latest AC release and build
>> ant-contrib.jar from source but I still get the same
>> error.
>> What do I have to do?
>>
>>
>>
>> Matt Benson wrote:
>> >
>> > I can't recall when AC last had a release; you
>> might
>> > have to build from the current source, wherein
>> <for>
>> > can handle any type that returns an Iterator.
>> >
>> > -Matt
>> >
>> > --- mpr <[EMAIL PROTECTED]> wrote:
>> >
>> >>
>> >> I get
>> >> The <antlib:net.sf.antcontrib:for> type doesn't
>> >> support the nested
>> >> "antlib:net.sf.antcontrib:tokens" element.
>> >>
>> >> What version ant-contrib.jar should I have?
>> >>
>> >>
>> >>
>> >> Matt Benson wrote:
>> >> >
>> >> >
>> >> > --- mpr <[EMAIL PROTECTED]>
>> wrote:
>> >> >
>> >> >>
>> >> >> Hi,
>> >> >>
>> >> >> Could you provide an example, please?
>> >> >>
>> >> >
>> >> > <project xmlns:ac="antlib:net.sf.antcontrib">
>> >> >   <property name="br" value="${line.separator}"
>> />
>> >> >   <echo
>> >> file="tokens">foo${br}bar${br}baz${br}</echo>
>> >> >   <ac:for param="t">
>> >> >     <tokens>
>> >> >       <file file="tokens" />
>> >> >     </tokens>
>> >> >     <sequential>
>> >> >       <echo>@@[EMAIL PROTECTED]</echo>
>> >> >     </sequential>
>> >> >   </ac:for>
>> >> > </project>
>> >> >
>> >> > -Matt
>> >> >
>> >> >>
>> >> >>
>> >> >> Matt Benson wrote:
>> >> >> >
>> >> >> > The <tokens> resourcecollection should be
>> >> directly
>> >> >> > passable to <ac:for>.
>> >> >> >
>> >> >> > HTH,
>> >> >> > Matt
>> >> >> >
>> >> >> > --- mpr <[EMAIL PROTECTED]>
>> >> wrote:
>> >> >> >
>> >> >> >>
>> >> >> >> Hi,
>> >> >> >>
>> >> >> >> I have the file user.properties and inside
>> a
>> >> >> paths
>> >> >> >> to folders are defined
>> >> >> >> e.g.
>> >> >> >> C:\Application\PackagingTools4
>> >> >> >> C:\ApplicationTools2\PackagingTools3
>> >> >> >>
>> >> >> >> For each folder from user.properties I need
>> to
>> >> >> >> perform an Operation (task).
>> >> >> >>
>> >> >> >> What is the simplest way to do that?
>> >> >> >> At this moment I do:
>> >> >> >>
>> >> >> >> [CODE]
>> >> >> >>
>> >> >> >>     <target
>> >> description="genericTokenReplacements"
>> >> >> >> name="genericTokenReplacement">
>> >> >> >>             <loadfile srcfile="./${src.file}"
>> >> >> >> property="src.file.head">
>> >> >> >>                     <filterchain>
>> >> >> >>                             <tokenfilter>
>> >> >> >>                                     <stringtokenizer/>
>> >> >> >>                                     <countfilter
>> >> property="nb.matching.tokens"
>> >> >> >> match="([\w\\/]+)+">
>> >> >> >>                                             <!--Create property 
with a specific
>> >> name-->
>> >> >> >>                                             <counteach 
propertyprefix="${prefix}"
>> >> >> >> select="\1"/>
>> >> >> >>                                     </countfilter>
>> >> >> >>                             </tokenfilter>
>> >> >> >>                     </filterchain>
>> >> >> >>             </loadfile>
>> >> >> >>             <echo message="${src.file.head}"/>
>> >> >> >>             <echoproperties prefix="${prefix}"/>
>> >> >> >>             <ac:propertyselector
>> property="user.files"
>> >> >> >> delimiter="${delimiter}"
>> >> >> >> match="~~(.+)" select="\1"/>
>> >> >> >>             <echo message="${user.files}"/>
>> >> >> >>             <ac:for list="${user.files}" param="dir">
>> >> >> >>                     <ac:sequential>
>> >> >> >>                             <echo message="All files under the
>> folder
>> >> >> @{dir}
>> >> >> >> are going to be
>> >> >> >> replaced"/>
>> >> >> >>                             <--! OPERATION here-->
>> >> >> >>                     </ac:sequential>
>> >> >> >>             </ac:for>
>> >> >> >>     </target>
>> >> >> >>
>> >> >> >> [/CODE]
>> >> >> >>
>> >> >> >> but I have noticed the problem.
>> >> >> >> <ac:propertyselector property="user.files"
>> >> >> >> delimiter="${delimiter}"
>> >> >> >> match="~~(.+)" select="\1"/>
>> >> >> >> trim out (eat) character "\" so i get full
>> >> path
>> >> >> to
>> >> >> >> folder whit out "\"
>> >> >> >>
>> >> >> >> Could you suggest to solve it?
>> >> >> >> Thank you in advance,
>> >> >> >> MR
>> >> >> >>
>> >> >> >> --
>> >> >> >> View this message in context:
>> >> >> >>
>> >> >> >
>> >> >>
>> >> >
>> >>
>> >
>>
> 
http://www.nabble.com/Perform-a-task-for-every-folder-from-the-file.-tf3658328.html#a10221352
>> >> >> >> Sent from the Ant - Users mailing list
>> archive
>> >> at
>> >> >> >> Nabble.com.
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >
>> >> >>
>> >> >
>> >>
>> >
>>
> ---------------------------------------------------------------------
>> >> >> >> To unsubscribe, e-mail:
>> >> >> >> [EMAIL PROTECTED]
>> >> >> >> For additional commands, e-mail:
>> >> >> >> [EMAIL PROTECTED]
>> >> >> >>
>> >> >> >>
>> >> >> >
>> >> >> >
>> >> >> >
>> >>
>> __________________________________________________
>> >> >> > Do You Yahoo!?
>> >> >> > Tired of spam?  Yahoo! Mail has the best
>> spam
>> >> >> protection around
>> >> >> > http://mail.yahoo.com
>> >> >> >
>> >> >> >
>> >> >>
>> >> >
>> >>
>> >
>>
> ---------------------------------------------------------------------
>> >> >> > To unsubscribe, e-mail:
>> >> >> [EMAIL PROTECTED]
>> >> >> > For additional commands, e-mail:
>> >> >> [EMAIL PROTECTED]
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >>
>> >> >> --
>> >> >> View this message in context:
>> >> >>
>> >> >
>> >>
>> >
>>
> 
http://www.nabble.com/Perform-a-task-for-every-folder-from-the-file.-tf3658328.html#a10221747
>> >> >> Sent from the Ant - Users mailing list archive
>> at
>> >> >> Nabble.com.
>> >> >>
>> >> >>
>> >> >>
>> >> >
>> >>
>> >
>>
> ---------------------------------------------------------------------
>> >> >> To unsubscribe, e-mail:
>> >> >> [EMAIL PROTECTED]
>> >> >> For additional commands, e-mail:
>> >> >> [EMAIL PROTECTED]
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> >
>> __________________________________________________
>> >> > Do You Yahoo!?
>> >> > Tired of spam?  Yahoo! Mail has the best spam
>> >> protection around
>> >> > http://mail.yahoo.com
>> >> >
>> >> >
>> >>
>> >
>>
> ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail:
>> >> [EMAIL PROTECTED]
>> >> > For additional commands, e-mail:
>> >> [EMAIL PROTECTED]
>> >> >
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> >
>>
> 
http://www.nabble.com/Perform-a-task-for-every-folder-from-the-file.-tf3658328.html#a10222424
>> >> Sent from the Ant - Users mailing list archive at
>> >> Nabble.com.
>> >>
>> >>
>> >>
>> >
>>
> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail:
>> >> [EMAIL PROTECTED]
>> >> For additional commands, e-mail:
>> >> [EMAIL PROTECTED]
>> >>
>> >>
>> >
>> >
>> > __________________________________________________
>> > Do You Yahoo!?
>> > Tired of spam?  Yahoo! Mail has the best spam
>> protection around
>> > http://mail.yahoo.com
>> >
>> >
>>
> ---------------------------------------------------------------------
>> > To unsubscribe, e-mail:
>> [EMAIL PROTECTED]
>> > For additional commands, e-mail:
>> [EMAIL PROTECTED]
>> >
>> >
>> >
>>
>> --
>> View this message in context:
>>
> 
http://www.nabble.com/Perform-a-task-for-every-folder-from-the-file.-tf3658328.html#a10251022
>> Sent from the Ant - Users mailing list archive at
>> Nabble.com.
>>
>>
>>
> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> [EMAIL PROTECTED]
>> For additional commands, e-mail:
>> [EMAIL PROTECTED]
>>
>>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>

--
View this message in context: 
http://www.nabble.com/Perform-a-task-for-every-folder-from-the-file.-tf3658328.html#a10253485
Sent from the Ant - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
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]

Reply via email to