Package org.eclipse.cdt.core

# Class CommandLauncher

java.lang.Object
org.eclipse.cdt.core.CommandLauncher

All Implemented Interfaces:
  `ICommandLauncher`

public class CommandLauncher extends Object implements ICommandLauncher

Restriction:
  This class is not intended to be subclassed by clients.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`COMMAND_CANCELED`
`protected static final long`
`DELAY`
The number of milliseconds to pause between polling.
`protected String[]`
`fCommandArgs`
`protected String`
`fErrorMessage`
`protected Process`
`fProcess`
`protected boolean`
`fShowCommand`
`static final int`
`ILLEGAL_COMMAND`
`static final int`
`OK`

## Constructor Summary

Constructors
Constructor
Description
`CommandLauncher()`
Creates a new launcher Fills in stderr and stdout output to the given streams.

## Method Summary

Modifier and Type
Method
Description
`protected String[]`
`constructCommandArray(String command, String[] commandArgs)`
Constructs a command array that will be passed to the process
`Process`
`execute(org.eclipse.core.runtime.IPath commandPath, String[] args, String[] env, org.eclipse.core.runtime.IPath workingDirectory, org.eclipse.core.runtime.IProgressMonitor monitor)`
Execute a command
`String[]`
`getCommandArgs()`
Returns an array of the command line arguments that were last used to execute a command.
`String`
`getCommandLine()`
Returns the constructed command line of the last command executed.
`protected String`
`getCommandLine(String[] commandArgs)`
`Properties`
`getEnvironment()`
Returns the set of environment variables in the context of which this launcher will execute commands.
`String`
`getErrorMessage()`
Returns a human readable error message corresponding to the last error encountered during command execution.
`org.eclipse.core.resources.IProject`
`getProject()`
Gets the project this launcher is associated with.
`protected void`
`printCommandLine(OutputStream os)`
`void`
`setErrorMessage(String error)`
Sets the human readable error message corresponding to the last error encountered during command execution.
`void`
`setProject(org.eclipse.core.resources.IProject project)`
Sets the project that this launcher is associated with, or `null` if there is no such project.
`void`
`showCommand(boolean show)`
Sets if the command should be printed out first before executing.
`int`
`waitAndRead(OutputStream out, OutputStream err)`
Deprecated.
`int`
`waitAndRead(OutputStream output, OutputStream err, org.eclipse.core.runtime.IProgressMonitor monitor)`
Reads output form the process to the streams.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### COMMAND_CANCELED

public static final int COMMAND_CANCELED

See Also:
  - Constant Field Values

### ILLEGAL_COMMAND

public static final int ILLEGAL_COMMAND

See Also:
  - Constant Field Values

### OK

public static final int OK

See Also:
  - Constant Field Values

### fProcess

protected Process fProcess

### fShowCommand

protected boolean fShowCommand

### fCommandArgs

protected String[] fCommandArgs

### fErrorMessage

protected String fErrorMessage

### DELAY

protected static final long DELAY
The number of milliseconds to pause between polling.

See Also:
  - Constant Field Values

## Constructor Details

### CommandLauncher

public CommandLauncher()
Creates a new launcher Fills in stderr and stdout output to the given streams. Streams can be set to `null`, if output not required

## Method Details

### showCommand

public void showCommand(boolean show)
Description copied from interface: `ICommandLauncher`
Sets if the command should be printed out first before executing.

Specified by:
  `showCommand` in interface `ICommandLauncher`

### getErrorMessage

public String getErrorMessage()
Description copied from interface: `ICommandLauncher`
Returns a human readable error message corresponding to the last error encountered during command execution.

Specified by:
  `getErrorMessage` in interface `ICommandLauncher`
Returns:
  A String corresponding to the error, or `null` if there has been no error. The message could be multi-line, however it is NOT guaranteed that it ends with end of line.

### setErrorMessage

public void setErrorMessage(String error)
Description copied from interface: `ICommandLauncher`
Sets the human readable error message corresponding to the last error encountered during command execution. A subsequent call to getErrorMessage() will return this string.

Specified by:
  `setErrorMessage` in interface `ICommandLauncher`
Parameters:
  `error` - A String corresponding to the error message, or `null` if the error state is intended to be cleared.

### getCommandArgs

public String[] getCommandArgs()
Description copied from interface: `ICommandLauncher`
Returns an array of the command line arguments that were last used to execute a command.

Specified by:
  `getCommandArgs` in interface `ICommandLauncher`
Returns:
  an array of type String[] corresponding to the arguments. The array can be empty, but should not be null.

### getEnvironment

public Properties getEnvironment()
Description copied from interface: `ICommandLauncher`
Returns the set of environment variables in the context of which this launcher will execute commands.

Specified by:
  `getEnvironment` in interface `ICommandLauncher`
Returns:
  Properties

### getCommandLine

public String getCommandLine()
Description copied from interface: `ICommandLauncher`
Returns the constructed command line of the last command executed.

Specified by:
  `getCommandLine` in interface `ICommandLauncher`
Returns:
  String

### constructCommandArray

protected String[] constructCommandArray(String command, String[] commandArgs)
Constructs a command array that will be passed to the process

### execute

public Process execute(org.eclipse.core.runtime.IPath commandPath, String[] args, String[] env, org.eclipse.core.runtime.IPath workingDirectory, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
Description copied from interface: `ICommandLauncher`
Execute a command

Specified by:
  `execute` in interface `ICommandLauncher`
  `env` - The list of environment variables in variable=value format.
Throws:
  `org.eclipse.core.runtime.CoreException` - if there is an error executing the command.
Since:
  5.1
See Also:
  - `ICommandLauncher.execute(IPath, String[], String[], IPath, IProgressMonitor)`

### waitAndRead

@Deprecated public int waitAndRead(OutputStream out, OutputStream err)
Deprecated.

Specified by:
  `waitAndRead` in interface `ICommandLauncher`

### waitAndRead

public int waitAndRead(OutputStream output, OutputStream err, org.eclipse.core.runtime.IProgressMonitor monitor)
Description copied from interface: `ICommandLauncher`
Reads output form the process to the streams. A progress monitor is polled to test if the cancel button has been pressed. Destroys the process if the monitor becomes canceled override to implement a different way to read the process inputs

Specified by:
  `waitAndRead` in interface `ICommandLauncher`

### printCommandLine

protected void printCommandLine(OutputStream os)

### getCommandLine

protected String getCommandLine(String[] commandArgs)

### getProject

public org.eclipse.core.resources.IProject getProject()
Description copied from interface: `ICommandLauncher`
Gets the project this launcher is associated with.

Specified by:
  `getProject` in interface `ICommandLauncher`
Returns:
  IProject, or `null` if there is no such project.
Since:
  5.1
See Also:
  - `ICommandLauncher.getProject()`

### setProject

public void setProject(org.eclipse.core.resources.IProject project)
Description copied from interface: `ICommandLauncher`
Sets the project that this launcher is associated with, or `null` if there is no such project.

Specified by:
  `setProject` in interface `ICommandLauncher`
Since:
  5.1
See Also:
  - `ICommandLauncher.setProject(org.eclipse.core.resources.IProject)`