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
Modifier and TypeFieldDescriptionprotected boolean
Whether to continue executing remaining scripts when a script fails.protected static final Version
Groovy 1.7.0 version.protected static final Version
Groovy 4.0.0-RC-1 version.protected String[]
Groovy scripts to run (in order).protected boolean
Flag to allow script execution to be skipped.protected String
The encoding of script files.Fields inherited from class org.codehaus.gmavenplus.mojo.AbstractToolsMojo
allowSystemExits, bindAllProjectProperties, bindAllSessionUserProperties, bindPropertiesToSeparateVariables, bindSessionUserOverrideProperties, includeClasspath, projectHelper, properties
Fields 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, session
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Does the actual execution.void
execute()
Executes this mojo.protected void
executeScriptFromUrl
(Class<?> groovyShellClass, Object shell, String script) Executes a script at a URL location.protected void
executeScripts
(Class<?> groovyShellClass, Object shell) Executes the configured scripts.protected Object
setupShell
(Class<?> groovyShellClass) Instantiates a new groovy.lang.GroovyShell object.Methods inherited from class org.codehaus.gmavenplus.mojo.AbstractToolsMojo
initializeProperties, logUnableToInitializeAntBuilder
Methods inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
getJavaVersion, getJavaVersionString, groovyAtLeast, groovyIs, groovyNewerThan, groovyOlderThan, groovyVersionSupportsAction, isGroovyIndy, isJavaSupportIndy, isJavaSupportParameters, isJavaSupportPreviewFeatures, logPluginClasspath, setupClassWrangler
Methods 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, aURL
to a script (local or remote), or a filename. -
continueExecuting
@Parameter(defaultValue="false") protected boolean continueExecutingWhether to continue executing remaining scripts when a script fails. -
sourceEncoding
The encoding of script files.- Since:
- 1.0-beta-2
-
skipScriptExecution
@Parameter(defaultValue="false") protected boolean skipScriptExecutionFlag to allow script execution to be skipped.- Since:
- 1.9.1
-
-
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
-