## org.apache.tools.ant.taskdefs.optional.vss
Class MSVSS

    java.lang.Object
      |
      +--org.apache.tools.ant.ProjectComponent
            |
            +--org.apache.tools.ant.Task
                  |
                  +--org.apache.tools.ant.taskdefs.optional.vss.MSVSS

All Implemented Interfaces:
  MSVSSConstants

Direct Known Subclasses:
  MSVSSADD, MSVSSCHECKIN, MSVSSCHECKOUT, MSVSSCP, MSVSSCREATE, MSVSSGET, MSVSSHISTORY, MSVSSLABEL

public abstract class MSVSS
extends Task
implements MSVSSConstants

A base class for creating tasks for executing commands on Visual SourceSafe.

The class extends the 'exec' task as it operates by executing the ss.exe program supplied with SourceSafe. By default the task expects ss.exe to be in the path, you can override this be specifying the ssdir attribute.

This class provides set and get methods for 'login' and 'vsspath' attributes. It also contains constants for the flags that can be passed to SS.

Nested Class Summary
`static class` `MSVSS.CurrentModUpdated` Extention of EnumeratedAttribute to hold the values for file time stamp.
`static class` `MSVSS.WritableFiles` Extention of EnumeratedAttribute to hold the values for writable filess.

Field Summary

Fields inherited from class org.apache.tools.ant.Task
`description, location, target, taskName, taskType, wrapper`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`project`

Fields inherited from interface org.apache.tools.ant.taskdefs.optional.vss.MSVSSConstants

`COMMAND_ADD, COMMAND_CHECKIN, COMMAND_CHECKOUT, COMMAND_CP, COMMAND_CREATE, COMMAND_GET, COMMAND_HISTORY, COMMAND_LABEL, FLAG_AUTORESPONSE_DEF, FLAG_AUTORESPONSE_NO, FLAG_AUTORESPONSE_YES, FLAG_BRIEF, FLAG_CODEDIFF, FLAG_COMMENT, FLAG_FILETIME_DEF, FLAG_FILETIME_MODIFIED, FLAG_FILETIME_UPDATED, FLAG_LABEL, FLAG_LOGIN, FLAG_NO_FILE, FLAG_NO_GET, FLAG_OUTPUT, FLAG_OVERRIDE_WORKING_DIR, FLAG_QUIET, FLAG_RECURSION, FLAG_REPLACE_WRITABLE, FLAG_SKIP_WRITABLE, FLAG_USER, FLAG_VERSION, FLAG_VERSION_DATE, FLAG_VERSION_LABEL, FLAG_WRITABLE, PROJECT_PREFIX, SS_EXE, STYLE_BRIEF, STYLE_CODEDIFF, STYLE_DEFAULT, STYLE_NOFILE, TIME_CURRENT, TIME_MODIFIED, TIME_UPDATED, VALUE_FROMDATE, VALUE_FROMLABEL, VALUE_NO, VALUE_YES, WRITABLE_FAIL, WRITABLE_REPLACE, WRITABLE_SKIP`

Constructor Summary
`MSVSS()`

