Package org.codehaus.gmavenplus.mojo
Class ShellMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
org.codehaus.gmavenplus.mojo.AbstractToolsMojo
org.codehaus.gmavenplus.mojo.ShellMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="shell",
requiresDependencyResolution=TEST)
public class ShellMojo
extends AbstractToolsMojo
Launches a Groovy shell 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.1
- Author:
- Keegan Witt
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final Version
Groovy 4.0.0 alpha-1 version.protected String
Groovy shell verbosity level.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
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_ALPHA1
Groovy 4.0.0 alpha-1 version. -
verbosity
Groovy shell verbosity level. Should be one of:- QUIET
- INFO
- DEBUG
- VERBOSE
-
-
Constructor Details
-
ShellMojo
public ShellMojo()
-
-
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)
-
setupShell
protected Object setupShell(Class<?> shellClass, Class<?> bindingClass, Class<?> ioClass, Class<?> verbosityClass, Class<?> loggerClass) throws InvocationTargetException, IllegalAccessException, InstantiationException Creates the Groovysh to run.- Parameters:
shellClass
- the Groovysh classbindingClass
- the Binding classioClass
- the IO classverbosityClass
- the VerbosityloggerClass
- the Logger class- Returns:
- the Groovysh shell to run
- Throws:
InstantiationException
- when a class needed for setting up a shell cannot be instantiatedIllegalAccessException
- when a method needed for setting up a shell cannot be accessedInvocationTargetException
- when a reflection invocation needed for setting up a shell cannot be completed
-