attribute to <vssget>. Submitted by: Jon Skeet <jon.skeet@peramon.com> Note that I don't use VSS, so this patch has not been tested for functionality (it compiles and looks OK, that's all I can check). git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269398 13f79535-47bb-0310-9956-ffa450edef68master
@@ -126,6 +126,17 @@ label only one will be used in the order version, date, label.</p> | |||||
<td>label</td> | <td>label</td> | ||||
<td>a label to get for</td> | <td>a label to get for</td> | ||||
</tr> | </tr> | ||||
<tr> | |||||
<td>quiet</td> | |||||
<td>suppress output (off by default)</td> | |||||
<td>No</td> | |||||
</tr> | |||||
<tr> | |||||
<td>autoresponse</td> | |||||
<td>What to respond with (sets the -I option). By default, -I- is | |||||
used; values of Y or N will be appended to this.</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> | ||||
@@ -201,6 +212,12 @@ project.</p> | |||||
<td>The comment to use for this label. Empty or '-' for no comment.</td> | <td>The comment to use for this label. Empty or '-' for no comment.</td> | ||||
<td>No</td> | <td>No</td> | ||||
</tr> | </tr> | ||||
<tr> | |||||
<td>autoresponse</td> | |||||
<td>What to respond with (sets the -I option). By default, -I- is | |||||
used; values of Y or N will be appended to this.</td> | |||||
<td>No</td> | |||||
</tr> | |||||
</table> | </table> | ||||
<h3>Examples</h3> | <h3>Examples</h3> | ||||
<blockquote> | <blockquote> | ||||
@@ -242,5 +242,7 @@ public abstract class MSVSS extends Task { | |||||
public static final String VALUE_NO = "-N"; | public static final String VALUE_NO = "-N"; | ||||
/** */ | /** */ | ||||
public static final String VALUE_YES = "-Y"; | public static final String VALUE_YES = "-Y"; | ||||
/** */ | |||||
public static final String FLAG_QUIET = "-O-"; | |||||
} | } | ||||
@@ -74,42 +74,53 @@ import java.io.File; | |||||
* <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> | |||||
* <td>quiet</td> | |||||
* <td>suppress output (off by default)</td> | |||||
* <td>No</td> | |||||
* </tr> | |||||
* <tr> | * <tr> | ||||
* <td>autoresponse</td> | |||||
* <td>What to respond with (sets the -I option). By default, -I- is | |||||
* used; values of Y or N will be appended to this.</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> | ||||
* | * | ||||
@@ -125,6 +136,7 @@ public class MSVSSGET extends MSVSS { | |||||
private String m_Date = null; | private String m_Date = null; | ||||
private String m_Label = null; | private String m_Label = null; | ||||
private String m_AutoResponse = null; | private String m_AutoResponse = null; | ||||
private boolean m_Quiet = false; | |||||
/** | /** | ||||
* Executes the task. | * Executes the task. | ||||
@@ -156,6 +168,8 @@ public class MSVSSGET extends MSVSS { | |||||
getLocalpathCommand(commandLine); | getLocalpathCommand(commandLine); | ||||
// -I- or -I-Y or -I-N | // -I- or -I-Y or -I-N | ||||
getAutoresponse(commandLine); | getAutoresponse(commandLine); | ||||
// -O- | |||||
getQuietCommand(commandLine); | |||||
// -R | // -R | ||||
getRecursiveCommand(commandLine); | getRecursiveCommand(commandLine); | ||||
// -V | // -V | ||||
@@ -222,6 +236,19 @@ public class MSVSSGET extends MSVSS { | |||||
} | } | ||||
} | } | ||||
/** | |||||
* Sets/clears quiet mode | |||||
*/ | |||||
public final void setQuiet (boolean quiet) { | |||||
this.m_Quiet=quiet; | |||||
} | |||||
public void getQuietCommand (Commandline cmd) { | |||||
if (m_Quiet) { | |||||
cmd.createArgument().setValue (FLAG_QUIET); | |||||
} | |||||
} | |||||
/** | /** | ||||
* Set behaviour, used in get command to make files that are 'got' writable | * Set behaviour, used in get command to make files that are 'got' writable | ||||
*/ | */ | ||||
@@ -93,13 +93,25 @@ import org.apache.tools.ant.types.Commandline; | |||||
* <td>An existing file or project version to label</td> | * <td>An existing file or project version to label</td> | ||||
* <td>No</td> | * <td>No</td> | ||||
* </tr> | * </tr> | ||||
* <tr> | |||||
* <td>autoresponse</td> | |||||
* <td>What to respond with (sets the -I option). By default, -I- is | |||||
* used; values of Y or N will be appended to this.</td> | |||||
* <td>No</td> | |||||
* </tr> | |||||
* <tr> | |||||
* <td>comment</td> | |||||
* <td>The comment to use for this label. Empty or '-' for no comment.</td> | |||||
* <td>No</td> | |||||
* </tr> | |||||
* | |||||
* </table> | * </table> | ||||
* | * | ||||
* @author Phillip Wells | * @author Phillip Wells | ||||
*/ | */ | ||||
public class MSVSSLABEL extends MSVSS | public class MSVSSLABEL extends MSVSS | ||||
{ | { | ||||
private String m_AutoResponse = null; | |||||
private String m_Label = null; | private String m_Label = null; | ||||
private String m_Version = null; | private String m_Version = null; | ||||
private String m_Comment = "-"; | private String m_Comment = "-"; | ||||
@@ -140,8 +152,8 @@ public class MSVSSLABEL extends MSVSS | |||||
// -C | // -C | ||||
commandLine.createArgument().setValue("-C"+getComment()); | commandLine.createArgument().setValue("-C"+getComment()); | ||||
// -I- | |||||
commandLine.createArgument().setValue("-I-"); // ignore all errors | |||||
// -I- or -I-Y or -I-N | |||||
getAutoresponse(commandLine); | |||||
// -L | // -L | ||||
// Specify the new label on the command line (instead of being prompted) | // Specify the new label on the command line (instead of being prompted) | ||||
@@ -243,4 +255,33 @@ public class MSVSSLABEL extends MSVSS | |||||
public String getComment() { | public String getComment() { | ||||
return m_Comment; | return m_Comment; | ||||
} | } | ||||
public void setAutoresponse(String response){ | |||||
if ( response.equals("") || response.equals("null") ) { | |||||
m_AutoResponse = null; | |||||
} else { | |||||
m_AutoResponse = response; | |||||
} | |||||
} | |||||
/** | |||||
* Checks the value set for the autoResponse. | |||||
* if it equals "Y" then we return -I-Y | |||||
* if it equals "N" then we return -I-N | |||||
* otherwise we return -I | |||||
*/ | |||||
public void getAutoresponse(Commandline cmd) { | |||||
if ( m_AutoResponse == null) { | |||||
cmd.createArgument().setValue(FLAG_AUTORESPONSE_DEF); | |||||
} else if ( m_AutoResponse.equalsIgnoreCase("Y")) { | |||||
cmd.createArgument().setValue(FLAG_AUTORESPONSE_YES); | |||||
} else if ( m_AutoResponse.equalsIgnoreCase("N")) { | |||||
cmd.createArgument().setValue(FLAG_AUTORESPONSE_NO); | |||||
}else { | |||||
cmd.createArgument().setValue(FLAG_AUTORESPONSE_DEF); | |||||
} // end of else | |||||
} | |||||
} | } |