org.apache.tools.ant.taskdefs.optional.vss

Class MSVSS

Implemented Interfaces:
MSVSSConstants
Known Direct 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

Method Summary

void
execute()
Executes the task.
protected String
getAutoresponse()
Gets the auto response string.
protected String
getComment()
Gets the comment string.
String
getFileTimeStamp()
Gets the value set for the FileTimeStamp.
protected String
getGetLocalCopy()
Builds and returns the -G- flag if required.
protected String
getLabel()
Gets the label string.
protected String
getLocalpath()
Gets the localpath string.
protected String
getLogin()
Gets the login string.
protected String
getOutput()
Gets the output file string.
protected String
getQuiet()
Gets the quiet string.
protected String
getRecursive()
Gets the recursive string.
protected String
getSSCommand()
Gets the sscommand string.
protected String
getStyle()
Gets the style string.
protected String
getUser()
Gets the user string.
protected String
getVersion()
Gets the version string.
protected String
getVersionDate()
Gets the Version date string.
protected String
getVersionDateLabel()
Gets the version string.
protected String
getVersionLabel()
Gets the version string.
protected String
getVsspath()
Gets the vssserverpath string.
protected String
getWritable()
Gets the writable string.
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(String autoResponse)
protected void
setInternalComment(String comment)
protected void
setInternalDate(String date)
protected void
setInternalDateFormat(DateFormat dateFormat)
protected void
setInternalFailOnError(boolean failOnError)
protected void
setInternalFileTimeStamp(MSVSS.CurrentModUpdated timestamp)
protected void
setInternalFromDate(String fromDate)
protected void
setInternalFromLabel(String fromLabel)
protected void
setInternalGetLocalCopy(boolean getLocalCopy)
protected void
setInternalLabel(String label)
protected void
setInternalLocalPath(String localPath)
protected void
setInternalNumDays(int numDays)
protected void
setInternalOutputFilename(String outputFileName)
protected void
setInternalQuiet(boolean quiet)
protected void
setInternalRecursive(boolean recursive)
protected void
setInternalStyle(String style)
protected void
setInternalToDate(String toDate)
protected void
setInternalToLabel(String toLabel)
protected void
setInternalUser(String user)
protected void
setInternalVersion(String version)
protected void
setInternalWritable(boolean writable)
protected void
setInternalWritableFiles(MSVSS.WritableFiles writableFiles)
void
setLogin(String vssLogin)
Login to use when accessing VSS, formatted as "username,password".
void
setServerpath(String serverPath)
Directory where srssafe.ini resides.
void
setSsdir(String dir)
Directory where ss.exe resides.
void
setVsspath(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

execute, 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, log, log, setProject

Method Details

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 interface Task
Throws:
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".
Returns:
The default value "-I-" if autoresponse is not set.

getComment

protected String getComment()
Gets the comment string. "-Ccomment text"
Returns:
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
Returns:
The default file time flag, if not set.

getGetLocalCopy

protected String getGetLocalCopy()
Builds and returns the -G- flag if required.
Returns:
An empty string if get local copy is true.

getLabel

protected String getLabel()
Gets the label string. "-Lbuild1" Max label length is 32 chars
Returns:
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.

Returns:
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".
Returns:
An empty string if login is not set.

getOutput

protected String getOutput()
Gets the output file string. "-Ooutput.file"
Returns:
An empty string if user is not set.

getQuiet

protected String getQuiet()
Gets the quiet string. -O-
Returns:
An empty string if quiet is not set or is false.

getRecursive

protected String getRecursive()
Gets the recursive string. "-R"
Returns:
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"
Returns:
The path to ss.exe or just ss if sscommand is not set.

getStyle

protected String getStyle()
Gets the style string. "-Lbuild1"
Returns:
An empty string if label is not set.

getUser

protected String getUser()
Gets the user string. "-Uusername"
Returns:
An empty string if user is not set.

getVersion

protected String getVersion()
Gets the version string.
Returns:
An empty string if a version is not set.

getVersionDate

protected String getVersionDate()
            throws BuildException
Gets the Version date string.
Returns:
An empty string if neither Todate or from date are set.
Throws:
BuildException -

getVersionDateLabel

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

getVersionLabel

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

getVsspath

protected String getVsspath()
Gets the vssserverpath string.
Returns:
null if vssserverpath is not set.

getWritable

protected String getWritable()
Gets the writable string. "-W"
Returns:
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.
Returns:
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.
Parameters:
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)

setInternalFileTimeStamp

protected void setInternalFileTimeStamp(MSVSS.CurrentModUpdated timestamp)

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.

Parameters:
vssLogin - The login string to use.

setServerpath

public final void setServerpath(String serverPath)
Directory where srssafe.ini resides.
Parameters:
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.
Parameters:
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.

Parameters:
vssPath - The VSS project path.

Copyright B) 2000-2008 Apache Software Foundation. All Rights Reserved.