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]