Interface ScriptInterpreter
- All Superinterfaces:
AutoCloseable
,Closeable
Defines a simple abstraction used to plug-in several script interpreters for the pre-/post-build-hooks. Each
interpreter implementation should be stateless and support reuse.
- Author:
- Benjamin Bentmann
-
Method Summary
Modifier and TypeMethodDescriptionevaluateScript
(String script, Map<String, ?> globalVariables, PrintStream scriptOutput) Evaluates the specified script.void
setClassPath
(List<String> classPath) Set class path used by interpreted.
-
Method Details
-
setClassPath
Set class path used by interpreted.- Parameters:
classPath
- The additional class path for the script interpreter, may benull
or empty if only the plugin realm should be used for the script evaluation. If specified, this class path will precede the artifacts from the plugin class path.
-
evaluateScript
Object evaluateScript(String script, Map<String, ?> globalVariables, PrintStream scriptOutput) throws ScriptEvaluationExceptionEvaluates the specified script.- Parameters:
script
- The script contents to evaluate, must not benull
.globalVariables
- The global variables (as a mapping from variable name to value) to define for the script, may benull
if not used.scriptOutput
- A print stream to redirect any output from the script to, may benull
to use stdout/stderr.- Returns:
- The return value from the script, can be
null
- Throws:
ScriptEvaluationException
- If the script evaluation produced an error.
-