Package org.codehaus.gmavenplus.mojo
Class ConsoleMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
-
- org.codehaus.gmavenplus.mojo.AbstractToolsMojo
-
- org.codehaus.gmavenplus.mojo.ConsoleMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="console", requiresDependencyResolution=TEST) public class ConsoleMojo extends AbstractToolsMojoLaunches a Groovy console window 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). Note that using theantproperty requires Java 8, as the included Ant version was compiled for Java 8.- Since:
- 1.1
- Author:
- Keegan Witt
-
-
Field Summary
Fields Modifier and Type Field Description protected StringconsoleScriptScript file to load into console.-
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
-
-
Constructor Summary
Constructors Constructor Description ConsoleMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidbindAntBuilder(Class<?> consoleClass, Class<?> bindingClass, Object console)Binds a new AntBuilder to the project properties.voidexecute()Executes this mojo.protected voidloadScript(Class<?> consoleClass, Object console)protected ObjectsetupConsole(Class<?> consoleClass, Class<?> bindingClass)Instantiates a groovy.ui.Console object.protected voidwaitForConsoleClose()Waits for the console in use to be closed.-
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
-
-
-
-
Field Detail
-
consoleScript
@Parameter(property="consoleScript") protected String consoleScript
Script file to load into console. Can also be a project property referring to a file.- Since:
- 1.10.1
-
-
Method Detail
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureExceptionExecutes this mojo.- Throws:
org.apache.maven.plugin.MojoExecutionException- If an unexpected problem occurs (causes a "BUILD ERROR" message to be displayed)org.apache.maven.plugin.MojoFailureException- If unable to await console exit
-
loadScript
protected void loadScript(Class<?> consoleClass, Object console) throws InvocationTargetException, IllegalAccessException
-
setupConsole
protected Object setupConsole(Class<?> consoleClass, Class<?> bindingClass) throws InvocationTargetException, IllegalAccessException, InstantiationException
Instantiates a groovy.ui.Console object.- Parameters:
consoleClass- the groovy.ui.Console class to usebindingClass- the groovy.lang.Binding class to use- Returns:
- a new groovy.ui.Console object
- Throws:
InvocationTargetException- when a reflection invocation needed for instantiating a console object cannot be completedIllegalAccessException- when a method needed for instantiating a console object cannot be accessedInstantiationException- when a class needed for instantiating a console object cannot be instantiated
-
bindAntBuilder
protected void bindAntBuilder(Class<?> consoleClass, Class<?> bindingClass, Object console) throws ClassNotFoundException, IllegalAccessException, InvocationTargetException
Binds a new AntBuilder to the project properties.- Parameters:
consoleClass- the groovy.ui.Console class to usebindingClass- the groovy.lang.Binding class to useconsole- the groovy.ui.Console object to use- Throws:
ClassNotFoundException- when a class needed for binding an AntBuilder object cannot be foundIllegalAccessException- when a method needed for binding an AntBuilder object cannot be accessedInvocationTargetException- when a reflection invocation needed for binding an AntBuilder object cannot be completed
-
waitForConsoleClose
protected void waitForConsoleClose() throws org.apache.maven.plugin.MojoFailureExceptionWaits for the console in use to be closed.- Throws:
org.apache.maven.plugin.MojoFailureException- if the execution was interrupted while running or it was unable to find the console thread to wait on
-
-