Class EclipseJavaCompiler
- java.lang.Object
-
- org.codehaus.plexus.logging.AbstractLogEnabled
-
- org.codehaus.plexus.compiler.AbstractCompiler
-
- org.codehaus.plexus.compiler.eclipse.EclipseJavaCompiler
-
- All Implemented Interfaces:
Compiler
,org.codehaus.plexus.logging.LogEnabled
@Component(role=Compiler.class, hint="eclipse") public class EclipseJavaCompiler extends AbstractCompiler
-
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
errorsAsWarnings
-
Fields inherited from class org.codehaus.plexus.compiler.AbstractCompiler
EOL, PS
-
-
Constructor Summary
Constructors Constructor Description EclipseJavaCompiler()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addExtraSources(java.io.File dir, java.util.List<java.lang.String> allSources)
private static void
append(java.lang.StringBuilder warns, java.lang.String s)
private CompilerMessage.Kind
convert(javax.tools.Diagnostic.Kind kind)
java.lang.String[]
createCommandLine(CompilerConfiguration config)
Create the command line that would be executed using this configuration.private java.lang.String
decodeVersion(java.lang.String versionSpec)
Change any Maven Java version number to ECJ's version number.private javax.tools.JavaCompiler
getEcj()
private java.lang.String
getLastLines(java.lang.String text, int lines)
private static boolean
haveSourceOrReleaseArgument(java.util.List<java.lang.String> args)
private boolean
isPreJava1_6(CompilerConfiguration config)
CompilerResult
performCompile(CompilerConfiguration config)
Performs the compilation of the project.-
Methods inherited from class org.codehaus.plexus.compiler.AbstractCompiler
canUpdateTarget, compile, getCompilerOutputStyle, getInputFileEnding, getOutputFile, getOutputFileEnding, getPathString, getSourceFiles, getSourceFilesForSourceRoot, makeClassName, toStringArray
-
-
-
-
Method Detail
-
performCompile
public CompilerResult performCompile(CompilerConfiguration config) throws CompilerException
Description copied from interface:Compiler
Performs the compilation of the project. Clients must implement this method.- Specified by:
performCompile
in interfaceCompiler
- Overrides:
performCompile
in classAbstractCompiler
- Parameters:
config
- the configuration description of the compilation to perform- Returns:
- the result of the compilation returned by the language processor
- Throws:
CompilerException
-
haveSourceOrReleaseArgument
private static boolean haveSourceOrReleaseArgument(java.util.List<java.lang.String> args)
-
getEcj
private javax.tools.JavaCompiler getEcj()
-
addExtraSources
private void addExtraSources(java.io.File dir, java.util.List<java.lang.String> allSources)
-
convert
private CompilerMessage.Kind convert(javax.tools.Diagnostic.Kind kind)
-
getLastLines
private java.lang.String getLastLines(java.lang.String text, int lines)
-
append
private static void append(java.lang.StringBuilder warns, java.lang.String s)
-
isPreJava1_6
private boolean isPreJava1_6(CompilerConfiguration config)
-
createCommandLine
public java.lang.String[] createCommandLine(CompilerConfiguration config) throws CompilerException
Description copied from interface:Compiler
Create the command line that would be executed using this configuration. If this particular compiler has no concept of a command line then returns null.- Parameters:
config
- the CompilerConfiguration describing the compilation- Returns:
- an array of Strings that make up the command line, or null if this compiler has no concept of command line
- Throws:
CompilerException
- if there was an error generating the command line
-
decodeVersion
private java.lang.String decodeVersion(java.lang.String versionSpec)
Change any Maven Java version number to ECJ's version number. Do not check the validity of the version: the compiler does that nicely, and this allows compiler updates without changing the compiler plugin. This is important with the half year release cycle for Java.
-
-