Package org.bytedeco.javacpp.tools
Class CommandExecutor
- java.lang.Object
-
- org.bytedeco.javacpp.tools.CommandExecutor
-
public class CommandExecutor extends java.lang.Object
A wrapper for ProcessBuilder that can be overridden easily for frameworks like Gradle that don't support it well.
-
-
Constructor Summary
Constructors Constructor Description CommandExecutor(Logger logger)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
executeCommand(java.util.List<java.lang.String> command, java.io.File workingDirectory, java.util.Map<java.lang.String,java.lang.String> environmentVariables)
Executes a command withProcessBuilder
, but also logs the call and redirects its input and output to our process.
-
-
-
Field Detail
-
logger
final Logger logger
-
-
Constructor Detail
-
CommandExecutor
public CommandExecutor(Logger logger)
-
-
Method Detail
-
executeCommand
public int executeCommand(java.util.List<java.lang.String> command, java.io.File workingDirectory, java.util.Map<java.lang.String,java.lang.String> environmentVariables) throws java.io.IOException, java.lang.InterruptedException
Executes a command withProcessBuilder
, but also logs the call and redirects its input and output to our process.- Parameters:
command
- to haveProcessBuilder
executeworkingDirectory
- to pass toProcessBuilder.directory()
environmentVariables
- to put inProcessBuilder.environment()
- Returns:
- the exit value of the command
- Throws:
java.io.IOException
java.lang.InterruptedException
-
-