Hi Michael, > Why does ant have three exec type taskdefs: Apply, Exec, and ExecOn? Was each > created to handled a different type of os command? > > I read the user guide for these taskdefs but they don't really indicate the > justification for each.
If you want to execute an executable command on your OS of choice, single command, with single argument list, which will not process (apply to) any of the files from your build environment --- use exec. If you want to execute an executable, which will take as an argument list sequence of files (or one file per call), and you want this input files to be processed by the forked executable, --- use apply. apply will replace all the functionality execOn is providing, plus will give the target timestamp check, which will enable reprocessing of the targets only when the source is newer. I believe execon will become deprecated in the new ant release and it will be taken over by apply. hth m.
