Complex... :( To decipher the semantic implications of the provided solution, you're giving the touch task a resource collection which restricts the contents of another resource collection to those elements which do not exist, using an exists selector wrapped in a not selector. The resource collection wrapped is the single-element resource collection consisting only of a particular file.
See http://ant.apache.org/manual/CoreTypes/resources.html and http://ant.apache.org/manual/CoreTypes/resources.html#restrict in particular for more information. -Matt --- Evgeny <[EMAIL PROTECTED]> wrote: > Oy, this looks complex ... but imho it's better than > having multiple targets. > Thanks. > > On Tue, Aug 12, 2008 at 6:13 PM, Matt Benson > <[EMAIL PROTECTED]> wrote: > > Or, barring all these other suggestions, you could > > just use Ant >= 1.7 and write: > > > > <touch> > > <restrict> > > <file file="filetotouch" /> > > <not > > > xmlns="antlib:org.apache.tools.ant.types.resources.selectors"> > > <exists /> > > </not> > > </restrict> > > </touch> > > > > Note that the componentdef addition to Ant 1.8 > will > > obviate the need for the ns declaration of the not > > (and, by inheritance, the exists) element. > > > > Sorry for the delay in providing this solution, > > Matt > > > > --- Jim Showalter <[EMAIL PROTECTED]> > wrote: > > > >> You could also write a java program to add the > >> functionality and then add it in via taskdef. > The > >> downside is that your build file would not work > on > >> other platforms unless you included the class > file > >> that implements the task. > >> > >> Jim > >> > >> > >> -----Original Message----- > >> From: Evgeny [mailto:[EMAIL PROTECTED] > >> Sent: Tuesday, August 12, 2008 3:53 AM > >> To: Ant Users List > >> Subject: Re: A way to create empty files > >> > >> > >> It's not that I am worried it wont work, just too > >> many targets makes > >> it all messy. And then even when I myself try to > >> decipher what goes > >> where, I need to follow a huge tree of logic in > >> dependencies. Since > >> Ant is more of a functional language, I would > rather > >> avoid all that > >> and just write one statement like <touch > file="new" > >> dontchangetimestamponexistingfile=true"/> or > >> something. > >> > >> Ahh, well. > >> > >> On Mon, Aug 11, 2008 at 10:48 PM, EJ Ciramella > >> <[EMAIL PROTECTED]> wrote: > >> > Nope, you will have this additional target that > >> tests for availability, > >> > then your "touch" target will have an if/unless > >> (depending on how you > >> > configure your "availability" target) > condition. > >> > > >> > This is typical. > >> > > >> > You shouldn't be too worried about many targets > >> springing up all over > >> > the place, as long as you don't provide a > >> description, they won't show > >> > during "ant -projecthelp" (which should be what > >> people are using to see > >> > what targets exist in a particular build file). > >> > > >> > -----Original Message----- > >> > From: Evgeny [mailto:[EMAIL PROTECTED] > >> > Sent: Monday, August 11, 2008 9:29 AM > >> > To: Ant Users List > >> > Subject: Re: A way to create empty files > >> > > >> > So there is no way to do this other than > creating > >> an additional target > >> > with an "if" attribute? > >> > > >> > On Mon, Aug 11, 2008 at 3:09 PM, Kevin Jackson > >> <[EMAIL PROTECTED]> > >> > wrote: > >> >> I think you want to look at the Available task > >> >> > >> >> > >> > > > http://ant.apache.org/manual/CoreTasks/available.html > >> >> > >> >> Thanks, > >> >> Kev > >> >> > >> >> > >> > > > --------------------------------------------------------------------- > >> >> 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] > >> > > >> > > >> > >> > > > --------------------------------------------------------------------- > >> 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] > > > > > > --------------------------------------------------------------------- > 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]