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) booleanerrorsAsWarnings-
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 voidaddExtraSources(java.io.File dir, java.util.List<java.lang.String> allSources)private static voidappend(java.lang.StringBuilder warns, java.lang.String s)private CompilerMessage.Kindconvert(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.StringdecodeVersion(java.lang.String versionSpec)Change any Maven Java version number to ECJ's version number.private javax.tools.JavaCompilergetEcj()private java.lang.StringgetLastLines(java.lang.String text, int lines)private static booleanhaveSourceOrReleaseArgument(java.util.List<java.lang.String> args)private booleanisPreJava1_6(CompilerConfiguration config)CompilerResultperformCompile(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:CompilerPerforms the compilation of the project. Clients must implement this method.- Specified by:
performCompilein interfaceCompiler- Overrides:
performCompilein 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:CompilerCreate 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.
-
-