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

📄 ccmcreatetask.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.ccm;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import org.apache.tools.ant.BuildException;import org.apache.tools.ant.Project;import org.apache.tools.ant.taskdefs.Execute;import org.apache.tools.ant.taskdefs.ExecuteStreamHandler;import org.apache.tools.ant.types.Commandline;/** * Creates new Continuus ccm task and sets it as the default. * * @ant.task name="ccmcreatetask" category="scm" */public class CCMCreateTask extends Continuus implements ExecuteStreamHandler {    private String comment = null;    private String platform = null;    private String resolver = null;    private String release = null;    private String subSystem = null;    private String task = null;    /**     * Constructor for CCMCreateTask.     */    public CCMCreateTask() {        super();        setCcmAction(COMMAND_CREATE_TASK);    }    /**     * Executes the task.     * <p>     * Builds a command line to execute ccm and then calls Exec's run method     * to execute the command line.     * </p>     * @throws BuildException on error     */    public void execute() throws BuildException {        Commandline commandLine = new Commandline();        int result = 0;        // build the command line from what we got the format        // as specified in the CCM.EXE help        commandLine.setExecutable(getCcmCommand());        commandLine.createArgument().setValue(getCcmAction());        checkOptions(commandLine);        result = run(commandLine, this);        if (Execute.isFailure(result)) {            String msg = "Failed executing: " + commandLine.toString();            throw new BuildException(msg, getLocation());        }        //create task ok, set this task as the default one        Commandline commandLine2 = new Commandline();        commandLine2.setExecutable(getCcmCommand());        commandLine2.createArgument().setValue(COMMAND_DEFAULT_TASK);        commandLine2.createArgument().setValue(getTask());        log(commandLine.describeCommand(), Project.MSG_DEBUG);        result = run(commandLine2);        if (result != 0) {            String msg = "Failed executing: " + commandLine2.toString();            throw new BuildException(msg, getLocation());        }    }    /**     * Check the command line options.     */    private void checkOptions(Commandline cmd) {        if (getComment() != null) {            cmd.createArgument().setValue(FLAG_COMMENT);            cmd.createArgument().setValue("\"" + getComment() + "\"");        }        if (getPlatform() != null) {            cmd.createArgument().setValue(FLAG_PLATFORM);            cmd.createArgument().setValue(getPlatform());        } // end of if ()        if (getResolver() != null) {            cmd.createArgument().setValue(FLAG_RESOLVER);            cmd.createArgument().setValue(getResolver());        } // end of if ()        if (getSubSystem() != null) {            cmd.createArgument().setValue(FLAG_SUBSYSTEM);            cmd.createArgument().setValue("\"" + getSubSystem() + "\"");        } // end of if ()        if (getRelease() != null) {            cmd.createArgument().setValue(FLAG_RELEASE);            cmd.createArgument().setValue(getRelease());        } // end of if ()    }    /**     * Get the value of comment.     * @return value of comment.     */    public String getComment() {        return comment;    }    /**     * Specifies a comment.     *     * @param v  Value to assign to comment.     */    public void setComment(String v) {        this.comment = v;    }    /**     * Get the value of platform.     * @return value of platform.     */    public String getPlatform() {        return platform;    }    /**     * Specifies the target platform.     *     * @param v  Value to assign to platform.     */    public void setPlatform(String v) {        this.platform = v;    }    /**     * Get the value of resolver.     * @return value of resolver.     */    public String getResolver() {        return resolver;    }    /**     * Specifies the resolver.     *     * @param v  Value to assign to resolver.     */    public void setResolver(String v) {        this.resolver = v;    }    /**     * Get the value of release.     * @return value of release.     */    public String getRelease() {        return release;    }    /**     * Specify the CCM release.     *     * @param v  Value to assign to release.     */    public void setRelease(String v) {        this.release = v;    }    /**     * Get the value of subSystem.     * @return value of subSystem.     */    public String getSubSystem() {        return subSystem;    }    /**     * Specifies the subsystem.     *     * @param v  Value to assign to subSystem.     */    public void setSubSystem(String v) {        this.subSystem = v;    }    /**     * Get the value of task.     * @return value of task.     */    public String getTask() {        return task;    }    /**     * Specifies the task number used to checkin     * the file (may use 'default').     *     * @param v  Value to assign to task.     */    public void setTask(String v) {        this.task = v;    }    /**     * /comment -- comments associated to the task     */    public static final String FLAG_COMMENT = "/synopsis";    /**     *  /platform flag -- target platform     */    public static final String FLAG_PLATFORM = "/plat";    /**     * /resolver flag     */    public static final String FLAG_RESOLVER = "/resolver";    /**     * /release flag     */    public static final String FLAG_RELEASE = "/release";    /**     * /release flag     */    public static final String FLAG_SUBSYSTEM = "/subsystem";    /**     *  -task flag -- associate checkout task with task     */    public static final String FLAG_TASK = "/task";    // implementation of org.apache.tools.ant.taskdefs.ExecuteStreamHandler interface    /**     *     * @throws IOException on error     */    public void start() throws IOException {    }    /**     *     */    public void stop() {    }    /**     *     * @param param1 the output stream     * @exception java.io.IOException on error     */    public void setProcessInputStream(OutputStream param1) throws IOException {    }    /**     *     * @param is the input stream     * @exception java.io.IOException on error     */    public void setProcessErrorStream(InputStream is) throws IOException {        BufferedReader reader = new BufferedReader(new InputStreamReader(is));        String s = reader.readLine();        if (s != null) {            log("err " + s, Project.MSG_DEBUG);        } // end of if ()    }    /**     * read the output stream to retrieve the new task number.     * @param is InputStream     * @throws IOException on error     */    public void setProcessOutputStream(InputStream is) throws IOException {        String buffer = "";        try {            BufferedReader reader = new BufferedReader(new InputStreamReader(is));            buffer = reader.readLine();            if (buffer != null) {                log("buffer:" + buffer, Project.MSG_DEBUG);                String taskstring = buffer.substring(buffer.indexOf(' ')).trim();                taskstring = taskstring.substring(0, taskstring.lastIndexOf(' ')).trim();                setTask(taskstring);                log("task is " + getTask(), Project.MSG_DEBUG);            } // end of if ()        } catch (NullPointerException npe) {            log("error procession stream , null pointer exception", Project.MSG_ERR);            npe.printStackTrace();            throw new BuildException(npe.getClass().getName());        } catch (Exception e) {            log("error procession stream " + e.getMessage(), Project.MSG_ERR);            throw new BuildException(e.getMessage());        } // end of try-catch    }}

⌨️ 快捷键说明

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