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
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.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(java.lang.Class<?> consoleClass, java.lang.Class<?> bindingClass, java.lang.Object console)Binds a new AntBuilder to the project properties.voidexecute()Executes this mojo.protected voidloadScript(java.lang.Class<?> consoleClass, java.lang.Object console)protected java.lang.ObjectsetupConsole(java.lang.Class<?> consoleClass, java.lang.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
-
-
-
-
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(java.lang.Class<?> consoleClass, java.lang.Object console) throws java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException- Throws:
java.lang.reflect.InvocationTargetExceptionjava.lang.IllegalAccessException
-
setupConsole
protected java.lang.Object setupConsole(java.lang.Class<?> consoleClass, java.lang.Class<?> bindingClass) throws java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException, java.lang.InstantiationExceptionInstantiates 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:
java.lang.reflect.InvocationTargetException- when a reflection invocation needed for instantiating a console object cannot be completedjava.lang.IllegalAccessException- when a method needed for instantiating a console object cannot be accessedjava.lang.InstantiationException- when a class needed for instantiating a console object cannot be instantiated
-
bindAntBuilder
protected void bindAntBuilder(java.lang.Class<?> consoleClass, java.lang.Class<?> bindingClass, java.lang.Object console) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetExceptionBinds 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:
java.lang.ClassNotFoundException- when a class needed for binding an AntBuilder object cannot be foundjava.lang.IllegalAccessException- when a method needed for binding an AntBuilder object cannot be accessedjava.lang.reflect.InvocationTargetException- 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
-
-