ShellScriptTask (Ant Contrib)
Date: 2016-06-25

net.sf.antcontrib.platform

## Class ShellScriptTask

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.ExecTask
      - - net.sf.antcontrib.platform.ShellScriptTask

- All Implemented Interfaces:
    java.lang.Cloneable

      public class ShellScriptTask
      extends org.apache.tools.ant.taskdefs.ExecTask

  A generic front-end for passing "shell lines" to any application which can accept a filename containing script input (bash, perl, csh, tcsh, etc.). see antcontrib doc for useage
  Author:
    stephan beal, peter reilly

- - ### Field Summary

    - ### Fields inherited from class org.apache.tools.ant.taskdefs.ExecTask

      `cmdl, failOnError, newEnvironment, redirector, redirectorElement`

    - ### Fields inherited from class org.apache.tools.ant.Task

      `target, taskName, taskType, wrapper`

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ShellScriptTask()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addText(java.lang.String s)` Adds s to the lines of script code.
    `void` | `execute()` execute the task
    `void` | `setCommand(org.apache.tools.ant.types.Commandline notUsed)` Disallow the command attribute of parent class ExecTask.
    `void` | `setExecutable(java.lang.String shell)` Sets the shell used to run the script.
    `void` | `setInputString(java.lang.String s)` Sets script code to s.
    `void` | `setShell(java.lang.String shell)` Sets the shell used to run the script.
    `void` | `setTmpSuffix(java.lang.String tmpSuffix)` Sets the suffix for the tmp file used to contain the script.
    `protected void` | `writeScript()` Writes the script lines to a temp file.

    - ### Methods inherited from class org.apache.tools.ant.taskdefs.ExecTask

      `addConfiguredRedirector, addEnv, checkConfiguration, createArg, createHandler, createWatchdog, getOs, getOsFamily, getResolveExecutable, isValidOs, logFlush, maybeSetResultPropertyValue, prepareExec, resolveExecutable, runExec, runExecute, setAppend, setDir, setError, setErrorProperty, setFailIfExecutionFails, setFailonerror, setInput, setLogError, setNewenvironment, setOs, setOsFamily, setOutput, setOutputproperty, setResolveExecutable, setResultProperty, setSearchPath, setSpawn, setTimeout, setTimeout, setupRedirector, setVMLauncher`

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ShellScriptTask

          public ShellScriptTask()

  - ### Method Detail

    - #### addText

          public void addText(java.lang.String s)

      Adds s to the lines of script code.

    - #### setInputString

          public void setInputString(java.lang.String s)

      Sets script code to s.
      Overrides:
        `setInputString` in class `org.apache.tools.ant.taskdefs.ExecTask`

    - #### setShell

          public void setShell(java.lang.String shell)

      Sets the shell used to run the script.
      Parameters:
        `shell` - the shell to use (bash is default)

    - #### setExecutable

          public void setExecutable(java.lang.String shell)

      Sets the shell used to run the script.
      Overrides:
        `setExecutable` in class `org.apache.tools.ant.taskdefs.ExecTask`
      Parameters:
        `shell` - the shell to use (bash is default)

    - #### setCommand

          public void setCommand(org.apache.tools.ant.types.Commandline notUsed)

      Disallow the command attribute of parent class ExecTask. ant.attribute ignore="true"
      Overrides:
        `setCommand` in class `org.apache.tools.ant.taskdefs.ExecTask`
      Parameters:
        `notUsed` - not used
      Throws:
        `org.apache.tools.ant.BuildException` - if called

    - #### setTmpSuffix

          public void setTmpSuffix(java.lang.String tmpSuffix)

      Sets the suffix for the tmp file used to contain the script. This is useful for cmd.exe as one can use cmd /c call x.bat
      Parameters:
        `tmpSuffix` - the suffix to use

    - #### execute

          public void execute()
                       throws org.apache.tools.ant.BuildException

      execute the task
      Overrides:
        `execute` in class `org.apache.tools.ant.taskdefs.ExecTask`
      Throws:
        `org.apache.tools.ant.BuildException`

    - #### writeScript

          protected void writeScript()
                              throws org.apache.tools.ant.BuildException

      Writes the script lines to a temp file.
      Throws:
        `org.apache.tools.ant.BuildException`