Method Summary
`void` `execute()` Executes the task.
`protected java.lang.String` `getAutoresponse()` Gets the auto response string.
`protected java.lang.String` `getComment()` Gets the comment string.
`java.lang.String` `getFileTimeStamp()` Gets the value set for the FileTimeStamp.
`protected java.lang.String` `getGetLocalCopy()` Builds and returns the -G- flag if required.
`protected java.lang.String` `getLabel()` Gets the label string.
`protected java.lang.String` `getLocalpath()` Gets the localpath string.
`protected java.lang.String` `getLogin()` Gets the login string.
`protected java.lang.String` `getOutput()` Gets the output file string.
`protected java.lang.String` `getQuiet()` Gets the quiet string.
`protected java.lang.String` `getRecursive()` Gets the recursive string.
`protected java.lang.String` `getSSCommand()` Gets the sscommand string.
`protected java.lang.String` `getStyle()` Gets the style string.
`protected java.lang.String` `getUser()` Gets the user string.
`protected java.lang.String` `getVersion()` Gets the version string.
`protected java.lang.String` `getVersionDate()` Gets the Version date string.
`protected java.lang.String` `getVersionDateLabel()` Gets the version string.
`protected java.lang.String` `getVersionLabel()` Gets the version string.
`protected java.lang.String` `getVsspath()` Gets the vssserverpath string.
`protected java.lang.String` `getWritable()` Gets the writable string.
`java.lang.String` `getWritableFiles()` Gets the value to determine the behaviour when encountering writable files.
`void` `setFailOnError(boolean failOnError)` Indicates if the build should fail if the Sourcesafe command does.
`protected void` `setInternalAutoResponse(java.lang.String autoResponse)`
`protected void` `setInternalComment(java.lang.String comment)`
`protected void` `setInternalDate(java.lang.String date)`
`protected void` `setInternalDateFormat(java.text.DateFormat dateFormat)`
`protected void` `setInternalFailOnError(boolean failOnError)`
`protected void` `setInternalFileTimeStamp(MSVSS.CurrentModUpdated timestamp)`
`protected void` `setInternalFromDate(java.lang.String fromDate)`
`protected void` `setInternalFromLabel(java.lang.String fromLabel)`
`protected void` `setInternalGetLocalCopy(boolean getLocalCopy)`
`protected void` `setInternalLabel(java.lang.String label)`
`protected void` `setInternalLocalPath(java.lang.String localPath)`
`protected void` `setInternalNumDays(int numDays)`
`protected void` `setInternalOutputFilename(java.lang.String outputFileName)`
`protected void` `setInternalQuiet(boolean quiet)`
`protected void` `setInternalRecursive(boolean recursive)`
`protected void` `setInternalStyle(java.lang.String style)`
`protected void` `setInternalToDate(java.lang.String toDate)`
`protected void` `setInternalToLabel(java.lang.String toLabel)`
`protected void` `setInternalUser(java.lang.String user)`
`protected void` `setInternalVersion(java.lang.String version)`
`protected void` `setInternalWritable(boolean writable)`
`protected void` `setInternalWritableFiles(MSVSS.WritableFiles writableFiles)`
`void` `setLogin(java.lang.String vssLogin)` Login to use when accessing VSS, formatted as "username,password".
`void` `setServerpath(java.lang.String serverPath)` Directory where `srssafe.ini` resides.
`void` `setSsdir(java.lang.String dir)` Directory where `ss.exe` resides.
`void` `setVsspath(java.lang.String vssPath)` SourceSafe path which specifies the project/file(s) you wish to perform the action on.

