Class ShellMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
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 Details

    • GROOVY_4_0_0_ALPHA1

      protected static final Version GROOVY_4_0_0_ALPHA1
      Groovy 4.0.0 alpha-1 version.
    • verbosity

      @Parameter(defaultValue="QUIET") protected String 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.MojoExecutionException
      Executes 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 class
      bindingClass - the Binding class
      ioClass - the IO class
      verbosityClass - the Verbosity
      loggerClass - the Logger class
      Returns:
      the Groovysh shell to run
      Throws:
      InstantiationException - when a class needed for setting up a shell cannot be instantiated
      IllegalAccessException - when a method needed for setting up a shell cannot be accessed
      InvocationTargetException - when a reflection invocation needed for setting up a shell cannot be completed