SOS (Apache Ant API)
Date: 2018-09-12

Package org.apache.tools.ant.taskdefs.optional.sos

## Class SOS

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.optional.sos.SOS

- All Implemented Interfaces:
    `java.lang.Cloneable`, `SOSCmd`
  Direct Known Subclasses:
    `SOSCheckin`, `SOSCheckout`, `SOSGet`, `SOSLabel`

      public abstract class SOS
      extends Task
      implements SOSCmd

  A base class for creating tasks for executing commands on SourceOffSite. These tasks were inspired by the VSS tasks.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Commandline` | `commandLine` | Commandline to be executed.

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

      `description, location, project`

    - ### Fields inherited from interface org.apache.tools.ant.taskdefs.optional.sos.SOSCmd

      `COMMAND_CHECKIN_FILE, COMMAND_CHECKIN_PROJECT, COMMAND_CHECKOUT_FILE, COMMAND_CHECKOUT_PROJECT, COMMAND_GET_FILE, COMMAND_GET_PROJECT, COMMAND_HISTORY, COMMAND_LABEL, COMMAND_SOS_EXE, FLAG_COMMAND, FLAG_COMMENT, FLAG_FILE, FLAG_LABEL, FLAG_NO_CACHE, FLAG_NO_COMPRESSION, FLAG_PASSWORD, FLAG_PROJECT, FLAG_RECURSION, FLAG_SOS_HOME, FLAG_SOS_SERVER, FLAG_USERNAME, FLAG_VERBOSE, FLAG_VERSION, FLAG_VSS_SERVER, FLAG_WORKING_DIR, PROJECT_PREFIX`

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

      `target, taskName, taskType, wrapper`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SOS()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `execute()` | Execute the created command line.
    `protected java.lang.String` | `getComment()` | Get the comment
    `protected java.lang.String` | `getFilename()` | Get the filename to be acted upon.
    `protected java.lang.String` | `getLabel()` | Get the label
    `protected java.lang.String` | `getLocalPath()` | Builds and returns the working directory.
    `protected java.lang.String` | `getNoCache()` | Get the NoCache flag.
    `protected java.lang.String` | `getNoCompress()` | Get the NoCompress flag.
    `protected void` | `getOptionalAttributes()` | Adds the optional attributes to the command line.
    `protected java.lang.String` | `getPassword()` | Get the password
    `protected java.lang.String` | `getProjectPath()` | Get the project path
    `protected java.lang.String` | `getRecursive()` | Get the 'recursive' Flag.
    `protected void` | `getRequiredAttributes()` | Sets the executable and add the required attributes to the command line.
    `protected java.lang.String` | `getSosCommand()` | Get the executable to run.
    `protected java.lang.String` | `getSosHome()` | Get the SOS home directory.
    `protected java.lang.String` | `getSosServerPath()` | Get the SOS serve path.
    `protected java.lang.String` | `getUsername()` | Get the username
    `protected java.lang.String` | `getVerbose()` | Get the 'verbose' Flag.
    `protected java.lang.String` | `getVersion()` | Get the version
    `protected java.lang.String` | `getVssServerPath()` | Get the VSS server path
    `protected int` | `run​(Commandline cmd)` | Execute the created command line.
    `protected void` | `setInternalComment​(java.lang.String text)` | Set the comment text.
    `protected void` | `setInternalFilename​(java.lang.String file)` | Set the file name.
    `protected void` | `setInternalLabel​(java.lang.String text)` | Set the label.
    `protected void` | `setInternalRecursive​(boolean recurse)` | Set the recursive flag.
    `protected void` | `setInternalVersion​(java.lang.String text)` | Set the version.
    `void` | `setLocalPath​(Path path)` | Override the working directory and get to the specified path.
    `void` | `setNoCache​(boolean nocache)` | Flag to disable the cache when set.
    `void` | `setNoCompress​(boolean nocompress)` | Flag to disable compression when set.
    `void` | `setPassword​(java.lang.String password)` | The SourceSafe password.
    `void` | `setProjectPath​(java.lang.String projectpath)` | The SourceSafe project path.
    `void` | `setSosCmd​(java.lang.String dir)` | The directory where soscmd(.exe) is located.
    `void` | `setSosHome​(java.lang.String sosHome)` | Path to the SourceOffSite home directory.
    `void` | `setSosServerPath​(java.lang.String sosServerPath)` | The address and port of SourceOffSite Server, for example 192.168.0.1:8888.
    `void` | `setUsername​(java.lang.String username)` | The SourceSafe username.
    `void` | `setVerbose​(boolean verbose)` | Enable verbose output.
    `void` | `setVssServerPath​(java.lang.String vssServerPath)` | The path to the location of the ss.ini file.

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

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

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

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

    - ### 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`

