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.
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.
- execute in interface Task
BuildException
- if the command cannot execute.
getAutoresponse
protected String getAutoresponse()
Gets the auto response string. This can be Y "-I-Y" or N "-I-N".
- The default value "-I-" if autoresponse is not set.
getComment
protected String getComment()
Gets the comment string. "-Ccomment text"
- A comment of "-" if comment is not set.
getFileTimeStamp
public 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
- The default file time flag, if not set.
getGetLocalCopy
protected String getGetLocalCopy()
Builds and returns the -G- flag if required.
- An empty string if get local copy is true.
getLabel
protected String getLabel()
Gets the label string. "-Lbuild1"
Max label length is 32 chars
- An empty string if label is not set.
getLocalpath
protected String getLocalpath()
Gets the localpath string. "-GLc:\source"
The localpath is created if it didn't exist.
- An empty string if localpath is not set.
getLogin
protected String getLogin()
Gets the login string. This can be user and password, "-Yuser,password"
or just user "-Yuser".
- An empty string if login is not set.
getOutput
protected String getOutput()
Gets the output file string. "-Ooutput.file"
- An empty string if user is not set.
getQuiet
protected String getQuiet()
Gets the quiet string. -O-
- An empty string if quiet is not set or is false.
getRecursive
protected String getRecursive()
Gets the recursive string. "-R"
- An empty string if recursive is not set or is false.
getSSCommand
protected String getSSCommand()
Gets the sscommand string. "ss" or "c:\path\to\ss"
- The path to ss.exe or just ss if sscommand is not set.
getStyle
protected String getStyle()
Gets the style string. "-Lbuild1"
- An empty string if label is not set.
getUser
protected String getUser()
Gets the user string. "-Uusername"
- An empty string if user is not set.
getVersion
protected String getVersion()
Gets the version string.
- An empty string if a version is not set.
getVersionDate
protected String getVersionDate()
throws BuildException
Gets the Version date string.
- An empty string if neither Todate or from date are set.
BuildException
-
getVersionDateLabel
protected String getVersionDateLabel()
Gets the version string. Returns the first specified of version "-V1.0",
date "-Vd01.01.01", label "-Vlbuild1".
- An empty string if a version, date and label are not set.
getVersionLabel
protected String getVersionLabel()
Gets the version string. This can be to-from "-VLbuild2~Lbuild1", from
"~Lbuild1" or to "-VLbuild2".
- An empty string if neither tolabel or fromlabel are set.
getVsspath
protected String getVsspath()
Gets the vssserverpath string.
- null if vssserverpath is not set.
getWritable
protected String getWritable()
Gets the writable string. "-W"
- An empty string if writable is not set or is false.
getWritableFiles
public String getWritableFiles()
Gets the value to determine the behaviour when encountering writable files.
- An empty String, if not set.
setFailOnError
public final void setFailOnError(boolean failOnError)
Indicates if the build should fail if the Sourcesafe command does. Defaults to true.
failOnError
- True if task should fail on any error.
setInternalAutoResponse
protected void setInternalAutoResponse(String autoResponse)
setInternalComment
protected void setInternalComment(String comment)
setInternalDate
protected void setInternalDate(String date)
setInternalDateFormat
protected void setInternalDateFormat(DateFormat dateFormat)
setInternalFailOnError
protected void setInternalFailOnError(boolean failOnError)
setInternalFromDate
protected void setInternalFromDate(String fromDate)
setInternalFromLabel
protected void setInternalFromLabel(String fromLabel)
setInternalGetLocalCopy
protected void setInternalGetLocalCopy(boolean getLocalCopy)
setInternalLabel
protected void setInternalLabel(String label)
setInternalLocalPath
protected void setInternalLocalPath(String localPath)
setInternalNumDays
protected void setInternalNumDays(int numDays)
setInternalOutputFilename
protected void setInternalOutputFilename(String outputFileName)
setInternalQuiet
protected void setInternalQuiet(boolean quiet)
setInternalRecursive
protected void setInternalRecursive(boolean recursive)
setInternalStyle
protected void setInternalStyle(String style)
setInternalToDate
protected void setInternalToDate(String toDate)
setInternalToLabel
protected void setInternalToLabel(String toLabel)
setInternalUser
protected void setInternalUser(String user)
setInternalVersion
protected void setInternalVersion(String version)
setInternalWritable
protected void setInternalWritable(boolean writable)
setInternalWritableFiles
protected void setInternalWritableFiles(MSVSS.WritableFiles writableFiles)
setLogin
public final void setLogin(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.
vssLogin
- The login string to use.
setServerpath
public final void setServerpath(String serverPath)
Directory where srssafe.ini
resides.
serverPath
- The path to the VSS server.
setSsdir
public final void setSsdir(String dir)
Directory where ss.exe
resides.
By default the task expects it to be in the PATH.
dir
- The directory containing ss.exe.
setVsspath
public final void setVsspath(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.
vssPath
- The VSS project path.