Methods inherited from class org.apache.tools.ant.Task
`getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`getProject, setProject`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MSVSS

    public MSVSS()

Method Detail

### setSsdir

    public final void setSsdir(java.lang.String dir)

  Directory where `ss.exe` resides. By default the task expects it to be in the PATH.

  Parameters:
    `dir` - The directory containing ss.exe.

### setLogin

    public final void setLogin(java.lang.String vssLogin)

  Login to use when accessing VSS, formatted as "username,password".

  You can omit the password if your database is not password protected. If you have a password and omit it, Ant will hang.

  Parameters:
    `vssLogin` - The login string to use.

### setVsspath

    public final void setVsspath(java.lang.String vssPath)

  SourceSafe path which specifies the project/file(s) you wish to perform the action on.

  A prefix of 'vss://' will be removed if specified.

  Parameters:
    `vssPath` - The VSS project path.

### setServerpath

    public final void setServerpath(java.lang.String serverPath)

  Directory where `srssafe.ini` resides.

  Parameters:
    `serverPath` - The path to the VSS server.

### setFailOnError

    public final void setFailOnError(boolean failOnError)

  Indicates if the build should fail if the Sourcesafe command does. Defaults to true.

  Parameters:
    `failOnError` - True if task should fail on any error.

### execute

    public void execute()
                 throws BuildException

  Executes the task.
  Builds a command line to execute ss.exe and then calls Exec's run method to execute the command line.

  Overrides:
    `execute` in class `Task`
  Throws:
    `BuildException` - if the command cannot execute.

### setInternalComment

    protected void setInternalComment(java.lang.String comment)

### setInternalAutoResponse

    protected void setInternalAutoResponse(java.lang.String autoResponse)

### setInternalDate

    protected void setInternalDate(java.lang.String date)

### setInternalDateFormat

    protected void setInternalDateFormat(java.text.DateFormat dateFormat)

### setInternalFailOnError

    protected void setInternalFailOnError(boolean failOnError)

### setInternalFromDate

    protected void setInternalFromDate(java.lang.String fromDate)

### setInternalFromLabel

    protected void setInternalFromLabel(java.lang.String fromLabel)

### setInternalLabel

    protected void setInternalLabel(java.lang.String label)

### setInternalLocalPath

    protected void setInternalLocalPath(java.lang.String localPath)

### setInternalNumDays

    protected void setInternalNumDays(int numDays)

### setInternalOutputFilename

    protected void setInternalOutputFilename(java.lang.String outputFileName)

### setInternalQuiet

    protected void setInternalQuiet(boolean quiet)

### setInternalRecursive

    protected void setInternalRecursive(boolean recursive)

### setInternalStyle

    protected void setInternalStyle(java.lang.String style)

### setInternalToDate

    protected void setInternalToDate(java.lang.String toDate)

### setInternalToLabel

    protected void setInternalToLabel(java.lang.String toLabel)

### setInternalUser

    protected void setInternalUser(java.lang.String user)

### setInternalVersion

    protected void setInternalVersion(java.lang.String version)

### setInternalWritable

    protected void setInternalWritable(boolean writable)

### setInternalFileTimeStamp

    protected void setInternalFileTimeStamp(MSVSS.CurrentModUpdated timestamp)

### setInternalWritableFiles

    protected void setInternalWritableFiles(MSVSS.WritableFiles writableFiles)

### setInternalGetLocalCopy

    protected void setInternalGetLocalCopy(boolean getLocalCopy)

### getSSCommand

    protected java.lang.String getSSCommand()

  Gets the sscommand string. "ss" or "c:\path\to\ss"

  Returns:
    The path to ss.exe or just ss if sscommand is not set.

### getVsspath

    protected java.lang.String getVsspath()

  Gets the vssserverpath string.

  Returns:
    null if vssserverpath is not set.

### getQuiet

    protected java.lang.String getQuiet()

  Gets the quiet string. -O-

  Returns:
    An empty string if quiet is not set or is false.

### getRecursive

    protected java.lang.String getRecursive()

  Gets the recursive string. "-R"

  Returns:
    An empty string if recursive is not set or is false.

### getWritable

    protected java.lang.String getWritable()

  Gets the writable string. "-W"

  Returns:
    An empty string if writable is not set or is false.

### getLabel

    protected java.lang.String getLabel()

  Gets the label string. "-Lbuild1" Max label length is 32 chars

  Returns:
    An empty string if label is not set.

### getStyle

    protected java.lang.String getStyle()

  Gets the style string. "-Lbuild1"

  Returns:
    An empty string if label is not set.

### getVersionDateLabel

    protected java.lang.String getVersionDateLabel()

  Gets the version string. Returns the first specified of version "-V1.0", date "-Vd01.01.01", label "-Vlbuild1".

  Returns:
    An empty string if a version, date and label are not set.

### getVersion

    protected java.lang.String getVersion()

  Gets the version string.

  Returns:
    An empty string if a version is not set.

### getLocalpath

    protected java.lang.String getLocalpath()

  Gets the localpath string. "-GLc:\source"

  The localpath is created if it didn't exist.

  Returns:
    An empty string if localpath is not set.

### getComment

    protected java.lang.String getComment()

  Gets the comment string. "-Ccomment text"

  Returns:
    A comment of "-" if comment is not set.

### getAutoresponse

    protected java.lang.String getAutoresponse()

  Gets the auto response string. This can be Y "-I-Y" or N "-I-N".

  Returns:
    The default value "-I-" if autoresponse is not set.

### getLogin

    protected java.lang.String getLogin()

  Gets the login string. This can be user and password, "-Yuser,password" or just user "-Yuser".

  Returns:
    An empty string if login is not set.

### getOutput

    protected java.lang.String getOutput()

  Gets the output file string. "-Ooutput.file"

  Returns:
    An empty string if user is not set.

### getUser

    protected java.lang.String getUser()

  Gets the user string. "-Uusername"

  Returns:
    An empty string if user is not set.

### getVersionLabel

    protected java.lang.String getVersionLabel()

  Gets the version string. This can be to-from "-VLbuild2~Lbuild1", from "~Lbuild1" or to "-VLbuild2".

  Returns:
    An empty string if neither tolabel or fromlabel are set.

### getVersionDate

    protected java.lang.String getVersionDate()
                                       throws BuildException

  Gets the Version date string.

  Returns:
    An empty string if neither Todate or from date are set.
  Throws:
    `BuildException`

### getGetLocalCopy

    protected java.lang.String getGetLocalCopy()

  Builds and returns the -G- flag if required.

  Returns:
    An empty string if get local copy is true.

### getFileTimeStamp

    public java.lang.String getFileTimeStamp()

  Gets the value set for the FileTimeStamp. if it equals "current" then we return -GTC if it equals "modified" then we return -GTM if it equals "updated" then we return -GTU otherwise we return -GTC

  Returns:
    The default file time flag, if not set.

### getWritableFiles

    public java.lang.String getWritableFiles()

  Gets the value to determine the behaviour when encountering writable files.

  Returns:
    An empty String, if not set.

Copyright © 2000-2005 Apache Software Foundation. All Rights Reserved.