Package org.codehaus.gmavenplus.mojo
Class AbstractCompileMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
org.codehaus.gmavenplus.mojo.AbstractGroovySourcesMojo
org.codehaus.gmavenplus.mojo.AbstractCompileMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
- Direct Known Subclasses:
CompileMojo
,CompileTestsMojo
The base compile mojo, which all compile mojos extend.
- Since:
- 1.0-beta-1
- Author:
- Keegan Witt
-
Field Summary
Modifier and TypeFieldDescriptionprotected File
A script for tweaking the configuration options (requires Groovy 2.1.0-beta-1 or greater).protected boolean
Whether Groovy compiler should be set to debug.protected static final Version
Groovy 1.6.0 version.protected static final Version
Groovy 2.0.0 beta-3 version.protected static final Version
Groovy 2.1.0 beta-1 version.protected static final Version
Groovy 2.1.3 version.protected static final Version
Groovy 2.3.3 version.protected static final Version
Groovy 2.5.0 alpha-1 version.protected static final Version
Groovy 2.5.3 version.protected static final Version
Groovy 2.5.7 version.protected static final Version
Groovy 2.6.0 alpha-1 version.protected static final Version
Groovy 2.6.0 alpha-4 version.protected static final Version
Groovy 3.0.0 alpha-1 version.protected static final Version
Groovy 3.0.0 alpha-2 version.protected static final Version
Groovy 3.0.0 alpha-4 version.protected static final Version
Groovy 3.0.0 beta-1 version.protected static final Version
Groovy 3.0.0 beta-2 version.protected static final Version
Groovy 3.0.3 version.protected static final Version
Groovy 3.0.5 version.protected static final Version
Groovy 3.0.6 version.protected static final Version
Groovy 3.0.8 version.protected static final Version
Groovy 4.0.0 alpha-1 version.protected static final Version
Groovy 4.0.0 alpha-3 version.protected static final Version
Groovy 4.0.0 beta-1 version.protected static final Version
Groovy 4.0.11 version.protected static final Version
Groovy 4.0.11 version.protected static final Version
Groovy 4.0.2 version.protected static final Version
Groovy 4.0.11 version.protected static final Version
Groovy 4.0.6 version.protected static final Version
Groovy 5.0.0-alpha-1 version.protected IncludeClasspath
What classpath to include.protected boolean
Whether to support invokeDynamic (requires Java 7 or greater and Groovy indy 2.0.0-beta-3 or greater).protected Boolean
Whether to enable Groovy's parallel parsing.protected boolean
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).protected boolean
Whether the bytecode version has preview features enabled (JEP 12).protected boolean
Whether to check that the version of Groovy used is able to use the requestedtargetBytecode
.protected String
The encoding of source files.protected String
The Groovy compiler bytecode compatibility.protected int
Groovy compiler error tolerance (the number of non-fatal errors (per unit) that should be tolerated before compilation is aborted).protected boolean
Whether Groovy compiler should be set to verbose.protected int
Groovy compiler warning level.Fields inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovySourcesMojo
MAIN, TEST
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
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Performs compilation of compile mojos.protected Object
setupCompilationUnit
(Set<File> sources, Class<?> compilerConfigurationClass, Class<?> compilationUnitClass, Class<?> groovyClassLoaderClass, Object compilerConfiguration, Object groovyClassLoader, Object transformLoader) Sets up the CompilationUnit to use for compilation.protected Object
setupCompilerConfiguration
(File compileOutputDirectory, Class<?> compilerConfigurationClass) Sets up the CompilationConfiguration to use for compilation.protected static String
translateJavacTargetToTargetBytecode
(String targetBytecode) protected void
Throws an exception if targetBytecode is not supported with this version of Groovy.Methods inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovySourcesMojo
getFiles, getFilesets, getTestFiles, getTestFilesets
Methods inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
getJavaVersion, getJavaVersionString, groovyAtLeast, groovyIs, groovyNewerThan, groovyOlderThan, groovyVersionSupportsAction, isGroovyIndy, isJavaSupportIndy, isJavaSupportParameters, isJavaSupportPreviewFeatures, logPluginClasspath, setupClassWrangler
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.maven.plugin.Mojo
execute
-
Field Details
-
GROOVY_5_0_0_ALPHA1
Groovy 5.0.0-alpha-1 version. -
GROOVY_4_0_21
Groovy 4.0.11 version. -
GROOVY_4_0_16
Groovy 4.0.11 version. -
GROOVY_4_0_11
Groovy 4.0.11 version. -
GROOVY_4_0_6
Groovy 4.0.6 version. -
GROOVY_4_0_2
Groovy 4.0.2 version. -
GROOVY_4_0_0_BETA1
Groovy 4.0.0 beta-1 version. -
GROOVY_4_0_0_ALPHA3
Groovy 4.0.0 alpha-3 version. -
GROOVY_4_0_0_ALPHA1
Groovy 4.0.0 alpha-1 version. -
GROOVY_3_0_8
Groovy 3.0.8 version. -
GROOVY_3_0_6
Groovy 3.0.6 version. -
GROOVY_3_0_5
Groovy 3.0.5 version. -
GROOVY_3_0_3
Groovy 3.0.3 version. -
GROOVY_3_0_0_BETA2
Groovy 3.0.0 beta-2 version. -
GROOVY_3_0_0_BETA1
Groovy 3.0.0 beta-1 version. -
GROOVY_3_0_0_ALPHA4
Groovy 3.0.0 alpha-4 version. -
GROOVY_3_0_0_ALPHA2
Groovy 3.0.0 alpha-2 version. -
GROOVY_3_0_0_ALPHA1
Groovy 3.0.0 alpha-1 version. -
GROOVY_2_6_0_ALPHA4
Groovy 2.6.0 alpha-4 version. -
GROOVY_2_6_0_ALPHA1
Groovy 2.6.0 alpha-1 version. -
GROOVY_2_5_7
Groovy 2.5.7 version. -
GROOVY_2_5_3
Groovy 2.5.3 version. -
GROOVY_2_5_0_ALPHA1
Groovy 2.5.0 alpha-1 version. -
GROOVY_2_3_3
Groovy 2.3.3 version. -
GROOVY_2_1_3
Groovy 2.1.3 version. -
GROOVY_2_1_0_BETA1
Groovy 2.1.0 beta-1 version. -
GROOVY_2_0_0_BETA3
Groovy 2.0.0 beta-3 version. -
GROOVY_1_6_0
Groovy 1.6.0 version. -
sourceEncoding
The encoding of source files. -
targetBytecode
The Groovy compiler bytecode compatibility. One of- 1.4 (or 4)
- 1.5 (or 5)
- 1.6 (or 6)
- 1.7 (or 7)
- 1.8 (or 8)
- 9 (or 1.9)
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
-
skipBytecodeCheck
@Parameter(property="skipBytecodeCheck", defaultValue="false") protected boolean skipBytecodeCheckWhether to check that the version of Groovy used is able to use the requestedtargetBytecode
.- Since:
- 1.9.0
-
debug
@Parameter(defaultValue="false") protected boolean debugWhether Groovy compiler should be set to debug. -
verbose
@Parameter(defaultValue="false") protected boolean verboseWhether Groovy compiler should be set to verbose. -
warningLevel
@Parameter(defaultValue="1") protected int warningLevelGroovy compiler warning level. Should be one of:- 0
- None
- 1
- Likely Errors
- 2
- Possible Errors
- 3
- Paranoia
-
tolerance
@Parameter(defaultValue="0") protected int toleranceGroovy compiler error tolerance (the number of non-fatal errors (per unit) that should be tolerated before compilation is aborted). -
invokeDynamic
@Parameter(defaultValue="false") protected boolean invokeDynamicWhether to support invokeDynamic (requires Java 7 or greater and Groovy indy 2.0.0-beta-3 or greater). Has no effect for Groovy 4, as it is always enabled. -
parallelParsing
Whether to enable Groovy's parallel parsing. Requires Groovy 3.0.5. Is enabled by default for Groovy 4.0.0-alpha-1 or newer.- Since:
- 1.11.0
-
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(defaultValue="false") protected boolean parametersGenerate 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). -
includeClasspath
What classpath to include. One of- PROJECT_ONLY
- PROJECT_AND_PLUGIN
- PLUGIN_ONLY
- Since:
- 1.8.0
-
previewFeatures
@Parameter(defaultValue="false") protected boolean previewFeaturesWhether the bytecode version has preview features enabled (JEP 12). Requires Groovy >= 3.0.0-beta-1 or Groovy >= 2.5.7, but not any 2.6 versions and Java >= 12.- Since:
- 1.7.1
-
-
Constructor Details
-
AbstractCompileMojo
public AbstractCompileMojo()
-
-
Method Details
-
doCompile
protected void doCompile(Set<File> sources, List classpath, File compileOutputDirectory) throws ClassNotFoundException, InstantiationException, IllegalAccessException, InvocationTargetException, MalformedURLException Performs compilation of compile mojos.- Parameters:
sources
- the sources to compileclasspath
- the classpath to use for compilationcompileOutputDirectory
- the directory to write the compiled class files to- Throws:
ClassNotFoundException
- when a class needed for compilation cannot be foundInstantiationException
- when a class needed for compilation cannot be instantiatedIllegalAccessException
- when a method needed for compilation cannot be accessedInvocationTargetException
- when a reflection invocation needed for compilation cannot be completedMalformedURLException
- when a classpath element provides a malformed URL
-
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 compilecompilerConfigurationClass
- the CompilerConfiguration classcompilationUnitClass
- the CompilationUnit classgroovyClassLoaderClass
- the GroovyClassLoader classcompilerConfiguration
- the CompilerConfigurationgroovyClassLoader
- the GroovyClassLoadertransformLoader
- the GroovyClassLoader to use for transformation- Returns:
- the CompilationUnit
- Throws:
InstantiationException
- when a class needed for setting up compilation unit cannot be instantiatedIllegalAccessException
- when a method needed for setting up compilation unit cannot be accessedInvocationTargetException
- when a reflection invocation needed for setting up compilation unit cannot be completed
-
setupCompilerConfiguration
protected Object setupCompilerConfiguration(File compileOutputDirectory, Class<?> compilerConfigurationClass) throws InvocationTargetException, IllegalAccessException, InstantiationException, ClassNotFoundException Sets up the CompilationConfiguration to use for compilation.- Parameters:
compileOutputDirectory
- the directory to write the compiled classes tocompilerConfigurationClass
- the CompilerConfiguration class- Returns:
- the CompilerConfiguration
- Throws:
ClassNotFoundException
- when a class needed for setting up CompilerConfiguration cannot be foundInstantiationException
- when a class needed for setting up CompilerConfiguration cannot be instantiatedIllegalAccessException
- when a method needed for setting up CompilerConfiguration cannot be accessedInvocationTargetException
- when a reflection invocation needed for setting up CompilerConfiguration 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 and used it in org.codehaus.groovy.classgen.asm.WriterController. -
translateJavacTargetToTargetBytecode
-