Package org.apache.tools.ant.types

Examples of org.apache.tools.ant.types.CommandlineJava


   */
  private void executeTestPlan(File testPlanFile, File resultLogFile) {
    log("Executing test plan: " + testPlanFile + " ==> " + resultLogFile, Project.MSG_INFO);
    resultLogFiles.add(resultLogFile);

    CommandlineJava cmd = new CommandlineJava();

    cmd.setJar(jmeterJar.getAbsolutePath());

    // Set the JVM args
    Iterator jvmArgIterator = jvmArgs.iterator();
    while (jvmArgIterator.hasNext()) {
      Arg jvmArg = (Arg)jvmArgIterator.next();
      cmd.createVmArgument().setValue(jvmArg.getValue());
    }

    // Set the JMeter args
    Iterator jmeterArgIterator = jmeterArgs.iterator();
    while (jmeterArgIterator.hasNext()) {
      Arg jmeterArg = (Arg)jmeterArgIterator.next();
      cmd.createArgument().setValue(jmeterArg.getValue());
    }

    // non-gui mode
    cmd.createArgument().setValue("-n");
    // the properties file
    if (jmeterProperties != null) {
      cmd.createArgument().setValue("-p");
      cmd.createArgument().setValue(jmeterProperties.getAbsolutePath());
    }
    // the test plan file
    cmd.createArgument().setValue("-t");
    cmd.createArgument().setValue(testPlanFile.getAbsolutePath());
    // the result log file
    cmd.createArgument().setValue("-l");
    cmd.createArgument().setValue(resultLogFile.getAbsolutePath());
    // run remote servers?
    if (runRemote) {
      cmd.createArgument().setValue("-r");
    }

    // the proxy host
    if ((proxyHost != null) && (proxyHost.length() > 0)) {
      cmd.createArgument().setValue("-H");
      cmd.createArgument().setValue(proxyHost);
    }
    // the proxy port
    if ((proxyPort != null) && (proxyPort.length() > 0)) {
      cmd.createArgument().setValue("-P");
      cmd.createArgument().setValue(proxyPort);
    }
    // the proxy user
    if ((proxyUser != null) && (proxyUser.length() > 0)) {
      cmd.createArgument().setValue("-u");
      cmd.createArgument().setValue(proxyUser);
    }
    // the proxy password
    if ((proxyPass != null) && (proxyPass.length() > 0)) {
      cmd.createArgument().setValue("-a");
      cmd.createArgument().setValue(proxyPass);
    }

    // the JMeter runtime properties
    Iterator jmPropertyIterator = jmProperties.iterator();
    while (jmPropertyIterator.hasNext()) {
      Property jmProperty = (Property)jmPropertyIterator.next();
      if (jmProperty.isValid()) {
        cmd.createArgument().setValue("-J" + jmProperty.toString());
      }
    }

    Execute execute = new Execute(new LogStreamHandler(this, Project.MSG_INFO, Project.MSG_WARN));
    execute.setCommandline(cmd.getCommandline());
    execute.setAntRun(getProject());

    execute.setWorkingDirectory(new File(jmeterHome.getAbsolutePath() + File.separator + "bin"));
    log(cmd.describeCommand(), Project.MSG_VERBOSE);

    try {
      execute.execute();
    }
    catch (IOException e) {
View Full Code Here


        if (perm != null) {
            log("Permissions ignored when running in forked mode!",
                Project.MSG_WARN);
        }

        CommandlineJava cmd = (CommandlineJava) getCommandline().clone();

        cmd.setClassname("org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner");
        if (casesFile == null) {
            cmd.createArgument().setValue(test.getName());
        } else {
            log("Running multiple tests in the same VM", Project.MSG_VERBOSE);
            cmd.createArgument().setValue("testsfile=" + casesFile);
        }
       
        cmd.createArgument().setValue("filtertrace=" + test.getFiltertrace());
        cmd.createArgument().setValue("haltOnError=" + test.getHaltonerror());
        cmd.createArgument().setValue("haltOnFailure="
                                      + test.getHaltonfailure());
        if (includeAntRuntime) {
            Vector v = Execute.getProcEnvironment();
            Enumeration e = v.elements();
            while (e.hasMoreElements()) {
                String s = (String) e.nextElement();
                if (s.startsWith("CLASSPATH=")) {
                    cmd.createClasspath(getProject()).createPath()
                        .append(new Path(getProject(),
                                         s.substring(10 // "CLASSPATH=".length()
                                                     )));
                }
            }
            log("Implicitly adding " + antRuntimeClasses + " to CLASSPATH",
                Project.MSG_VERBOSE);
            cmd.createClasspath(getProject()).createPath()
                .append(antRuntimeClasses);
        }

        if (summary) {
            log("Running " + test.getName(), Project.MSG_INFO);
            cmd.createArgument()
                .setValue("formatter"
                + "=org.apache.tools.ant.taskdefs.optional.junit.SummaryJUnitResultFormatter");
        }

        cmd.createArgument().setValue("showoutput="
                                      + String.valueOf(showOutput));

        StringBuffer formatterArg = new StringBuffer(STRING_BUFFER_SIZE);
        final FormatterElement[] feArray = mergeFormatters(test);
        for (int i = 0; i < feArray.length; i++) {
            FormatterElement fe = feArray[i];
            if (fe.shouldUse(this)) {
                formatterArg.append("formatter=");
                formatterArg.append(fe.getClassname());
                File outFile = getOutput(fe, test);
                if (outFile != null) {
                    formatterArg.append(",");
                    formatterArg.append(outFile);
                }
                cmd.createArgument().setValue(formatterArg.toString());
                formatterArg = new StringBuffer();
            }
        }


        File propsFile = createTempPropertiesFile("junit");
        cmd.createArgument().setValue("propsfile="
                                      + propsFile.getAbsolutePath());
        Hashtable p = getProject().getProperties();
        Properties props = new Properties();
        for (Enumeration e = p.keys(); e.hasMoreElements();) {
            Object key = e.nextElement();
            props.put(key, p.get(key));
        }
        try {
            FileOutputStream outstream = new FileOutputStream(propsFile);
            props.store(outstream, "Ant JUnitTask generated properties file");
            outstream.close();
        } catch (java.io.IOException e) {
            propsFile.delete();
            throw new BuildException("Error creating temporary properties "
                                     + "file.", e, getLocation());
        }

        Execute execute = new Execute(new LogStreamHandler(this,
                                                           Project.MSG_INFO,
                                                           Project.MSG_WARN),
                                      watchdog);
        execute.setCommandline(cmd.getCommandline());
        execute.setAntRun(getProject());
        if (dir != null) {
            execute.setWorkingDirectory(dir);
        }

        String[] environment = env.getVariables();
        if (environment != null) {
            for (int i = 0; i < environment.length; i++) {
                log("Setting environment variable: " + environment[i],
                    Project.MSG_VERBOSE);
            }
        }
        execute.setNewenvironment(newEnvironment);
        execute.setEnvironment(environment);

        log(cmd.describeCommand(), Project.MSG_VERBOSE);
        int retVal;
        try {
            retVal = execute.execute();
        } catch (IOException e) {
            throw new BuildException("Process fork failed.", e, getLocation());
View Full Code Here

    /**
     * @since Ant 1.6.2
     */
    protected CommandlineJava getCommandline() {
        if (commandline == null) {
            commandline = new CommandlineJava();
        }
        return commandline;
    }
View Full Code Here

       
        if (m_closureJar == null) {
            throw new BuildException("Must specify the closure compiler JAR file");
        }
       
        CommandlineJava cmdl = new CommandlineJava();
        cmdl.setClassname("com.google.javascript.jscomp.CommandLineRunner");
        cmdl.setCloneVm(true);
        cmdl.createClasspath(getProject());
       
        /*
         We need to find a better way to load these items on the classpath.  Hackito ergo sum
         */
        cmdl.getClasspath().add(new FileResource(m_closureJar));
        cmdl.getClasspath().add(new FileResource(new File(m_closureJar.getParent(), "args4j-2.0.12.jar")));
        cmdl.getClasspath().add(new FileResource(new File(m_closureJar.getParent(), "guava-10.0.1.jar")));
       
        Commandline.Argument arg = cmdl.createArgument();
       
        StringBuffer sb = new StringBuffer();
       
        //sb.append("-jar ");
        //sb.append(m_closureJar.getAbsolutePath() + " ");
       
        ResourceCollection c = getResources();
        Iterator i = c.iterator();

        long lastMod = -1;

        while (i.hasNext()) {
            lastMod = Math.max(lastMod, ((FileResource) i.next()).getLastModified());
        }

        sb.append("--js_output_file ");
        sb.append(m_destinationFile.getAbsolutePath() + " ");

        if (m_destinationFile.lastModified() >= lastMod) {
            /*
             * If the generated file is newer than the source
             * files then there is no need to rebuild.
             */
            return;
        }

        i = c.iterator();
        while (i.hasNext()) {
            sb.append("--js ");
            sb.append(i.next() + " ");
        }
       
        if (m_compilationLevel != null) {
            sb.append("--compilation_level ");
            sb.append(m_compilationLevel + " ");
        }
       
        sb.append("--summary_detail_level ");
        sb.append(m_summaryDetail + " ");
       
        sb.append("--warning_level ");
        sb.append(m_warningLevel + " ");
       
        arg.setLine(sb.toString());
       
        Execute exe = new Execute();
        setupExecutable(exe, cmdl.getCommandline());
       
        int result = -1;
        try {
            result = exe.execute();
        } catch (IOException e) {
View Full Code Here

     * Execute a testcase by forking a new JVM. The command will block until it finishes.
     *
     * @param appletPluginArguments
     */
    private int executeAsForked(final AppletPluginArguments appletPluginArguments) {
        CommandlineJava cmd = AppletRunnerStepBoundary.tryClone(fCommandline, this);
        cmd.setClassname(AppletRunner.class.getName());
        cmd.addSysproperty(getProtocolHandler());
        cmd.createArgument().setValue(writeArguments(appletPluginArguments));
        Execute execute = new Execute(new LogStreamHandler(this, Project.MSG_INFO, Project.MSG_WARN));
        execute.setCommandline(cmd.getCommandline());
        execute.setAntRun(getProject());

        // propagate the environment here?
        LOG.info(cmd.describeCommand());
        return AppletRunnerStepBoundary.tryExecute(execute, this);
    }
View Full Code Here

        if (perm != null) {
            log("Permissions ignored when running in forked mode!",
                Project.MSG_WARN);
        }

        CommandlineJava cmd;
        try {
            cmd = (CommandlineJava) (getCommandline().clone());
        } catch (CloneNotSupportedException e) {
            throw new BuildException("This shouldn't happen", e, getLocation());
        }
        cmd.setClassname("org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner");
        if (casesFile == null) {
            cmd.createArgument().setValue(test.getName());
        } else {
            log("Running multiple tests in the same VM", Project.MSG_VERBOSE);
            cmd.createArgument().setValue(Constants.TESTSFILE + casesFile);
        }

        cmd.createArgument().setValue(Constants.FILTERTRACE + test.getFiltertrace());
        cmd.createArgument().setValue(Constants.HALT_ON_ERROR + test.getHaltonerror());
        cmd.createArgument().setValue(Constants.HALT_ON_FAILURE
                                      + test.getHaltonfailure());
        checkIncludeAntRuntime(cmd);

        checkIncludeSummary(cmd);

        cmd.createArgument().setValue(Constants.SHOWOUTPUT
                                      + String.valueOf(showOutput));
        cmd.createArgument().setValue(Constants.OUTPUT_TO_FORMATTERS
                                      + String.valueOf(outputToFormatters));
        cmd.createArgument().setValue(Constants.LOG_FAILED_TESTS
                                      + String.valueOf(logFailedTests));

        cmd.createArgument().setValue(
            Constants.LOGTESTLISTENEREVENTS + "true"); // #31885

        StringBuffer formatterArg = new StringBuffer(STRING_BUFFER_SIZE);
        final FormatterElement[] feArray = mergeFormatters(test);
        for (int i = 0; i < feArray.length; i++) {
            FormatterElement fe = feArray[i];
            if (fe.shouldUse(this)) {
                formatterArg.append(Constants.FORMATTER);
                formatterArg.append(fe.getClassname());
                File outFile = getOutput(fe, test);
                if (outFile != null) {
                    formatterArg.append(",");
                    formatterArg.append(outFile);
                }
                cmd.createArgument().setValue(formatterArg.toString());
                formatterArg = new StringBuffer();
            }
        }

        File vmWatcher = createTempPropertiesFile("junitvmwatcher");
        cmd.createArgument().setValue(Constants.CRASHFILE
                                      + vmWatcher.getAbsolutePath());
        File propsFile = createTempPropertiesFile("junit");
        cmd.createArgument().setValue(Constants.PROPSFILE
                                      + propsFile.getAbsolutePath());
        Hashtable p = getProject().getProperties();
        Properties props = new Properties();
        for (Enumeration e = p.keys(); e.hasMoreElements();) {
            Object key = e.nextElement();
            props.put(key, p.get(key));
        }
        try {
            FileOutputStream outstream = new FileOutputStream(propsFile);
            props.store(outstream, "Ant JUnitTask generated properties file");
            outstream.close();
        } catch (java.io.IOException e) {
            propsFile.delete();
            throw new BuildException("Error creating temporary properties "
                                     + "file.", e, getLocation());
        }

        Execute execute = new Execute(
            new JUnitLogStreamHandler(
                this,
                Project.MSG_INFO,
                Project.MSG_WARN),
            watchdog);
        execute.setCommandline(cmd.getCommandline());
        execute.setAntRun(getProject());
        if (dir != null) {
            execute.setWorkingDirectory(dir);
        }

        String[] environment = env.getVariables();
        if (environment != null) {
            for (int i = 0; i < environment.length; i++) {
                log("Setting environment variable: " + environment[i],
                    Project.MSG_VERBOSE);
            }
        }
        execute.setNewenvironment(newEnvironment);
        execute.setEnvironment(environment);

        log(cmd.describeCommand(), Project.MSG_VERBOSE);

        checkForkedPath(cmd);

        TestResultHolder result = new TestResultHolder();
        try {
View Full Code Here

     * @return the command line.
     * @since Ant 1.6.2
     */
    protected CommandlineJava getCommandline() {
        if (commandline == null) {
            commandline = new CommandlineJava();
        }
        return commandline;
    }
View Full Code Here

     * simple needs.
     *
     * @since Ant 1.6.3
     */
    public int fork(ProjectComponent pc) throws BuildException {
        CommandlineJava cmdl = new CommandlineJava();
        cmdl.setClassname(javaCommand.getExecutable());
        String[] args = javaCommand.getArguments();
        for (int i = 0; i < args.length; i++) {
            cmdl.createArgument().setValue(args[i]);
        }
        if (classpath != null) {
            cmdl.createClasspath(pc.getProject()).append(classpath);
        }
        if (sysProperties != null) {
            cmdl.addSysproperties(sysProperties);
        }

        Redirector redirector = new Redirector(pc);
        Execute exe
            = new Execute(redirector.createHandler(),
                          timeout == null
                          ? null
                          : new ExecuteWatchdog(timeout.longValue()));
        exe.setAntRun(pc.getProject());
        exe.setCommandline(cmdl.getCommandline());

        try {
            int rc = exe.execute();
            redirector.complete();
            timedOut = exe.killedProcess();
View Full Code Here

     *
     * @exception BuildException if an error occurs
     */
    public void execute() throws BuildException {

        CommandlineJava commandline = new CommandlineJava();

        if ("text".equals(format)) {
            commandline.setClassname("jdepend.textui.JDepend");
        } else
            if ("xml".equals(format)) {
                commandline.setClassname("jdepend.xmlui.JDepend");
            }

        if (jvm != null) {
            commandline.setVm(jvm);
        }
        if (getSourcespath() == null && getClassespath() == null) {
            throw new BuildException("Missing classespath required argument");
        } else if (getClassespath() == null) {
            String msg =
View Full Code Here

     * @param classname the name of the class to run.
     * @param args  arguments for the class.
     * @throws BuildException in case of IOException in the execution.
     */
    protected void run(String classname, Vector args) throws BuildException {
        CommandlineJava cmdj = new CommandlineJava();
        cmdj.setClassname(classname);
        for (int i = 0; i < args.size(); i++) {
            cmdj.createArgument().setValue((String) args.elementAt(i));
        }
        run(cmdj);
    }
View Full Code Here

TOP

Related Classes of org.apache.tools.ant.types.CommandlineJava

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.