- - ### Field Detail

    - #### commandLine

          protected Commandline commandLine

      Commandline to be executed.

  - ### Constructor Detail

    - #### SOS

          public SOS()

  - ### Method Detail

    - #### setNoCache

          public final void setNoCache​(boolean nocache)

      Flag to disable the cache when set. Required if SOSHOME is set as an environment variable. Defaults to false.
      Parameters:
        `nocache` - True to disable caching.

    - #### setNoCompress

          public final void setNoCompress​(boolean nocompress)

      Flag to disable compression when set. Defaults to false.
      Parameters:
        `nocompress` - True to disable compression.

    - #### setSosCmd

          public final void setSosCmd​(java.lang.String dir)

      The directory where soscmd(.exe) is located. soscmd must be on the path if omitted.
      Parameters:
        `dir` - The new sosCmd value.

    - #### setUsername

          public final void setUsername​(java.lang.String username)

      The SourceSafe username.
      Parameters:
        `username` - The new username value.

    - #### setPassword

          public final void setPassword​(java.lang.String password)

      The SourceSafe password.
      Parameters:
        `password` - The new password value.

    - #### setProjectPath

          public final void setProjectPath​(java.lang.String projectpath)

      The SourceSafe project path.
      Parameters:
        `projectpath` - The new projectpath value.

    - #### setVssServerPath

          public final void setVssServerPath​(java.lang.String vssServerPath)

      The path to the location of the ss.ini file.
      Parameters:
        `vssServerPath` - The new vssServerPath value.

    - #### setSosHome

          public final void setSosHome​(java.lang.String sosHome)

      Path to the SourceOffSite home directory.
      Parameters:
        `sosHome` - The new sosHome value.

    - #### setSosServerPath

          public final void setSosServerPath​(java.lang.String sosServerPath)

      The address and port of SourceOffSite Server, for example 192.168.0.1:8888.
      Parameters:
        `sosServerPath` - The new sosServerPath value.

    - #### setLocalPath

          public final void setLocalPath​(Path path)

      Override the working directory and get to the specified path.
      Parameters:
        `path` - The new localPath value.

    - #### setVerbose

          public void setVerbose​(boolean verbose)

      Enable verbose output. Defaults to false.
      Parameters:
        `verbose` - True for verbose output.

    - #### setInternalFilename

          protected void setInternalFilename​(java.lang.String file)

      Set the file name.
      Parameters:
        `file` - the filename to use.

    - #### setInternalRecursive

          protected void setInternalRecursive​(boolean recurse)

      Set the recursive flag.
      Parameters:
        `recurse` - if true use the recursive flag on the command line.

    - #### setInternalComment

          protected void setInternalComment​(java.lang.String text)

      Set the comment text.
      Parameters:
        `text` - the comment text to use.

    - #### setInternalLabel

          protected void setInternalLabel​(java.lang.String text)

      Set the label.
      Parameters:
        `text` - the label to use.

    - #### setInternalVersion

          protected void setInternalVersion​(java.lang.String text)

      Set the version.
      Parameters:
        `text` - the version to use.

    - #### getSosCommand

          protected java.lang.String getSosCommand()

      Get the executable to run. Add the path if it was specified in the build file
      Returns:
        the executable to run.

    - #### getComment

          protected java.lang.String getComment()

      Get the comment
      Returns:
        if it was set, null if not.

    - #### getVersion

          protected java.lang.String getVersion()

      Get the version
      Returns:
        if it was set, null if not.

    - #### getLabel

          protected java.lang.String getLabel()

      Get the label
      Returns:
        if it was set, null if not.

    - #### getUsername

          protected java.lang.String getUsername()

      Get the username
      Returns:
        if it was set, null if not.

    - #### getPassword

          protected java.lang.String getPassword()

      Get the password
      Returns:
        empty string if it wasn't set.

    - #### getProjectPath

          protected java.lang.String getProjectPath()

      Get the project path
      Returns:
        if it was set, null if not.

    - #### getVssServerPath

          protected java.lang.String getVssServerPath()

      Get the VSS server path
      Returns:
        if it was set, null if not.

    - #### getSosHome

          protected java.lang.String getSosHome()

      Get the SOS home directory.
      Returns:
        if it was set, null if not.

    - #### getSosServerPath

          protected java.lang.String getSosServerPath()

      Get the SOS serve path.
      Returns:
        if it was set, null if not.

    - #### getFilename

          protected java.lang.String getFilename()

      Get the filename to be acted upon.
      Returns:
        if it was set, null if not.

    - #### getNoCompress

          protected java.lang.String getNoCompress()

      Get the NoCompress flag.
      Returns:
        the 'nocompress' Flag if the attribute was 'true', otherwise an empty string.

    - #### getNoCache

          protected java.lang.String getNoCache()

      Get the NoCache flag.
      Returns:
        the 'nocache' Flag if the attribute was 'true', otherwise an empty string.

    - #### getVerbose

          protected java.lang.String getVerbose()

      Get the 'verbose' Flag.
      Returns:
        the 'verbose' Flag if the attribute was 'true', otherwise an empty string.

    - #### getRecursive

          protected java.lang.String getRecursive()

      Get the 'recursive' Flag.
      Returns:
        the 'recursive' Flag if the attribute was 'true', otherwise an empty string.

    - #### getLocalPath

          protected java.lang.String getLocalPath()

      Builds and returns the working directory.

      The localpath is created if it didn't exist.

      Returns:
        the absolute path of the working directory.

    - #### execute

          public void execute()
                       throws BuildException

      Execute the created command line.
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - on error.

    - #### run

          protected int run​(Commandline cmd)

      Execute the created command line.
      Parameters:
        `cmd` - The command line to run.
      Returns:
        int the exit code.
      Throws:
        `BuildException` - if something goes wrong

    - #### getRequiredAttributes

          protected void getRequiredAttributes()

      Sets the executable and add the required attributes to the command line.

    - #### getOptionalAttributes

          protected void getOptionalAttributes()

      Adds the optional attributes to the command line.