SOS (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs.optional.sos, class: SOS

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.Task

  `target, taskName, taskType, wrapper`

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

- ## Constructor Summary

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

- ## Method Summary

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

- ## Field Details

  - ### commandLine

    protected Commandline commandLine
    Commandline to be executed.

- ## Constructor Details

  - ### SOS

    public SOS()

- ## Method Details

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