<?xml version="1.0"?>
<project name="production" default="test">


   <taskdef name="exec_wd">
      <stringparams>
         <stringparam name="prog"/>
         <stringparam name="args"/>
         <stringparam name="wdir" required="false"/>
      </stringparams>

      <do>
         <choose>
            <when test="${'__wdir__' == ''}">
               <exec
                  verbose="${verbose}"
                  program="__prog__"
                  commandline="__args__"
               />
            </when>
            <otherwise>
               <exec
                  verbose="${verbose}"
                  program="__prog__"
                  commandline="__args__"
                  workingdir="__wdir__"
               />
            </otherwise>
         </choose>
      </do>
   </taskdef>


   <taskdef name="exec_shell">
      <stringparams>
         <stringparam name="sh"/>
         <stringparam name="cmd"/>
         <stringparam name="wdir" required="false"/>
      </stringparams>

      <do>
         <property if="${'__sh__' == 'cmd'}" name="x_cmd_x" value="/C __cmd__"/>
         <property if="${'__sh__' != 'cmd'}" name="x_cmd_x" value="-c &quot;__cmd__&quot;"/>
         <exec_wd prog="__sh__" args="${x_cmd_x}" wdir="__wdir__"/>
      </do>
   </taskdef>


   <target name="test">
      <exec_shell sh="sh" cmd="ls -l"/>
   </target>
</project>

