That solves the minor problem of ; vs , but doesn't solve the real problem. The real problem is in getting javac to recognize a filelist/fileset/path. What I'm looking for is something to replace the filelist that javac will accept.
On Mar 11, 2010, at 2:23 AM, jan.mate...@rzf.fin-nrw.de wrote: > - <filelist dir="." files="@{sourceref}" /> <-- email is about this > + <filelist dir="." refid="@{sourceref}" /> <-- email is about this > > Jan > >> -----Ursprüngliche Nachricht----- >> Von: Robert Menteer [mailto:reet...@me.com] >> Gesendet: Mittwoch, 10. März 2010 21:28 >> An: user@ant.apache.org >> Betreff: Passing a list of files to javac >> >> How can I get the javac task to use an existing fileset? In my >> build.xml I have created several filesets to be used in >> multiple places throughout build file. Here is how they have >> been defined: >> >> <fileset dir = "${src}" >> id = "java.source.all"> >> <include name = "**/*.java" /> >> </fileset> >> >> <fileset dir = "${src}" >> id = "java.source.examples"> >> <include name = "**/Examples/**/*.java" /> >> </fileset> >> >> <fileset dir = "${src}" >> id = "java.source.tests"> >> <include name = "**/Tests/*.java" /> >> </fileset> >> >> <fileset dir = "${src}" >> id = "java.source.project"> >> <include name = "**/*.java" /> >> <exclude name = "**/Examples/**/*.java" /> >> <exclude name = "**/Tests/**/*.java" /> >> </fileset> >> >> I have also used macrodef to compile the java files so the >> javac task does not need to be repeated multiple times. The >> macro looks like this: >> >> <macrodef name="compile"> >> <attribute name="sourceref"/> >> <sequential> >> <javac srcdir = "${src}" >> destdir = "${build}" >> classpathref = "classpath" >> includeantruntime = "no" >> debug = "${debug}"> >> <filelist dir="." files="@{sourceref}" /> <-- email >> is about this >> </javac> >> </sequential> >> </macrodef> >> >> What I'm trying to do is compile only the classes that are >> needed for specific targets not all the targets in the source >> tree. And do so without having to specify the files every >> time. Here are how the targets are defined: >> >> <target name = "compile-examples" >> depends = "init"> >> <compile sourceref = "${toString:java.source.examples}" /> >> </target> >> >> <target name = "compile-project" >> depends = "init"> >> <compile sourceref = "${toString:java.source.project}" /> >> </target> >> >> <target name = "compile-tests" >> depends = "init"> >> <compile sourceref = "${toString:java.source.tests}" /> >> </target> >> >> As you can see each target specifies the java files to be >> compiled as a simi-colon separated list of absolute file >> names. The only problem with this is that javac does not >> support filelist. It also does not support fileset, path or >> pathset. I've tried using <include name = "@{sourceref}" /> >> but it treats the list as a single file name. Another thing I >> tried is sending the reference directly (not using toString) >> and using <include ref = "@{sourceref}" /> but include does >> not have a ref attribute. >> >> I've done a search of this list and noticed another person >> with a similar problem. But while it was discussed no solution >> was presented. >> >> SO THE QUESTION IS: How do you get the javac task to use a >> reference to a fileset that was defined in another part of the >> build file? I'm not interested in solutions that cause me to >> have multiple javac tasks. Completely re-writting the macro is >> acceptable. Changes to the targets are also acceptable >> provided redundant code between targets is kept to a minimum. >> >> p.s. Another problem is that fileset wants a comma separated >> list. I've only done a brief search for a way to convert >> semi-colons to commas and haven't found a way to do that. >> >> p.p.s. Sorry for the yelling but some people are too quick to >> post responses that don't address the subject. >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@ant.apache.org > For additional commands, e-mail: user-h...@ant.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@ant.apache.org For additional commands, e-mail: user-h...@ant.apache.org