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:
Cloneable, MSVSSConstants
- Direct Known Subclasses:
MSVSSADD, MSVSSCHECKIN, MSVSSCHECKOUT, MSVSSCP, MSVSSCREATE, MSVSSGET, MSVSSHISTORY, MSVSSLABEL
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
Nested ClassesModifier and TypeClassDescriptionstatic classExtension of EnumeratedAttribute to hold the values for file time stamp.static classExtension of EnumeratedAttribute to hold the values for writable filess. -
Field Summary
Fields inherited from class ProjectComponent
description, location, projectFields inherited from interface 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_SKIPModifier and TypeFieldDescriptionstatic final StringThe 'Add' commandstatic final StringThe 'Checkin' commandstatic final StringThe 'Checkout' commandstatic final StringThe 'CP' commandstatic final StringThe 'Create' commandstatic final StringThe 'Get' commandstatic final StringThe 'History' commandstatic final StringThe 'Label' commandstatic final String-I- flagstatic final String-I-N flagstatic final String-I-Y flagstatic final String-B flagstatic final String-D flagstatic final String-C flagstatic final String-GTC flagstatic final String-GTM flagstatic final String-GTU flagstatic final String-L flagstatic final String-Y flagstatic final String-F- flagstatic final String-G- flagstatic final String-O flagstatic final String-GL flagstatic final String-O- flagstatic final String-R flagstatic final String-GWR flagstatic final String-GWS flagstatic final String-U flagstatic final String-V flagstatic final String-Vd flagstatic final String-VL flagstatic final String-W flagstatic final StringDollar Sigh to prefix the project pathstatic final StringConstant for the thing to executestatic final StringThe brief style flagstatic final StringThe codediff style flagstatic final StringThe default style flagstatic final StringThe nofile style flagstatic final StringThe text for current (default) timestampstatic final StringThe text for modified timestampstatic final StringThe text for updated timestampstatic final String~d flagstatic final String~L flagstatic final String-N flagstatic final String-Y flagstatic final StringThe text for failing on writable filesstatic final StringThe text for replacing writable filesstatic final StringThe text for skipping writable files -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute()Executes the task.protected StringGets the auto response string.protected StringGets the comment string.Gets the value set for the FileTimeStamp.protected StringBuilds and returns the -G- flag if required.protected StringgetLabel()Gets the label string.protected StringGets the localpath string.protected StringgetLogin()Gets the login string.protected StringGets the output file string.protected StringgetQuiet()Gets the quiet string.protected StringGets the recursive string.protected StringGets the sscommand string.protected StringgetStyle()Gets the style string.protected StringgetUser()Gets the user string.protected StringGets the version string.protected StringGets the Version date string.protected StringGets the version string.protected StringGets the version string.protected StringGets the vssserverpath string.protected StringGets the writable string.Gets the value to determine the behaviour when encountering writable files.final voidsetFailOnError(boolean failOnError) Indicates if the build should fail if the Sourcesafe command does.protected voidsetInternalAutoResponse(String autoResponse) Set the auto response attribute.protected voidsetInternalComment(String comment) Set the internal comment attribute.protected voidsetInternalDate(String date) Set the date attribute.protected voidsetInternalDateFormat(DateFormat dateFormat) Set the date format attribute.protected voidsetInternalFailOnError(boolean failOnError) Set the failOnError attribute.protected voidsetInternalFileTimeStamp(MSVSS.CurrentModUpdated timestamp) Set the timestamp attribute.protected voidsetInternalFromDate(String fromDate) Set the from date attribute.protected voidsetInternalFromLabel(String fromLabel) Set the from label attribute.protected voidsetInternalGetLocalCopy(boolean getLocalCopy) Set the getLocalCopy attribute.protected voidsetInternalLabel(String label) Set the label attribute.protected voidsetInternalLocalPath(String localPath) Set the local path comment attribute.protected voidsetInternalNumDays(int numDays) Set the num days attribute.protected voidsetInternalOutputFilename(String outputFileName) Set the outputFileName comment attribute.protected voidsetInternalQuiet(boolean quiet) Set the quiet attribute.protected voidsetInternalRecursive(boolean recursive) Set the recursive attribute.protected voidsetInternalStyle(String style) Set the style attribute.protected voidsetInternalToDate(String toDate) Set the to date attribute.protected voidsetInternalToLabel(String toLabel) Set the to label attribute.protected voidsetInternalUser(String user) Set the user attribute.protected voidsetInternalVersion(String version) Set the version attribute.protected voidsetInternalWritable(boolean writable) Set the writable attribute.protected voidsetInternalWritableFiles(MSVSS.WritableFiles writableFiles) Set the writableFiles attribute.final voidLogin to use when accessing VSS, formatted as "username,password".final voidsetServerpath(String serverPath) Directory wheresrssafe.iniresides.final voidDirectory wheress.exeresides.final voidsetVsspath(String vssPath) SourceSafe path which specifies the project/file(s) you wish to perform the action on.Methods inherited from class Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeModifier and TypeMethodDescriptionfinal voidbindToOwner(Task owner) Bind a task to another; use this when configuring a newly created task to do work on behalf of another.Returns the container target of this task.Returns the wrapper used for runtime configuration.Returns the name to use in logging messages.Return the type of task.protected RuntimeConfigurableReturn the runtime configurable structure for this task.protected voidhandleErrorFlush(String output) Handles an error line by logging it with the WARN priority.protected voidhandleErrorOutput(String output) Handles an error output by logging it with the WARN priority.protected voidhandleFlush(String output) Handles output by logging it with the INFO priority.protected inthandleInput(byte[] buffer, int offset, int length) Handle an input request by this task.protected voidhandleOutput(String output) Handles output by logging it with the INFO priority.voidinit()Called by the project to let the task initialize properly.protected final booleanHas this task been marked invalid?voidLogs a message with the default (INFO) priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidConfigures this task - if it hasn't been done already.final voidperform()Performs this task if it's still valid, or gets a replacement version and performs that otherwise.voidForce the task to be reconfigured from its RuntimeConfigurable.voidsetOwningTarget(Target target) Sets the target container of this task.voidSets the wrapper to be used for runtime configuration.voidsetTaskName(String name) Sets the name to use in logging messages.voidsetTaskType(String type) Sets the name with which the task has been invoked.Methods inherited from class ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProjectModifier and TypeMethodDescriptionclone()Returns the description of the current action.Returns the file/location where this task was defined.Returns the project to which this component belongs.voidsetDescription(String desc) Sets a description of the current action.voidsetLocation(Location location) Sets the file/location where this task was defined.voidsetProject(Project project) Sets the project object of this component.
-
Constructor Details
-
MSVSS
public MSVSS()
-
-
Method Details
-
setSsdir
Directory wheress.exeresides. By default the task expects it to be in the PATH.- Parameters:
dir- The directory containing ss.exe.
-
setLogin
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
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
Directory wheresrssafe.iniresides.- 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
Executes the task.Builds a command line to execute ss.exe and then calls Exec's run method to execute the command line.
- Overrides:
executein classTask- Throws:
BuildException- if the command cannot execute.
-
setInternalComment
Set the internal comment attribute.- Parameters:
comment- the value to use.
-
setInternalAutoResponse
Set the auto response attribute.- Parameters:
autoResponse- the value to use.
-
setInternalDate
Set the date attribute.- Parameters:
date- the value to use.
-
setInternalDateFormat
Set the date format attribute.- Parameters:
dateFormat- the value to use.
-
setInternalFailOnError
protected void setInternalFailOnError(boolean failOnError) Set the failOnError attribute.- Parameters:
failOnError- the value to use.
-
setInternalFromDate
Set the from date attribute.- Parameters:
fromDate- the value to use.
-
setInternalFromLabel
Set the from label attribute.- Parameters:
fromLabel- the value to use.
-
setInternalLabel
Set the label attribute.- Parameters:
label- the value to use.
-
setInternalLocalPath
Set the local path comment attribute.- Parameters:
localPath- the value to use.
-
setInternalNumDays
protected void setInternalNumDays(int numDays) Set the num days attribute.- Parameters:
numDays- the value to use.
-
setInternalOutputFilename
Set the outputFileName comment attribute.- Parameters:
outputFileName- the value to use.
-
setInternalQuiet
protected void setInternalQuiet(boolean quiet) Set the quiet attribute.- Parameters:
quiet- the value to use.
-
setInternalRecursive
protected void setInternalRecursive(boolean recursive) Set the recursive attribute.- Parameters:
recursive- the value to use.
-
setInternalStyle
Set the style attribute.- Parameters:
style- the value to use.
-
setInternalToDate
Set the to date attribute.- Parameters:
toDate- the value to use.
-
setInternalToLabel
Set the to label attribute.- Parameters:
toLabel- the value to use.
-
setInternalUser
Set the user attribute.- Parameters:
user- the value to use.
-
setInternalVersion
Set the version attribute.- Parameters:
version- the value to use.
-
setInternalWritable
protected void setInternalWritable(boolean writable) Set the writable attribute.- Parameters:
writable- the value to use.
-
setInternalFileTimeStamp
Set the timestamp attribute.- Parameters:
timestamp- the value to use.
-
setInternalWritableFiles
Set the writableFiles attribute.- Parameters:
writableFiles- the value to use.
-
setInternalGetLocalCopy
protected void setInternalGetLocalCopy(boolean getLocalCopy) Set the getLocalCopy attribute.- Parameters:
getLocalCopy- the value to use.
-
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
Gets the vssserverpath string.- Returns:
- null if vssserverpath is not set.
-
getQuiet
Gets the quiet string. -O-- Returns:
- An empty string if quiet is not set or is false.
-
getRecursive
Gets the recursive string. "-R"- Returns:
- An empty string if recursive is not set or is false.
-
getWritable
Gets the writable string. "-W"- Returns:
- An empty string if writable is not set or is false.
-
getLabel
Gets the label string. "-Lbuild1" Max label length is 32 chars- Returns:
- An empty string if label is not set.
-
getStyle
Gets the style string. "-Lbuild1"- Returns:
- An empty string if label is not set.
-
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
Gets the version string.- Returns:
- An empty string if a version is not set.
-
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
Gets the comment string. "-Ccomment text"- Returns:
- A comment of "-" if comment is not set.
-
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
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
Gets the output file string. "-Ooutput.file"- Returns:
- An empty string if user is not set.
-
getUser
Gets the user string. "-Uusername"- Returns:
- An empty string if user is not set.
-
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
Gets the Version date string.- Returns:
- An empty string if neither Todate or from date are set.
- Throws:
BuildException- if there is an error.
-
getGetLocalCopy
Builds and returns the -G- flag if required.- Returns:
- An empty string if get local copy is true.
-
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
Gets the value to determine the behaviour when encountering writable files.- Returns:
- An empty String, if not set.
-