Class ScriptRunner
- java.lang.Object
-
- org.apache.maven.shared.scriptinterpreter.ScriptRunner
-
public class ScriptRunner extends java.lang.Object
Runs pre-/post-build hook scripts.- Author:
- Benjamin Bentmann
-
-
Constructor Summary
Constructors Constructor Description ScriptRunner()
Creates a new script runner with BSH and Groovy interpreters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addScriptInterpreter(java.lang.String id, ScriptInterpreter scriptInterpreter)
Add new script Interpretervoid
run(java.lang.String scriptDescription, java.io.File basedir, java.lang.String relativeScriptPath, java.util.Map<java.lang.String,?> context, ExecutionLogger logger)
Runs the specified hook script (after resolution).void
run(java.lang.String scriptDescription, java.io.File scriptFile, java.util.Map<java.lang.String,?> context, ExecutionLogger logger)
Runs the specified hook script.void
setClassPath(java.util.List<java.lang.String> classPath)
Sets the additional class path for the hook scripts.void
setGlobalVariable(java.lang.String name, java.lang.Object value)
Sets a global variable for the script interpreter.void
setScriptEncoding(java.lang.String encoding)
Sets the file encoding of the hook scripts.
-
-
-
Method Detail
-
addScriptInterpreter
public void addScriptInterpreter(java.lang.String id, ScriptInterpreter scriptInterpreter)
Add new script Interpreter- Parameters:
id
- The Id of interpreterscriptInterpreter
- the Script Interpreter implementation
-
setGlobalVariable
public void setGlobalVariable(java.lang.String name, java.lang.Object value)
Sets a global variable for the script interpreter.- Parameters:
name
- The name of the variable, must not benull
.value
- The value of the variable, may benull
.
-
setClassPath
public void setClassPath(java.util.List<java.lang.String> classPath)
Sets the additional class path for the hook scripts. Note that the provided list is copied, so any later changes will not affect the scripts.- 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.
-
setScriptEncoding
public void setScriptEncoding(java.lang.String encoding)
Sets the file encoding of the hook scripts.- Parameters:
encoding
- The file encoding of the hook scripts, may benull
or empty to use the platform's default encoding.
-
run
public void run(java.lang.String scriptDescription, java.io.File basedir, java.lang.String relativeScriptPath, java.util.Map<java.lang.String,?> context, ExecutionLogger logger) throws java.io.IOException, ScriptException
Runs the specified hook script (after resolution).- Parameters:
scriptDescription
- The description of the script to use for logging, must not benull
.basedir
- The base directory of the project, must not benull
.relativeScriptPath
- The path to the script relative to the project base directory, may benull
to skip the script execution and may not have extensions (resolution will search).context
- The key-value storage used to share information between hook scripts, may benull
.logger
- The logger to redirect the script output to, may benull
to use stdout/stderr.- Throws:
java.io.IOException
- If an I/O error occurred while reading the script file.ScriptException
- If the script did not returntrue
of threw an exception.
-
run
public void run(java.lang.String scriptDescription, java.io.File scriptFile, java.util.Map<java.lang.String,?> context, ExecutionLogger logger) throws java.io.IOException, ScriptException
Runs the specified hook script.- Parameters:
scriptDescription
- The description of the script to use for logging, must not benull
.scriptFile
- The path to the script, may benull
to skip the script execution.context
- The key-value storage used to share information between hook scripts, may benull
.logger
- The logger to redirect the script output to, may benull
to use stdout/stderr.- Throws:
java.io.IOException
- If an I/O error occurred while reading the script file.ScriptException
- If the script did not returntrue
of threw an exception.
-
-