
public.javadoc.org.spincast.plugins.processutils.SpincastProcessUtilsDefault.html Maven / Gradle / Ivy
Show all versions of spincast-website Show documentation
SpincastProcessUtilsDefault (org.spincast:spincast-framework 2.1.1 API)
Class SpincastProcessUtilsDefault
java.lang.Object
org.spincast.plugins.processutils.SpincastProcessUtilsDefault
- All Implemented Interfaces:
SpincastProcessUtils
-
Field Summary
Fields
-
Constructor Summary
Constructors
Constructor
Description
SpincastProcessUtilsDefault(SpincastConfig spincastConfig,
SpincastUtils spincastUtils,
TemplatingEngine templatingEngine)
-
Method Summary
Modifier and Type
Method
Description
protected ProcessBuilder
Configure input/output streams
void
executeAsync(ProcessExecutionHandler handler,
long timeoutAmount,
TimeUnit timeoutUnit,
String... cmdArgs)
Execute an external program asynchronously.
void
executeAsync(ProcessExecutionHandler handler,
long timeoutAmount,
TimeUnit timeoutUnit,
List<String> cmdArgs)
Execute an external program asynchronously.
void
executeAsync(ProcessExecutionHandler handler,
String... cmdArgs)
Execute an external program asynchronously.
void
executeAsync(ProcessExecutionHandler handler,
List<String> cmdArgs)
Execute an external program asynchronously.
executeGoalOnExternalMavenProject(ResourceInfo projectRootInfo,
MavenProjectGoal mavenGoal)
Execute the specified goal
on an external
Maven project.
executeGoalOnExternalMavenProject(ResourceInfo projectRootInfo,
MavenProjectGoal mavenGoal,
Map<String,Object> pomParams)
Execute the specified goal
on an external
Maven project.
executeSync(long timeoutAmount,
TimeUnit timeoutUnit,
String... cmdArgs)
Execute an external program synchronously.
executeSync(long timeoutAmount,
TimeUnit timeoutUnit,
List<String> cmdArgs)
Execute an external program synchronously.
executeSync(long timeoutAmount,
TimeUnit timeoutUnit,
ExecutionOutputStrategy executionOutputStrategy,
String... cmdArgs)
Execute an external program synchronously.
executeSync(long timeoutAmount,
TimeUnit timeoutUnit,
ExecutionOutputStrategy executionOutputStrategy,
List<String> cmdArgs)
Execute an external program synchronously.
protected SpincastConfig
protected SpincastUtils
protected TemplatingEngine
protected void
killProcess(Process process)
protected void
startSystemErrReader(Process process,
ProcessExecutionHandler handler)
protected void
startSystemOutReader(Process process,
ProcessExecutionHandler handler)
protected void
waitForStreamsToBeEmpty(Thread systemOutReaderThread,
Thread systemErrReaderThread)
-
Field Details
-
logger
protected static final org.slf4j.Logger logger
-
Constructor Details
-
SpincastProcessUtilsDefault
@Inject
public SpincastProcessUtilsDefault(SpincastConfig spincastConfig,
SpincastUtils spincastUtils,
TemplatingEngine templatingEngine)
-
Method Details
-
getSpincastConfig
-
getSpincastUtils
-
getTemplatingEngine
-
executeGoalOnExternalMavenProject
public File executeGoalOnExternalMavenProject(ResourceInfo projectRootInfo,
MavenProjectGoal mavenGoal)
Description copied from interface: SpincastProcessUtils
Execute the specified goal
on an external
Maven project.
If the project is located on the classpath, it
first copies it to the file system (in a temp folder).
- Specified by:
executeGoalOnExternalMavenProject
in interface SpincastProcessUtils
- Returns:
- the root directory of the project. This will be
the same as the specified path if on the file system,
or will be the created temp directory where the project
has been copied (from the classpath) otherwise.
-
executeGoalOnExternalMavenProject
public File executeGoalOnExternalMavenProject(ResourceInfo projectRootInfo,
MavenProjectGoal mavenGoal,
Map<String,Object> pomParams)
Description copied from interface: SpincastProcessUtils
Execute the specified goal
on an external
Maven project.
If the project is located on the classpath, it
first copies it to the file system (in a temp folder).
- Specified by:
executeGoalOnExternalMavenProject
in interface SpincastProcessUtils
pomParams
- Before executing the goal
, those parameters
are used to replace placeholders in the project's pom.xml
using Spincast's TemplatingEngine
.
- Returns:
- the root directory of the project. This will be
the same as the specified path if on the file system,
or will be the created temp directory where the project
has been copied (from the classpath) otherwise.
-
executeAsync
Description copied from interface: SpincastProcessUtils
Execute an external program asynchronously.
The method will only return when the process is actually
created or if an exception occured when trying to do so.
If this creates a process that is not made
to exit automatically (for example it starts an
HTTP server), you must kill the process
by yourself!:
ProcessExecutionHandlerDefault handler = new ProcessExecutionHandlerDefault();
{
// override some methods...
};
getSpincastProcessUtils().executeAsync(handler,
"java",
"-jar",
jarFile.getAbsolutePath());
try {
//...
} finally {
handler.killProcess();
}
- Specified by:
executeAsync
in interface SpincastProcessUtils
- Parameters:
handler
- to get information from the created process
and to be able to kill it.
-
executeAsync
public void executeAsync(ProcessExecutionHandler handler,
long timeoutAmount,
TimeUnit timeoutUnit,
String... cmdArgs)
Description copied from interface: SpincastProcessUtils
Execute an external program asynchronously.
The method will only return when the process is actually
created or if an exception occured when trying to do so.
If this creates a process that is not made
to exit automatically (for example it starts an
HTTP server), you must kill the process
by yourself!:
ProcessExecutionHandlerDefault handler = new ProcessExecutionHandlerDefault();
{
// override some methods...
};();
getSpincastProcessUtils().executeAsync(handler,
"java",
"-jar",
jarFile.getAbsolutePath());
try {
//...
} finally {
handler.killProcess();
}
- Specified by:
executeAsync
in interface SpincastProcessUtils
- Parameters:
handler
- to get information from the created process
and to be able to kill it.
timeoutAmount
- the amount of time the external program
is allowed to run before a timeout occurs. When the timeout occurs:
-
The process is killed
-
onTimeoutException()
is called
Note that onExit()
will not be called
if a timeout occurs!
timeoutUnit
- the timeout unit.
-
executeAsync
Description copied from interface: SpincastProcessUtils
Execute an external program asynchronously.
The method will only return when the process is actually
created or if an exception occured when trying to do so.
If this creates a process that is not made
to exit automatically (for example it starts an
HTTP server), you must kill the process
by yourself!:
ProcessExecutionHandlerDefault handler = new ProcessExecutionHandlerDefault();
{
// override some methods...
};
getSpincastProcessUtils().executeAsync(handler,
"java",
"-jar",
jarFile.getAbsolutePath());
try {
//...
} finally {
handler.killProcess();
}
- Specified by:
executeAsync
in interface SpincastProcessUtils
- Parameters:
handler
- to get information from the created process
and to be able to kill it.
-
executeAsync
public void executeAsync(ProcessExecutionHandler handler,
long timeoutAmount,
TimeUnit timeoutUnit,
List<String> cmdArgs)
Description copied from interface: SpincastProcessUtils
Execute an external program asynchronously.
The method will only return when the process is actually
created or if an exception occured when trying to do so.
If this creates a process that is not made
to exit automatically (for example it starts an
HTTP server), you must kill the process
by yourself!:
ProcessExecutionHandlerDefault handler = new ProcessExecutionHandlerDefault();
{
// override some methods...
};
getSpincastProcessUtils().executeAsync(handler,
"java",
"-jar",
jarFile.getAbsolutePath());
try {
//...
} finally {
handler.killProcess();
}
- Specified by:
executeAsync
in interface SpincastProcessUtils
- Parameters:
handler
- to get information from the created process
and to be able to kill it.
timeoutAmount
- the amount of time the external program
is allowed to run before a timeout occurs. When the timeout occurs:
-
The process is killed
-
onTimeoutException()
is called
Note that onExit()
will not be called
if a timeout occurs!
timeoutUnit
- the timeout unit.
-
killProcess
-
configureStreams
Configure input/output streams
-
startSystemOutReader
-
startSystemErrReader
-
waitForStreamsToBeEmpty
-
executeSync
public SyncExecutionResult executeSync(long timeoutAmount,
TimeUnit timeoutUnit,
String... cmdArgs)
throws LaunchException,
TimeoutException
Description copied from interface: SpincastProcessUtils
Execute an external program synchronously.
By default SYSTEM
is
used as the output strategy so it is printed to
System.out
and System.err
.
- Specified by:
executeSync
in interface SpincastProcessUtils
- Parameters:
timeoutAmount
- the amount of time the external program
is allowed to run before a timeout occurs. When the timeout occurs:
-
The process is killed
-
A
TimeoutException
exception is thrown.
timeoutUnit
- the timeout unit.
- Returns:
- an object contaning the information about the execution of the
program.
- Throws:
LaunchException
- if the program can't be launched properly.
TimeoutException
- if the specified timeout is
exceeded.
-
executeSync
public SyncExecutionResult executeSync(long timeoutAmount,
TimeUnit timeoutUnit,
List<String> cmdArgs)
throws LaunchException,
TimeoutException
Description copied from interface: SpincastProcessUtils
Execute an external program synchronously.
By default SYSTEM
is
used as the output strategy so it is printed to
System.out
and System.err
.
- Specified by:
executeSync
in interface SpincastProcessUtils
- Parameters:
timeoutAmount
- the amount of time the external program
is allowed to run before a timeout occurs. When the timeout occurs:
-
The process is killed
-
A
TimeoutException
exception is thrown.
timeoutUnit
- the timeout unit.
- Returns:
- an object contaning the information about the execution of the
program.
- Throws:
LaunchException
- if the program can't be launched properly.
TimeoutException
- if the specified timeout is
exceeded.
-
executeSync
public SyncExecutionResult executeSync(long timeoutAmount,
TimeUnit timeoutUnit,
ExecutionOutputStrategy executionOutputStrategy,
String... cmdArgs)
throws LaunchException,
TimeoutException
Description copied from interface: SpincastProcessUtils
Execute an external program synchronously.
By default SYSTEM
is
used as the output strategy so it is printed to
System.out
and System.err
.
- Specified by:
executeSync
in interface SpincastProcessUtils
- Parameters:
timeoutAmount
- the amount of time the external program
is allowed to run before a timeout occurs. When the timeout occurs:
-
The process is killed.
-
A
TimeoutException
exception is thrown.
timeoutUnit
- the timeout unit.
executionOutputStrategy
- what should be done with the
output of the executed program?
- Returns:
- an object contaning the information about the execution of the
program.
- Throws:
LaunchException
- if the program can't be launched properly.
TimeoutException
- if the specified timeout is
exceeded.
-
executeSync
public SyncExecutionResult executeSync(long timeoutAmount,
TimeUnit timeoutUnit,
ExecutionOutputStrategy executionOutputStrategy,
List<String> cmdArgs)
throws LaunchException,
TimeoutException
Description copied from interface: SpincastProcessUtils
Execute an external program synchronously.
By default SYSTEM
is
used as the output strategy so it is printed to
System.out
and System.err
.
- Specified by:
executeSync
in interface SpincastProcessUtils
- Parameters:
timeoutAmount
- the amount of time the external program
is allowed to run before a timeout occurs. When the timeout occurs:
-
The process is killed.
-
A
TimeoutException
exception is thrown.
timeoutUnit
- the timeout unit.
executionOutputStrategy
- what should be done with the
output of the executed program?
- Returns:
- an object contaning the information about the execution of the
program.
- Throws:
LaunchException
- if the program can't be launched properly.
TimeoutException
- if the specified timeout is
exceeded.