Package org.apache.tools.ant.types

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


     * @return the exit status of the subprocess.
     * @throws BuildException on error.
     * @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());
        if (Os.isFamily("openvms")) {
            setupCommandLineForVMS(exe, cmdl.getCommandline());
        } else {
            exe.setCommandline(cmdl.getCommandline());
        }
        try {
            int rc = exe.execute();
            redirector.complete();
            return rc;
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);
        final int size = args.size();
        for (int i = 0; i < size; i++) {
            cmdj.createArgument().setValue((String) args.elementAt(i));
        }
        run(cmdj);
    }
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());
        }
        if (casesFile == null) {
            cmd.createArgument().setValue(test.getName());
            if (test.getMethods() != null) {
                cmd.createArgument().setValue(Constants.METHOD_NAMES + test.getMethodsString());
            }
        } 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));

        // #31885
        cmd.createArgument().setValue(Constants.LOGTESTLISTENEREVENTS
                                      + String.valueOf(getEnableTestListenerEvents()));

        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) {
            FILE_UTILS.tryHardToDelete(propsFile);
            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();
            commandline.setClassname("org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner");
        }
        return commandline;
    }
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

   */
  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 jmeter log file
    if (jmeterLogFile != null) {
      cmd.createArgument().setValue("-j");
      cmd.createArgument().setValue(jmeterLogFile.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((jmProperty.isRemote() ? "-G" : "-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

   }

   public void execute()
           throws BuildException
   {
      CommandlineJava cmd = new CommandlineJava();

      if (verbose)
         cmd.createArgument().setValue("-verbose");
      if (suppress)
         cmd.createArgument().setValue("-suppress");
      if (!optimized)
         cmd.createArgument().setValue("-noopt");
      if (report)
         cmd.createArgument().setValue("-report");
      if (aoppath != null && aoppath.size() > 0)
      {
         cmd.createArgument().setValue("-aoppath");
         cmd.createArgument().setValue(aoppath.toString());
      }
      if (aopclasspath != null && aopclasspath.size() > 0)
      {
         cmd.createArgument().setValue("-aopclasspath");
         cmd.createArgument().setValue(aopclasspath.toString());
      }
      logAndAddFilesToCompile(cmd);
     
      try
      {
         // Create an instance of the compiler, redirecting output to
         // the project log
         classpath.append(compilerClasspath);
         Java java = (Java) (getProject().createTask("java"));
         if (jvm != null && jvm.length() > 0)
         {
            java.setJvm(jvm);
         }
         if (getClasspath() != null)
         {
            getProject().log("using user supplied classpath: "
                    + getClasspath(), Project.MSG_DEBUG);
            java.setClasspath(getClasspath()
                    .concatSystemClasspath("ignore"));
         }
         else
         {
            Path classpath = new Path(getProject());
            classpath = classpath.concatSystemClasspath("only");
            getProject().log("using system classpath: " + classpath,
                    Project.MSG_DEBUG);
            java.setClasspath(classpath);
         }
         java.setDir(getProject().getBaseDir());
         java.setClassname("org.jboss.aop.standalone.Compiler");
         //this is really irritating; we need a way to set stuff
         String args[] = cmd.getJavaCommand().getArguments();
         for (int i = 0; i < args.length; i++)
         {
            java.createArg().setValue(args[i]);
         }
         java.setFailonerror(getFailonerror());
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());
        }
        if (casesFile == null) {
            cmd.createArgument().setValue(test.getName());
            if (test.getMethods() != null) {
                cmd.createArgument().setValue(Constants.METHOD_NAMES + test.getMethodsString());
            }
        } else {
            log("Running multiple tests in the same VM", Project.MSG_VERBOSE);
            cmd.createArgument().setValue(Constants.TESTSFILE + casesFile);
        }

        cmd.createArgument().setValue(Constants.SKIP_NON_TESTS + String.valueOf(test.isSkipNonTests()));
        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));

        // #31885
        cmd.createArgument().setValue(Constants.LOGTESTLISTENEREVENTS
                                      + String.valueOf(getEnableTestListenerEvents()));

        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) {
            FILE_UTILS.tryHardToDelete(propsFile);
            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();
            commandline.setClassname("org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner");
        }
        return commandline;
    }
View Full Code Here

   * Execute a JMeter test plan.
   */
  private void executeTestPlan(File testPlanFile) {
    log("Executing test plan: " + testPlanFile, Project.MSG_INFO);

    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());
    }

    // 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(resultLog.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

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.