-----Original Message----- From: Shawn Castrianni [mailto:[EMAIL PROTECTED] Sent: Monday, June 09, 2008 6:23 AM To: 'Ant Users List' Subject: appending to fileset
/* Is there a way to incrementally add files to a fileset? I am building a fileset by looping through an XML file and need to add files to a named fileset one by one if they meet certain criteria. Is this possible without converting everything into paths or strings or stuff like that? */ quick shot, untested, seems a bit long winded maybe there's a better/shorter solution ?! don't know your xml, so i took an example structure = ... <file> <file.1> <name>...</name> </file.1> <file.2> <name>...</name> </file.2> ... <!-- Import AntContrib --> <taskdef resource="net/sf/antcontrib/antlib.xml" /> <!-- Import XMLTask --> <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/> <target name="..."> <patternset id="basic_files" includes="*.txt **/*.properties"/> <fileset dir="Y:/test" id="namedfileset"> <patternset refid="basic_files"/> </fileset> <var name="filelist" value=""/> <xmltask source="your.xml"> <call path="//file/*"> <param path="name/text()" name="fname" /> <actions> <if> <your condition(s) goes here ... /> <then> <var name="filelist_tmp" value="${filelist}"/> <var name="filelist" unset="true"/> <var name="filelist" value="${filelist_tmp} @{fname}"/> </then> </if> </actions> </call> </xmltask> <patternset id="ext_files" includes="${filelist}"/> <fileset dir="Y:/test" id="ext_namedfileset"> <patternset refid="ext_files"/> <patternset refid="basic_files"/> </fileset> </target> notes = when using patternset you are more flexible with the appropriate xpath expression and your condition(s) between <actions> <if> ... </if> ...</actions> you take control what is matched and whether the matched gets included in the space separated patternset (don't know whether the blank at the end of ${filelist} is a problem !?) Beside that you can put other tasks into the <actions .../> scope if needed then later construct a fileset with the same dir as your first fileset and include both patternsets via refid= ... and finally you have your extended fileset. you need = [1] http://www.oopsconsultancy.com/software/xmltask/ [2] http://ant-contrib.sourceforge.net/ Regards, Gilbert --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]