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 Details

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