On Thu, Nov 13, 2008 at 1:08 PM, Bruce Atherton <[EMAIL PROTECTED]> wrote: > Conceptually I agree with you, but I think we need to recognize why people > would want this and to validate their concerns. > > Consider these targets: > > <target name="full-build" depends="clean,compile,jar-files">...</target> > <target name="update-build" depends="compile,jar-files">...</target> > > Whether or not "clean" is a dependency of "compile" depends on the context > "compile" is executed in. Now, it is possible to work around this but I am > fairly sure that using dependencies as described above is a common > implementation pattern for our users. I know that I have used it in the > past, and probably will again. Sacrilege, I know. :-)
Very good example Bruce, thanks. I also relied on the ordering in this case, and in my haste to advocate against relying on the ordering I forgot about it ;) The work around involves creating additional targets, which is inconvenient and leads to my dreaded "spaghetti Ant code". This would be cleanly solved by the proto shown once a long time ago by Conor (I believe), where dependencies could be specified *inside* the target body. This was a little mind-bending at first, but then you realize it's like creating implicit unnamed targets, and it solves the ordering issue nicely. Your above example would then become: <target name="full-build"> <!- pre-clean stuff> <dependencies targets="clean"/> <!- post-clean stuff> <dependencies targets="compile, jar-files"/> </target> --DD --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]