Class AbstractCompileMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
    Direct Known Subclasses:
    CompileMojo, CompileTestsMojo

    public abstract class AbstractCompileMojo
    extends AbstractGroovySourcesMojo
    The base compile mojo, which all compile mojos extend.
    Since:
    1.0-beta-1
    Author:
    Keegan Witt
    • Field Detail

      • GROOVY_2_5_0_ALPHA1

        protected static final Version GROOVY_2_5_0_ALPHA1
        Groovy 2.5.0 alpha-1 version.
      • GROOVY_2_3_3

        protected static final Version GROOVY_2_3_3
        Groovy 2.3.3 version.
      • GROOVY_2_1_3

        protected static final Version GROOVY_2_1_3
        Groovy 2.1.3 version.
      • GROOVY_2_1_0_BETA1

        protected static final Version GROOVY_2_1_0_BETA1
        Groovy 2.1.0 beta-1 version.
      • GROOVY_2_0_0_BETA3

        protected static final Version GROOVY_2_0_0_BETA3
        Groovy 2.0.0 beta-3 version.
      • GROOVY_1_6_0

        protected static final Version GROOVY_1_6_0
        Groovy 1.6.0 version.
      • sourceEncoding

        @Parameter(defaultValue="${project.build.sourceEncoding}")
        protected String sourceEncoding
        The encoding of source files.
      • targetBytecode

        @Parameter(property="maven.compiler.target",
                   defaultValue="1.5")
        protected String targetBytecode
        The Groovy compiler bytecode compatibility. One of
        • 1.4
        • 1.5
        • 1.6
        • 1.7
        • 1.8
        Using 1.6 or 1.7 requires Groovy >= 2.1.3, and using 1.8 requires Groovy >= 2.3.3.
      • debug

        @Parameter(defaultValue="false")
        protected boolean debug
        Whether Groovy compiler should be set to debug.
      • verbose

        @Parameter(defaultValue="false")
        protected boolean verbose
        Whether Groovy compiler should be set to verbose.
      • warningLevel

        @Parameter(defaultValue="1")
        protected int warningLevel
        Groovy compiler warning level. Should be one of:
        0
        None
        1
        Likely Errors
        2
        Possible Errors
        3
        Paranoia
      • tolerance

        @Parameter(defaultValue="0")
        protected int tolerance
        Groovy compiler error tolerance (the number of non-fatal errors (per unit) that should be tolerated before compilation is aborted).
      • invokeDynamic

        @Parameter(property="invokeDynamic",
                   defaultValue="false")
        protected boolean invokeDynamic
        Whether to support invokeDynamic (requires Java 7 or greater and Groovy indy 2.0.0-beta-3 or greater).
      • configScript

        @Parameter(property="configScript")
        protected File configScript
        A script for tweaking the configuration options (requires Groovy 2.1.0-beta-1 or greater). Note that its encoding must match your source encoding.
      • parameters

        @Parameter(property="parameters",
                   defaultValue="false")
        protected boolean parameters
        Generate metadata for reflection on method parameter names using the functionality provided by JEP 118 (requires Java 8 or greater and Groovy 2.5.0-alpha-1 or greater).
    • Constructor Detail

      • AbstractCompileMojo

        public AbstractCompileMojo()
    • Method Detail

      • setupCompilationUnit

        protected Object setupCompilationUnit​(Set<File> sources,
                                              Class<?> compilerConfigurationClass,
                                              Class<?> compilationUnitClass,
                                              Class<?> groovyClassLoaderClass,
                                              Object compilerConfiguration,
                                              Object groovyClassLoader,
                                              Object transformLoader)
                                       throws InvocationTargetException,
                                              IllegalAccessException,
                                              InstantiationException
        Sets up the CompilationUnit to use for compilation.
        Parameters:
        sources - the sources to compile
        compilerConfigurationClass - the CompilerConfiguration class
        compilationUnitClass - the CompilationUnit class
        groovyClassLoaderClass - the GroovyClassLoader class
        compilerConfiguration - the CompilerConfiguration
        groovyClassLoader - the GroovyClassLoader
        transformLoader - the GroovyClassLoader to use for transformation
        Returns:
        the CompilationUnit
        Throws:
        InstantiationException - when a class needed for setting up compilation unit cannot be instantiated
        IllegalAccessException - when a method needed for setting up compilation unit cannot be accessed
        InvocationTargetException - when a reflection invocation needed for setting up compilation unit cannot be completed
      • verifyGroovyVersionSupportsTargetBytecode

        protected void verifyGroovyVersionSupportsTargetBytecode()
        Throws an exception if targetBytecode is not supported with this version of Groovy. That is, when Groovy added the option to org.codehaus.groovy.control.CompilerConfiguration.