Package org.codehaus.gmavenplus.mojo
Class ExecuteMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
org.codehaus.gmavenplus.mojo.AbstractToolsMojo
org.codehaus.gmavenplus.mojo.ExecuteMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="execute",
requiresDependencyResolution=TEST,
threadSafe=true)
public class ExecuteMojo
extends AbstractToolsMojo
Executes Groovy scripts (in the pom or external), bound to the current project.
Note that this mojo requires Groovy >= 1.5.0.
Note that it references the plugin classloader to pull in dependencies Groovy didn't include
(for things like Ant for AntBuilder, Ivy for @grab, and Jansi for Groovysh).
- Since:
- 1.0-beta-1
- Author:
- Keegan Witt
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanWhether to continue executing remaining scripts when a script fails.protected static final VersionGroovy 1.7.0 version.protected static final VersionGroovy 4.0.0-RC-1 version.protected String[]Groovy scripts to run (in order).protected booleanFlag to allow script execution to be skipped.protected StringThe encoding of script files/URLs.protected intThe timeout to use for URL connections.protected intThe timeout to use for URL reading.Fields inherited from class org.codehaus.gmavenplus.mojo.AbstractToolsMojo
allowSystemExits, bindAllProjectProperties, bindAllSessionUserProperties, bindPropertiesToSeparateVariables, bindSessionUserOverrideProperties, includeClasspath, projectHelper, propertiesFields inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
classWrangler, GROOVY_1_5_0, GROOVY_SOURCES_PATTERN, JAVA_1_7, JAVA_1_8, JAVA_12, JAVA_SOURCES_PATTERN, minGroovyVersion, mojoExecution, pluginArtifacts, project, sessionFields inherited from interface org.apache.maven.plugin.Mojo
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidDoes the actual execution.voidexecute()Executes this mojo.protected voidexecuteScriptFromUrl(Class<?> groovyShellClass, Object shell, String script) Executes a script at a URL location.protected voidexecuteScripts(Class<?> groovyShellClass, Object shell) Executes the configured scripts.protected ObjectsetupShell(Class<?> groovyShellClass) Instantiates a new groovy.lang.GroovyShell object.Methods inherited from class org.codehaus.gmavenplus.mojo.AbstractToolsMojo
initializeProperties, logUnableToInitializeAntBuilderMethods inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
getJavaVersion, getJavaVersionString, groovyAtLeast, groovyIs, groovyNewerThan, groovyOlderThan, groovyVersionSupportsAction, isGroovyIndy, isJavaSupportIndy, isJavaSupportParameters, isJavaSupportPreviewFeatures, logPluginClasspath, setupClassWranglerMethods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
GROOVY_4_0_0_RC_1
Groovy 4.0.0-RC-1 version. -
GROOVY_1_7_0
Groovy 1.7.0 version. -
scripts
Groovy scripts to run (in order). Can be a script body, aURLto a script (local or remote), or a filename. -
continueExecuting
@Parameter(defaultValue="false", property="continueExecuting") protected boolean continueExecutingWhether to continue executing remaining scripts when a script fails. -
sourceEncoding
The encoding of script files/URLs.- Since:
- 1.0-beta-2
-
skipScriptExecution
@Parameter(defaultValue="false", property="skipScriptExecution") protected boolean skipScriptExecutionFlag to allow script execution to be skipped.- Since:
- 1.9.1
-
urlConnectionTimeout
@Parameter(defaultValue="0", property="urlConnectionTimeout") protected int urlConnectionTimeoutThe timeout to use for URL connections.- Since:
- 4.1.0
-
urlReadTimeout
@Parameter(defaultValue="0", property="urlReadTimeout") protected int urlReadTimeoutThe timeout to use for URL reading.- Since:
- 4.1.0
-
-
Constructor Details
-
ExecuteMojo
public ExecuteMojo()
-
-
Method Details
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionExceptionExecutes this mojo.- Throws:
org.apache.maven.plugin.MojoExecutionException- If an unexpected problem occurs (causes a "BUILD ERROR" message to be displayed)
-
doExecute
protected void doExecute() throws org.apache.maven.plugin.MojoExecutionExceptionDoes the actual execution.- Throws:
org.apache.maven.plugin.MojoExecutionException- If an unexpected problem occurs (causes a "BUILD ERROR" message to be displayed)
-
setupShell
protected Object setupShell(Class<?> groovyShellClass) throws InvocationTargetException, IllegalAccessException, InstantiationException, ClassNotFoundException Instantiates a new groovy.lang.GroovyShell object.- Parameters:
groovyShellClass- the groovy.lang.GroovyShell class- Returns:
- a new groovy.lang.GroovyShell object
- Throws:
InvocationTargetException- when a reflection invocation needed for shell configuration cannot be completedIllegalAccessException- when a method needed for shell configuration cannot be accessedInstantiationException- when a class needed for shell configuration cannot be instantiatedClassNotFoundException- when a class needed for shell configuration cannot be found
-
executeScripts
protected void executeScripts(Class<?> groovyShellClass, Object shell) throws InvocationTargetException, IllegalAccessException, org.apache.maven.plugin.MojoExecutionException Executes the configured scripts.- Parameters:
groovyShellClass- the groovy.lang.GroovyShell classshell- a groovy.lag.GroovyShell object- Throws:
InvocationTargetException- when a reflection invocation needed for script execution cannot be completedIllegalAccessException- when a method needed for script execution cannot be accessedorg.apache.maven.plugin.MojoExecutionException- when an exception occurred during script execution (causes a "BUILD ERROR" message to be displayed)
-
executeScriptFromUrl
protected void executeScriptFromUrl(Class<?> groovyShellClass, Object shell, String script) throws IOException, InvocationTargetException, IllegalAccessException Executes a script at a URL location.- Parameters:
groovyShellClass- the GroovyShell classshell- a groovy.lag.GroovyShell objectscript- the script URL to execute- Throws:
IOException- when the stream can't be opened on the URLInvocationTargetException- when a reflection invocation needed for script execution cannot be completedIllegalAccessException- when a method needed for script execution cannot be accessed
-