- /*
- * Copyright 2001-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
- package org.apache.tools.ant.taskdefs.optional.vss;
-
- import org.apache.tools.ant.BuildException;
- import org.apache.tools.ant.types.Commandline;
- import org.apache.tools.ant.types.Path;
-
- /**
- * Performs CheckIn commands to Microsoft Visual SourceSafe.
- *
- *
- * @ant.task name="vsscheckin" category="scm"
- */
- public class MSVSSCHECKIN extends MSVSS {
-
- /**
- * Builds a command line to execute ss.
- * @return The constructed commandline.
- */
- protected Commandline buildCmdLine() {
- Commandline commandLine = new Commandline();
-
- // first off, make sure that we've got a command and a vssdir ...
- if (getVsspath() == null) {
- String msg = "vsspath attribute must be set!";
- throw new BuildException(msg, getLocation());
- }
-
- // build the command line from what we got the format is
- // ss Checkin VSS items [-H] [-C] [-I-] [-N] [-O] [-R] [-W] [-Y] [-?]
- // as specified in the SS.EXE help
- commandLine.setExecutable(getSSCommand());
- commandLine.createArgument().setValue(COMMAND_CHECKIN);
-
- // VSS items
- commandLine.createArgument().setValue(getVsspath());
- // -GL
- commandLine.createArgument().setValue(getLocalpath());
- // -I- or -I-Y or -I-N
- commandLine.createArgument().setValue(getAutoresponse());
- // -R
- commandLine.createArgument().setValue(getRecursive());
- // -W
- commandLine.createArgument().setValue(getWritable());
- // -Y
- commandLine.createArgument().setValue(getLogin());
- // -C
- commandLine.createArgument().setValue(getComment());
-
- return commandLine;
- }
-
- /**
- * Override the project working directory.
- *
- * @param localPath The path on disk.
- */
- public void setLocalpath(Path localPath) {
- super.setInternalLocalPath(localPath.toString());
- }
-
- /**
- * Check-in files recursively. Defaults to false.
- *
- * @param recursive The boolean value for recursive.
- */
- public void setRecursive(boolean recursive) {
- super.setInternalRecursive(recursive);
- }
-
- /**
- * Unset the READ-ONLY flag on local copies of files checked-in to VSS.
- * Defaults to false.
- *
- * @param writable The boolean value for writable.
- */
- public final void setWritable(boolean writable) {
- super.setInternalWritable(writable);
- }
-
- /**
- * Autoresponce behaviour. Valid options are Y and N.
- *
- * @param response The auto response value.
- */
- public void setAutoresponse(String response) {
- super.setInternalAutoResponse(response);
- }
-
- /**
- * Comment to apply to files checked-in to SourceSafe.
- *
- * @param comment The comment to apply in SourceSafe
- */
- public void setComment(String comment) {
- super.setInternalComment(comment);
- }
- }