Another ant-contrib solution may be using the for task: <taskdef name="for" classname="net.sf.antcontrib.logic.For"/>
<property name="build.lib.dir" value="prj1/lib"/> <property name="confs-to-deploy" value="default,debug,prod"/> <property name="build.deploy.target" value="prj1/deploy"/> <for list="${confs-to-deploy}" param="dir"> <sequential> <copy todir="${build.deploy.target}/@{dir}"> <fileset dir="${build.lib.dir}/@{dir}" includes="**/*"/> </copy> </sequential> </for> Regards Frank Quoting Ken Gentle <[EMAIL PROTECTED]>: > At 15:57 2006-01-21, you wrote: > > > Here is the error: the includes attribute should contain patterns > > > matching the file names you want copied. > > > The patterns only match the directories. > > > Try: includes="**/*.jar"" > > > >Tommy, > > > >I know where the error is my real problem is the property friving > >the selector > >needs to be a comma separated list which describes the configurations to > >deploy. I want to use that value to drive the copy. In other words changing > >the comma separated values to resemble a patternset pattern is not an > option. > >So that leaves me with few options. I can define some custom task to do a > >regex replace on the property value appending "/**/*" sequences on each > entry > >or I can use beanshell with a script task to do the same. Neither of those > >options are what I consider appealing. I thought I might be overlooking some > >simple functionality in Ant when I ran into the problem but it just doesn't > >seem to easy to copy directories specified in a CSV list without exposing > >patternset syntax to the creator of the list. > > This will load the file and do the replacements: > > <project default="default"> > <target name="default"> > <loadfile srcfile="confs-to-deploy.csv" > property="confs-to-deploy-pattern"> > <filterchain> > <tokenfilter> > <linetokenizer/> > <replaceregex pattern="([^,]+),?" > flags="g" > replace="\1/** "/> > </tokenfilter> > </filterchain> > > </loadfile> > <echo>${confs-to-deploy-pattern}</echo> > </target> > </project> > > [EMAIL PROTECTED] $ ant -f prop-regex.xml > Buildfile: prop-regex.xml > > default: > [echo] default/** debug/** prod/** > > BUILD SUCCESSFUL > Total time: 0 seconds > > > Or if you already have the property and you're open to AntContrib > tasks, you can use the PropertyRegex to do the replacements: > > <project default="default"> > <taskdef resource="net/sf/antcontrib/antlib.xml"> > <classpath> > <pathelement > location="../lib/build/ant-contrib-1.0b2/lib/ant-contrib.jar"/> > </classpath> > </taskdef> > > <target name="default"> > <property name="confs-to-deploy" value="default,debug,prod"/> > <propertyregex property="confs-to-deploy-pattern" > input="${confs-to-deploy}" > regexp="([^,]+),?" > replace="\1/** " /> > <echo>${confs-to-deploy-pattern}</echo> > </target> > </project> > > [EMAIL PROTECTED] $ ant -f prop-regex.xml > Buildfile: prop-regex.xml > > default: > [echo] default/** debug/** prod/** > > BUILD SUCCESSFUL > Total time: 0 seconds > > >--------------------------------------------------- > >Clifton C. Craig, Software Engineer > >Intelligent Computer Systems - A Division of GBG > >[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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]