Class 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
    • Field Detail

      • 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 java.lang.String verbosity
        Groovy shell verbosity level. Should be one of:
        • QUIET
        • INFO
        • DEBUG
        • VERBOSE
    • Constructor Detail

      • ShellMojo

        public ShellMojo()
    • Method Detail

      • 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 java.lang.Object setupShell​(java.lang.Class<?> shellClass,
                                              java.lang.Class<?> bindingClass,
                                              java.lang.Class<?> ioClass,
                                              java.lang.Class<?> verbosityClass,
                                              java.lang.Class<?> loggerClass)
                                       throws java.lang.reflect.InvocationTargetException,
                                              java.lang.IllegalAccessException,
                                              java.lang.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:
        java.lang.InstantiationException - when a class needed for setting up a shell cannot be instantiated
        java.lang.IllegalAccessException - when a method needed for setting up a shell cannot be accessed
        java.lang.reflect.InvocationTargetException - when a reflection invocation needed for setting up a shell cannot be completed