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
FieldsModifier and TypeFieldDescriptionprotected FileA script for tweaking the configuration options (requires Groovy 2.1.0-beta-1 or greater).protected booleanWhether Groovy compiler should be set to debug.protected static final VersionGroovy 1.6.0 version.protected static final VersionGroovy 2.0.0 beta-3 version.protected static final VersionGroovy 2.1.0 beta-1 version.protected static final VersionGroovy 2.1.3 version.protected static final VersionGroovy 2.3.3 version.protected static final VersionGroovy 2.5.0 alpha-1 version.protected static final VersionGroovy 2.5.3 version.protected static final VersionGroovy 2.5.7 version.protected static final VersionGroovy 2.6.0 alpha-1 version.protected static final VersionGroovy 2.6.0 alpha-4 version.protected static final VersionGroovy 3.0.0 alpha-1 version.protected static final VersionGroovy 3.0.0 alpha-2 version.protected static final VersionGroovy 3.0.0 alpha-4 version.protected static final VersionGroovy 3.0.0 beta-1 version.protected static final VersionGroovy 3.0.0 beta-2 version.protected static final VersionGroovy 3.0.3 version.protected static final VersionGroovy 3.0.5 version.protected static final VersionGroovy 3.0.6 version.protected static final VersionGroovy 3.0.8 version.protected static final VersionGroovy 4.0.0 alpha-1 version.protected static final VersionGroovy 4.0.0 alpha-3 version.protected static final VersionGroovy 4.0.0 beta-1 version.protected static final VersionGroovy 4.0.11 version.protected static final VersionGroovy 4.0.11 version.protected static final VersionGroovy 4.0.2 version.protected static final VersionGroovy 4.0.21 version.protected static final VersionGroovy 4.0.24 version.protected static final VersionGroovy 4.0.27 version.protected static final VersionGroovy 4.0.6 version.protected static final VersionGroovy 5.0.0-alpha-1 version.protected static final VersionGroovy 5.0.0-alpha-11 version.protected static final VersionGroovy 5.0.0-alpha-13 version.protected static final VersionGroovy 5.0.0-alpha-3 version.protected static final VersionGroovy 5.0.0-alpha-8 version.protected IncludeClasspathWhat classpath to include.protected booleanWhether to support invokeDynamic (requires Java 7 or greater and Groovy indy 2.0.0-beta-3 or greater).protected BooleanWhether to enable Groovy's parallel parsing.protected booleanGenerate 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 booleanWhether the bytecode version has preview features enabled (JEP 12).protected booleanWhether to check that the version of Groovy used is able to use the requestedtargetBytecode.protected StringThe encoding of source files.protected StringThe Groovy compiler bytecode compatibility.protected intGroovy compiler error tolerance (the number of non-fatal errors (per unit) that should be tolerated before compilation is aborted).protected booleanWhether Groovy compiler should be set to verbose.protected intGroovy compiler warning level.Fields inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovySourcesMojo
MAIN, TESTFields 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, sessionFields inherited from interface org.apache.maven.plugin.Mojo
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidPerforms compilation of compile mojos.protected ObjectsetupCompilationUnit(Set<File> sources, Class<?> compilerConfigurationClass, Class<?> compilationUnitClass, Class<?> groovyClassLoaderClass, Object compilerConfiguration, Object groovyClassLoader, Object transformLoader) Sets up the CompilationUnit to use for compilation.protected ObjectsetupCompilerConfiguration(File compileOutputDirectory, Class<?> compilerConfigurationClass) Sets up the CompilationConfiguration to use for compilation.protected static StringtranslateJavacTargetToTargetBytecode(String targetBytecode) protected voidThrows an exception if targetBytecode is not supported with this version of Groovy.Methods inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovySourcesMojo
getFiles, getFilesets, getTestFiles, getTestFilesetsMethods inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
getJavaVersion, getJavaVersionString, groovyAtLeast, groovyIs, groovyNewerThan, groovyOlderThan, groovyVersionSupportsAction, isGroovyIndy, isJavaSupportIndy, isJavaSupportParameters, isJavaSupportPreviewFeatures, logPluginClasspath, setupClassWranglerMethods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContextMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.maven.plugin.Mojo
execute
-
Field Details
-
GROOVY_5_0_0_ALPHA13
Groovy 5.0.0-alpha-13 version. -
GROOVY_5_0_0_ALPHA11
Groovy 5.0.0-alpha-11 version. -
GROOVY_5_0_0_ALPHA8
Groovy 5.0.0-alpha-8 version. -
GROOVY_5_0_0_ALPHA3
Groovy 5.0.0-alpha-3 version. -
GROOVY_5_0_0_ALPHA1
Groovy 5.0.0-alpha-1 version. -
GROOVY_4_0_27
Groovy 4.0.27 version. -
GROOVY_4_0_24
Groovy 4.0.24 version. -
GROOVY_4_0_21
Groovy 4.0.21 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
- 24
- 25
-
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
-