All Implemented Interfaces:
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

    • 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(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(String username)
      The SourceSafe username.
      Parameters:
      username - The new username value.
    • setPassword

      public final void setPassword(String password)
      The SourceSafe password.
      Parameters:
      password - The new password value.
    • setProjectPath

      public final void setProjectPath(String projectpath)
      The SourceSafe project path.
      Parameters:
      projectpath - The new projectpath value.
    • setVssServerPath

      public final void setVssServerPath(String vssServerPath)
      The path to the location of the ss.ini file.
      Parameters:
      vssServerPath - The new vssServerPath value.
    • setSosHome

      public final void setSosHome(String sosHome)
      Path to the SourceOffSite home directory.
      Parameters:
      sosHome - The new sosHome value.
    • setSosServerPath

      public final void setSosServerPath(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(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(String text)
      Set the comment text.
      Parameters:
      text - the comment text to use.
    • setInternalLabel

      protected void setInternalLabel(String text)
      Set the label.
      Parameters:
      text - the label to use.
    • setInternalVersion

      protected void setInternalVersion(String text)
      Set the version.
      Parameters:
      text - the version to use.
    • getSosCommand

      protected 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 String getComment()
      Get the comment
      Returns:
      if it was set, null if not.
    • getVersion

      protected String getVersion()
      Get the version
      Returns:
      if it was set, null if not.
    • getLabel

      protected String getLabel()
      Get the label
      Returns:
      if it was set, null if not.
    • getUsername

      protected String getUsername()
      Get the username
      Returns:
      if it was set, null if not.
    • getPassword

      protected String getPassword()
      Get the password
      Returns:
      empty string if it wasn't set.
    • getProjectPath

      protected String getProjectPath()
      Get the project path
      Returns:
      if it was set, null if not.
    • getVssServerPath

      protected String getVssServerPath()
      Get the VSS server path
      Returns:
      if it was set, null if not.
    • getSosHome

      protected String getSosHome()
      Get the SOS home directory.
      Returns:
      if it was set, null if not.
    • getSosServerPath

      protected String getSosServerPath()
      Get the SOS serve path.
      Returns:
      if it was set, null if not.
    • getFilename

      protected String getFilename()
      Get the filename to be acted upon.
      Returns:
      if it was set, null if not.
    • getNoCompress

      protected String getNoCompress()
      Get the NoCompress flag.
      Returns:
      the 'nocompress' Flag if the attribute was 'true', otherwise an empty string.
    • getNoCache

      protected String getNoCache()
      Get the NoCache flag.
      Returns:
      the 'nocache' Flag if the attribute was 'true', otherwise an empty string.
    • getVerbose

      protected String getVerbose()
      Get the 'verbose' Flag.
      Returns:
      the 'verbose' Flag if the attribute was 'true', otherwise an empty string.
    • getRecursive

      protected String getRecursive()
      Get the 'recursive' Flag.
      Returns:
      the 'recursive' Flag if the attribute was 'true', otherwise an empty string.
    • getLocalPath

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