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
public abstract class AbstractCompileMojo extends AbstractGroovySourcesMojo
The base compile mojo, which all compile mojos extend.- Since:
- 1.0-beta-1
- Author:
- Keegan Witt
-
-
Field Summary
Fields Modifier and Type Field Description protected File
configScript
A script for tweaking the configuration options (requires Groovy 2.1.0-beta-1 or greater).protected boolean
debug
Whether Groovy compiler should be set to debug.protected static Version
GROOVY_1_6_0
Groovy 1.6.0 version.protected static Version
GROOVY_2_1_0_BETA1
Groovy 2.1.0 beta-1 version.protected static Version
GROOVY_2_1_0_BETA3
Groovy 2.1.0 beta-3 version.protected boolean
invokeDynamic
Whether to support invokeDynamic (requires Java 7 or greater and Groovy indy 2.0.0-beta-3 or greater).protected File
outputDirectory
The location for the compiled classes.protected String
sourceEncoding
The encoding of source files.protected String
targetBytecode
The Groovy compiler bytecode compatibility.protected File
testOutputDirectory
The location for the compiled test classes.protected int
tolerance
Groovy compiler error tolerance (the number of non-fatal errors (per unit) that should be tolerated before compilation is aborted).protected boolean
verbose
Whether Groovy compiler should be set to verbose.protected int
warningLevel
Groovy compiler warning level.-
Fields inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovySourcesMojo
MAIN, sources, TEST, testSources
-
Fields inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
classWrangler, GROOVY_1_5_0, GROOVY_SOURCES_PATTERN, JAVA_1_7, JAVA_SOURCES_PATTERN, minGroovyVersion, mojoExecution, pluginArtifacts, project, session, skipTests
-
-
Constructor Summary
Constructors Constructor Description AbstractCompileMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doCompile(Set<File> sources, List classpath, File compileOutputDirectory)
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.-
Methods inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovySourcesMojo
getFiles, getFilesets, getSourceRoots, getSourceRoots, getSources, getSources, getTestSourceRoots, getTestSourceRoots, getTestSources, getTestSources, setSources, setTestSources
-
Methods inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
getJavaVersion, getJavaVersionString, groovyVersionSupportsAction, isJavaSupportIndy, logPluginClasspath
-
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
-
-
-
Field Detail
-
GROOVY_2_1_0_BETA3
protected static final Version GROOVY_2_1_0_BETA3
Groovy 2.1.0 beta-3 version.
-
GROOVY_2_1_0_BETA1
protected static final Version GROOVY_2_1_0_BETA1
Groovy 2.1.0 beta-1 version.
-
GROOVY_1_6_0
protected static final Version GROOVY_1_6_0
Groovy 1.6.0 version.
-
outputDirectory
protected File outputDirectory
The location for the compiled classes.
-
testOutputDirectory
protected File testOutputDirectory
The location for the compiled test classes.
-
sourceEncoding
protected String sourceEncoding
The encoding of source files.
-
targetBytecode
protected String targetBytecode
The Groovy compiler bytecode compatibility. One of- 1.4
- 1.5
- 1.6
- 1.7
- 1.8
-
debug
protected boolean debug
Whether Groovy compiler should be set to debug.
-
verbose
protected boolean verbose
Whether Groovy compiler should be set to verbose.
-
warningLevel
protected int warningLevel
Groovy compiler warning level. Should be one of:- 0
- None
- 1
- Likely Errors
- 2
- Possible Errors
- 3
- Paranoia
-
tolerance
protected int tolerance
Groovy compiler error tolerance (the number of non-fatal errors (per unit) that should be tolerated before compilation is aborted).
-
invokeDynamic
protected boolean invokeDynamic
Whether to support invokeDynamic (requires Java 7 or greater and Groovy indy 2.0.0-beta-3 or greater).
-
-
Method Detail
-
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
-
-