com.dtolabs.rundeck.core.utils
Class ScriptExecUtil

java.lang.Object
  extended by com.dtolabs.rundeck.core.utils.ScriptExecUtil

public class ScriptExecUtil
extends java.lang.Object

Provides methods for running scripts/commands.


Constructor Summary
ScriptExecUtil()
           
 
Method Summary
static ExecArgList createScriptArgList(java.lang.String filepath, java.lang.String scriptargs, java.lang.String[] scriptargsarr, java.lang.String scriptinterpreter, boolean interpreterargsquoted)
          Generate argument array for a script file invocation
static java.lang.String[] createScriptArgs(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> localDataContext, INodeEntry node, java.lang.String scriptargs, java.lang.String[] scriptargsarr, java.lang.String scriptinterpreter, boolean interpreterargsquoted, java.lang.String filepath)
          Generate argument array for a script file invocation
static java.lang.String[] createScriptArgs(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> localDataContext, java.lang.String scriptargs, java.lang.String[] scriptargsarr, java.lang.String scriptinterpreter, boolean interpreterargsquoted, java.lang.String filepath)
          Generate argument array for a script file invocation
static int runLocalCommand(java.lang.String[] command, java.util.Map<java.lang.String,java.lang.String> envMap, java.io.File workingdir, java.io.OutputStream outputStream, java.io.OutputStream errorStream)
          Run a command with environment variables in a working dir, and copy the streams
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScriptExecUtil

public ScriptExecUtil()
Method Detail

runLocalCommand

public static int runLocalCommand(java.lang.String[] command,
                                  java.util.Map<java.lang.String,java.lang.String> envMap,
                                  java.io.File workingdir,
                                  java.io.OutputStream outputStream,
                                  java.io.OutputStream errorStream)
                           throws java.io.IOException,
                                  java.lang.InterruptedException
Run a command with environment variables in a working dir, and copy the streams

Parameters:
command - the command array to run
envMap - the environment variables to pass in
workingdir - optional working dir location (or null)
outputStream - stream for stdout
errorStream - stream for stderr
Returns:
the exit code of the command
Throws:
java.io.IOException - if any IO exception occurs
java.lang.InterruptedException - if interrupted while waiting for the command to finish

createScriptArgs

public static java.lang.String[] createScriptArgs(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> localDataContext,
                                                  java.lang.String scriptargs,
                                                  java.lang.String[] scriptargsarr,
                                                  java.lang.String scriptinterpreter,
                                                  boolean interpreterargsquoted,
                                                  java.lang.String filepath)
Generate argument array for a script file invocation

Parameters:
localDataContext - data context properties to expand among the args
scriptargs - arguments to the script file
scriptargsarr - arguments to the script file as an array
scriptinterpreter - interpreter invocation for the file, or null to invoke it directly
interpreterargsquoted - if true, pass the script file and args as a single argument to the interpreter
filepath - remote filepath for the script

createScriptArgList

public static ExecArgList createScriptArgList(java.lang.String filepath,
                                              java.lang.String scriptargs,
                                              java.lang.String[] scriptargsarr,
                                              java.lang.String scriptinterpreter,
                                              boolean interpreterargsquoted)
Generate argument array for a script file invocation

Parameters:
filepath - remote filepath for the script
scriptargs - arguments to the script file
scriptargsarr - arguments to the script file as an array
scriptinterpreter - interpreter invocation for the file, or null to invoke it directly
interpreterargsquoted - if true, pass the script file and args as a single argument to the interpreter

createScriptArgs

public static java.lang.String[] createScriptArgs(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> localDataContext,
                                                  INodeEntry node,
                                                  java.lang.String scriptargs,
                                                  java.lang.String[] scriptargsarr,
                                                  java.lang.String scriptinterpreter,
                                                  boolean interpreterargsquoted,
                                                  java.lang.String filepath)
Generate argument array for a script file invocation

Parameters:
localDataContext - data context properties to expand among the args
node - node to use for os-type argument quoting.
scriptargs - arguments to the script file
scriptargsarr - arguments to the script file as an array
scriptinterpreter - interpreter invocation for the file, or null to invoke it directly
interpreterargsquoted - if true, pass the script file and args as a single argument to the interpreter
filepath - remote filepath for the script