⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clearcase.java

📁 Use the links below to download a source distribution of Ant from one of our mirrors. It is good pra
💻 JAVA
字号:
/* *  Licensed to the Apache Software Foundation (ASF) under one or more *  contributor license agreements.  See the NOTICE file distributed with *  this work for additional information regarding copyright ownership. *  The ASF licenses this file to You 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.clearcase;import java.io.File;import org.apache.tools.ant.BuildException;import org.apache.tools.ant.Project;import org.apache.tools.ant.Task;import org.apache.tools.ant.taskdefs.ExecTask;import org.apache.tools.ant.taskdefs.Execute;import org.apache.tools.ant.taskdefs.LogStreamHandler;import org.apache.tools.ant.types.Commandline;import org.apache.tools.ant.util.FileUtils;/** * A base class for creating tasks for executing commands on ClearCase. * <p> * The class extends the 'exec' task as it operates by executing the cleartool program * supplied with ClearCase. By default the task expects the cleartool executable to be * in the path, * you can override this be specifying the cleartooldir attribute. * </p> * <p> * This class provides set and get methods for the 'viewpath' and 'objselect' * attribute. It also contains constants for the flags that can be passed to * cleartool. * </p> * */public abstract class ClearCase extends Task {    private String mClearToolDir = "";    private String mviewPath = null;    private String mobjSelect = null;    private static int pcnt = 0;    private boolean mFailonerr = true;    /**     * Set the directory where the cleartool executable is located.     *     * @param dir the directory containing the cleartool executable     */    public final void setClearToolDir(String dir) {        mClearToolDir = FileUtils.translatePath(dir);    }    /**     * Builds and returns the command string to execute cleartool     *     * @return String containing path to the executable     */    protected final String getClearToolCommand() {        String toReturn = mClearToolDir;        if (!toReturn.equals("") && !toReturn.endsWith("/")) {            toReturn += "/";        }        toReturn += CLEARTOOL_EXE;        return toReturn;    }    /**     * Set the path to the item in a ClearCase view to operate on.     *     * @param viewPath Path to the view directory or file     */    public final void setViewPath(String viewPath) {        mviewPath = viewPath;    }    /**     * Get the path to the item in a clearcase view     *     * @return mviewPath     */    public String getViewPath() {        return mviewPath;    }    /**     * Get the basename path of the item in a clearcase view     *     * @return basename     */    public String getViewPathBasename() {        return (new File(mviewPath)).getName();    }    /**     * Set the object to operate on.     *     * @param objSelect object to operate on     */    public final void setObjSelect(String objSelect) {        mobjSelect = objSelect;    }    /**     * Get the object to operate on     *     * @return mobjSelect     */    public String getObjSelect() {        return mobjSelect;    }    /**     * Execute the given command are return success or failure     * @param cmd command line to execute     * @return the exit status of the subprocess or <code>INVALID</code>     */    protected int run(Commandline cmd) {        try {            Project aProj = getProject();            Execute exe                = new Execute(new LogStreamHandler(this, Project.MSG_INFO, Project.MSG_WARN));            exe.setAntRun(aProj);            exe.setWorkingDirectory(aProj.getBaseDir());            exe.setCommandline(cmd.getCommandline());            return exe.execute();        } catch (java.io.IOException e) {            throw new BuildException(e, getLocation());        }    }    /**     * Execute the given command, and return it's output     * @param cmdline command line to execute     * @return output of the command line     */    protected String runS(Commandline cmdline) {        String   outV  = "opts.cc.runS.output" + pcnt++;        ExecTask exe   = new ExecTask(this);        Commandline.Argument arg = exe.createArg();        exe.setExecutable(cmdline.getExecutable());        arg.setLine(Commandline.toString(cmdline.getArguments()));        exe.setOutputproperty(outV);        exe.execute();        return getProject().getProperty(outV);    }    /**     * If true, command will throw an exception on failure.     *     * @param failonerr the status to set the flag to     * @since ant 1.6.1     */    public void setFailOnErr(boolean failonerr) {        mFailonerr = failonerr;    }    /**     * Get failonerr flag status     *     * @return boolean containing status of failonerr flag     * @since ant 1.6.1     */    public boolean getFailOnErr() {        return mFailonerr;    }    /**     * Constant for the thing to execute     */    private static final String CLEARTOOL_EXE = "cleartool";    /**     * The 'Update' command     */    public static final String COMMAND_UPDATE = "update";    /**     * The 'Checkout' command     */    public static final String COMMAND_CHECKOUT = "checkout";    /**     * The 'Checkin' command     */    public static final String COMMAND_CHECKIN = "checkin";    /**     * The 'UndoCheckout' command     */    public static final String COMMAND_UNCHECKOUT = "uncheckout";    /**     * The 'Lock' command     */    public static final String COMMAND_LOCK = "lock";    /**     * The 'Unlock' command     */    public static final String COMMAND_UNLOCK = "unlock";    /**     * The 'Mkbl' command     */    public static final String COMMAND_MKBL = "mkbl";    /**     * The 'Mklabel' command     */    public static final String COMMAND_MKLABEL = "mklabel";    /**     * The 'Mklbtype' command     */    public static final String COMMAND_MKLBTYPE = "mklbtype";    /**     * The 'Rmtype' command     */    public static final String COMMAND_RMTYPE = "rmtype";    /**     * The 'LsCheckout' command     */    public static final String COMMAND_LSCO = "lsco";    /**     * The 'Mkelem' command     */    public static final String COMMAND_MKELEM = "mkelem";    /**     * The 'Mkattr' command     */    public static final String COMMAND_MKATTR = "mkattr";    /**     * The 'Mkdir' command     */    public static final String COMMAND_MKDIR = "mkdir";}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -