Submitted by: Andrew Everitt <Andrew.Everitt@gbr.xerox.com> git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267792 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -3704,42 +3704,48 @@ The following attributes are interpretted: | |||||
| <td>login</td> | <td>login</td> | ||||
| <td>username,password</td> | <td>username,password</td> | ||||
| <td>No</td> | <td>No</td> | ||||
| <tr> | |||||
| </tr> | |||||
| <tr> | <tr> | ||||
| <td>vsspath</td> | <td>vsspath</td> | ||||
| <td>SourceSafe path</td> | <td>SourceSafe path</td> | ||||
| <td>Yes</td> | <td>Yes</td> | ||||
| <tr> | |||||
| </tr> | |||||
| <tr> | <tr> | ||||
| <td>localpath</td> | <td>localpath</td> | ||||
| <td>Override the working directory and get to the specified path</td> | <td>Override the working directory and get to the specified path</td> | ||||
| <td>No</td> | <td>No</td> | ||||
| <tr> | |||||
| </tr> | |||||
| <tr> | <tr> | ||||
| <td>writable</td> | <td>writable</td> | ||||
| <td>true or false</td> | <td>true or false</td> | ||||
| <td>No</td> | <td>No</td> | ||||
| <tr> | |||||
| </tr> | |||||
| <tr> | <tr> | ||||
| <td>recursive</td> | <td>recursive</td> | ||||
| <td>true or false</td> | <td>true or false</td> | ||||
| <td>No</td> | <td>No</td> | ||||
| <tr> | |||||
| </tr> | |||||
| <tr> | <tr> | ||||
| <td>version</td> | <td>version</td> | ||||
| <td>a version number to get</td> | <td>a version number to get</td> | ||||
| <td>No</td> | <td>No</td> | ||||
| <tr> | |||||
| </tr> | |||||
| <tr> | <tr> | ||||
| <td>date</td> | <td>date</td> | ||||
| <td>a date stamp to get at</td> | <td>a date stamp to get at</td> | ||||
| <td>No</td> | <td>No</td> | ||||
| <tr> | |||||
| </tr> | |||||
| <tr> | <tr> | ||||
| <td>label</td> | <td>label</td> | ||||
| <td>a label to get for</td> | <td>a label to get for</td> | ||||
| <td>No</td> | <td>No</td> | ||||
| </tr> | |||||
| <tr> | <tr> | ||||
| <td>ssdir</td> | |||||
| <td>directory where <code>ss.exe</code> resides. By default the | |||||
| task expects it to be in the PATH.</td> | |||||
| <td>No</td> | |||||
| </tr> | |||||
| </table> | </table> | ||||
| <p>Note that only one of version, date or label should be specified</p> | <p>Note that only one of version, date or label should be specified</p> | ||||
| <h3>Examples</h3> | <h3>Examples</h3> | ||||
| @@ -63,8 +63,8 @@ import java.io.File; | |||||
| * A base class for creating tasks for executing commands on Visual SourceSafe. | * A base class for creating tasks for executing commands on Visual SourceSafe. | ||||
| * <p> | * <p> | ||||
| * The class extends the 'exec' task as it operates by executing the ss.exe program | * The class extends the 'exec' task as it operates by executing the ss.exe program | ||||
| * supplied with SourceSafe. You will need to have ss.exe in your PATH to use this | |||||
| * task. | |||||
| * supplied with SourceSafe. By default the task expects ss.exe to be in the path, | |||||
| * you can override this be specifying the ssdir attribute. | |||||
| * </p> | * </p> | ||||
| * <p> | * <p> | ||||
| * This class provides set and get methods for 'login' and 'vsspath' attributes. It | * This class provides set and get methods for 'login' and 'vsspath' attributes. It | ||||
| @@ -76,9 +76,32 @@ import java.io.File; | |||||
| */ | */ | ||||
| public abstract class MSVSS extends Exec { | public abstract class MSVSS extends Exec { | ||||
| private String m_SSDir = ""; | |||||
| private String m_vssLogin = null; | private String m_vssLogin = null; | ||||
| private String m_vssPath = null; | private String m_vssPath = null; | ||||
| /** | |||||
| * Set the directory where ss.exe is located | |||||
| * | |||||
| * @param dir the directory containing ss.exe | |||||
| */ | |||||
| public final void setSsdir(String dir) { | |||||
| m_SSDir = project.translatePath(dir); | |||||
| } | |||||
| /** | |||||
| * Builds and returns the command string to execute ss.exe | |||||
| */ | |||||
| public final String getSSCommand() { | |||||
| String toReturn = m_SSDir; | |||||
| if ( !toReturn.equals("") && !toReturn.endsWith("\\") ) { | |||||
| toReturn += "\\"; | |||||
| } | |||||
| toReturn += SS_EXE; | |||||
| return toReturn; | |||||
| } | |||||
| /** | /** | ||||
| * Set the login to use when accessing vss. | * Set the login to use when accessing vss. | ||||
| * <p> | * <p> | ||||
| @@ -128,7 +151,7 @@ public abstract class MSVSS extends Exec { | |||||
| /** | /** | ||||
| * Constant for the thing to execute | * Constant for the thing to execute | ||||
| */ | */ | ||||
| public static final String SS_EXE = "ss"; | |||||
| private static final String SS_EXE = "ss"; | |||||
| /** */ | /** */ | ||||
| public static final String PROJECT_PREFIX = "$"; | public static final String PROJECT_PREFIX = "$"; | ||||
| @@ -144,7 +144,7 @@ public class MSVSSGET extends MSVSS { | |||||
| // build the command line from what we got the format is | // build the command line from what we got the format is | ||||
| // ss Get VSS items [-G] [-H] [-I-] [-N] [-O] [-R] [-V] [-W] [-Y] [-?] | // ss Get VSS items [-G] [-H] [-I-] [-N] [-O] [-R] [-V] [-W] [-Y] [-?] | ||||
| // as specified in the SS.EXE help | // as specified in the SS.EXE help | ||||
| commandLine.append(SS_EXE).append(' ').append(COMMAND_GET); | |||||
| commandLine.append(getSSCommand()).append(' ').append(COMMAND_GET); | |||||
| // VSS items | // VSS items | ||||
| commandLine.append(getVsspath()); | commandLine.append(getVsspath()); | ||||