Class AbstractCompilerMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
- Direct Known Subclasses:
CompilerMojo
,TestCompilerMojo
- Since:
- 2.0
- Author:
- others, Trygve Laugstøl
-
Field Summary
Modifier and TypeFieldDescriptionSets the arguments to be passed to the compiler.protected String
Sets the unformatted single argument string to be passed to the compiler.Deprecated.protected static final String
protected String
The-release
argument for the Java compiler, supported since Java9protected String
The-source
argument for the Java compiler.protected String
The-target
argument for the Java compiler.Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
execute()
protected Date
protected abstract String
protected abstract String
protected abstract File
getModuleDeclaration
(Set<File> sourceFiles) protected abstract File
protected final org.apache.maven.project.MavenProject
protected abstract String
protected int
try to get thread count if a Maven 3 build, using reflection as the plugin must not be maven3 api dependentprotected abstract String
protected abstract org.codehaus.plexus.compiler.util.scan.SourceInclusionScanner
getSourceInclusionScanner
(int staleMillis) protected abstract org.codehaus.plexus.compiler.util.scan.SourceInclusionScanner
getSourceInclusionScanner
(String inputFileEnding) protected abstract String
protected final org.apache.maven.toolchain.Toolchain
protected boolean
We just compare the timestamps of all local dependency files (inter-module dependency classpath) and the own generated classes and if we got a file which is >= the build-started timestamp, then we caught a file which got changed during this build.protected boolean
protected abstract void
preparePaths
(Set<File> sourceFiles) void
setRelease
(String release) void
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
PS
-
source
The
-source
argument for the Java compiler.NOTE:
Since 3.8.0 the default value has changed from 1.5 to 1.6
Since 3.9.0 the default value has changed from 1.6 to 1.7
Since 3.11.0 the default value has changed from 1.7 to 1.8
- See Also:
-
target
The
-target
argument for the Java compiler.NOTE:
Since 3.8.0 the default value has changed from 1.5 to 1.6
Since 3.9.0 the default value has changed from 1.6 to 1.7
Since 3.11.0 the default value has changed from 1.7 to 1.8
- See Also:
-
release
The-release
argument for the Java compiler, supported since Java9- Since:
- 3.6
- See Also:
-
compilerArguments
Deprecated.usecompilerArgs
instead.Sets the arguments to be passed to the compiler (prepending a dash).
This is because the list of valid arguments passed to a Java compiler varies based on the compiler version.
Note that
-J
options are only passed through iffork
is set totrue
.To pass
-Xmaxerrs 1000 -Xlint -Xlint:-path -Averbose=true
you should include the following:<compilerArguments> <Xmaxerrs>1000</Xmaxerrs> <Xlint/> <Xlint:-path/> <Averbose>true</Averbose> </compilerArguments>
- Since:
- 2.0.1
-
compilerArgs
Sets the arguments to be passed to the compiler.
Note that
Example:-J
options are only passed through iffork
is set totrue
.<compilerArgs> <arg>-Xmaxerrs</arg> <arg>1000</arg> <arg>-Xlint</arg> <arg>-J-Duser.language=en_us</arg> </compilerArgs>
- Since:
- 3.1
- See Also:
-
compilerArgument
Sets the unformatted single argument string to be passed to the compiler. To pass multiple arguments such as
-Xmaxerrs 1000
(which are actually two arguments) you have to usecompilerArgs
.This is because the list of valid arguments passed to a Java compiler varies based on the compiler version.
Note that
-J
options are only passed through iffork
is set totrue
.- See Also:
-
-
Constructor Details
-
AbstractCompilerMojo
public AbstractCompilerMojo()
-
-
Method Details
-
getSourceInclusionScanner
protected abstract org.codehaus.plexus.compiler.util.scan.SourceInclusionScanner getSourceInclusionScanner(int staleMillis) -
getSourceInclusionScanner
protected abstract org.codehaus.plexus.compiler.util.scan.SourceInclusionScanner getSourceInclusionScanner(String inputFileEnding) -
getClasspathElements
-
getModulepathElements
-
getPathElements
-
getCompileSourceRoots
-
preparePaths
-
getOutputDirectory
-
getSource
-
getTarget
-
getRelease
-
getCompilerArgument
-
getCompilerArguments
-
getGeneratedSourcesDirectory
-
getDebugFileName
-
getProject
protected final org.apache.maven.project.MavenProject getProject() -
getModuleDeclaration
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, CompilationFailureException- Throws:
org.apache.maven.plugin.MojoExecutionException
CompilationFailureException
-
isTestCompile
protected boolean isTestCompile() -
getIncludes
-
getExcludes
-
getRequestThreadCount
protected int getRequestThreadCount()try to get thread count if a Maven 3 build, using reflection as the plugin must not be maven3 api dependent- Returns:
- number of thread for this build or 1 if not multi-thread build
-
getBuildStartTime
-
getToolchain
protected final org.apache.maven.toolchain.Toolchain getToolchain() -
isDependencyChanged
protected boolean isDependencyChanged()We just compare the timestamps of all local dependency files (inter-module dependency classpath) and the own generated classes and if we got a file which is >= the build-started timestamp, then we caught a file which got changed during this build.- Returns:
true
if at least one single dependency has changed.
-
setTarget
-
setRelease
-
compilerArgs
instead.