public void runScripts()

in command.line/java/jetbrains/buildServer/core/runtime/Platform.java [127:162]


  public void runScripts(final String scriptContent, final String[] arguments, IProgressMonitor monitor) throws IOException {
    final File script = File.createTempFile("tci-script", getPlatformScriptExtension());
    final StringBuilder args = new StringBuilder();
    final FileOutputStream out = new FileOutputStream(script);
    RuntimeUtil.copy(new ByteArrayInputStream(scriptContent.getBytes()), out);
    out.flush();
    out.close();
    monitor.status(new ProgressStatus(ProgressStatus.OK, String.format("Making executable '%s'", script)));
    final File executableScript = makeExecutable(new File[] { script }, monitor)[0];
    if (OS_WIN.equals(getOs())) {

    } else if (OS_SOLARIS.equals(getOs())) {
      RuntimeUtil.execAndWait("sh -version", new File("."), monitor);//check 'sh' exists        
      args.append(String.format("%s ", executableScript.getAbsolutePath()));
      for (String arg : arguments) {
        args.append(String.format("%s ", arg));
      }
      final String command = String.format("sh %s", args.toString().trim());
      monitor.status(new ProgressStatus(ProgressStatus.OK, String.format("Running script '%s'", script)));
      RuntimeUtil.execAndWait(command, new File("."), monitor);

    } else if (OS_LINUX.equals(getOs())) {
      RuntimeUtil.execAndWait("bash -version", new File("."), monitor);//check 'sh' exists        
      args.append(String.format("%s ", executableScript.getAbsolutePath()));
      for (String arg : arguments) {
        args.append(String.format("%s ", arg));
      }
      final String command = String.format("bash %s", args.toString().trim());
      monitor.status(new ProgressStatus(ProgressStatus.OK, String.format("Running script '%s'", script)));
      RuntimeUtil.execAndWait(command, new File("."), monitor);

    } else {
      //....
    }
    RuntimeUtil.delete(script);
  }