Class JavacCompiler
- java.lang.Object
-
- org.codehaus.plexus.compiler.AbstractCompiler
-
- org.codehaus.plexus.compiler.javac.JavacCompiler
-
- All Implemented Interfaces:
org.codehaus.plexus.compiler.Compiler
@Named("javac") @Singleton public class JavacCompiler extends org.codehaus.plexus.compiler.AbstractCompiler- Author:
- Trygve Laugstøl, Matthew Pocock, Jörg Waßmer, Alexander Kriegisch, Others
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classJavacCompiler.MessagesMulti-language compiler messages to parse from forked javac output.
-
Constructor Summary
Constructors Constructor Description JavacCompiler()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.String[]buildCompilerArguments(org.codehaus.plexus.compiler.CompilerConfiguration config, java.lang.String[] sourceFiles, java.lang.String javacVersion)protected org.codehaus.plexus.compiler.CompilerResultcompileInProcessWithProperClassloader(java.lang.Class<?> javacClass, java.lang.String[] args)protected org.codehaus.plexus.compiler.CompilerResultcompileOutOfProcess(org.codehaus.plexus.compiler.CompilerConfiguration config, java.lang.String executable, java.lang.String[] args)Compile the java sources in a external process, calling an external executable, like javac.java.lang.String[]createCommandLine(org.codehaus.plexus.compiler.CompilerConfiguration config)protected java.lang.Class<?>createJavacClass()Helper method for create Javac classjava.lang.StringgetCompilerId()protected java.lang.StringgetJavacExecutable(org.codehaus.plexus.compiler.CompilerConfiguration config)Get the path of the javac tool executable to use.protected static booleanhasJavaxToolProvider()protected InProcessCompilerinProcessCompiler()org.codehaus.plexus.compiler.CompilerResultperformCompile(org.codehaus.plexus.compiler.CompilerConfiguration config)-
Methods inherited from class org.codehaus.plexus.compiler.AbstractCompiler
canUpdateTarget, getCompilerOutputStyle, getInputFileEnding, getLog, getLogger, getOutputFile, getOutputFileEnding, getPathString, getSourceFiles, getSourceFilesForSourceRoot, logCompiling, makeClassName
-
-
-
-
Method Detail
-
getCompilerId
public java.lang.String getCompilerId()
- Specified by:
getCompilerIdin classorg.codehaus.plexus.compiler.AbstractCompiler
-
performCompile
public org.codehaus.plexus.compiler.CompilerResult performCompile(org.codehaus.plexus.compiler.CompilerConfiguration config) throws org.codehaus.plexus.compiler.CompilerException- Specified by:
performCompilein interfaceorg.codehaus.plexus.compiler.Compiler- Overrides:
performCompilein classorg.codehaus.plexus.compiler.AbstractCompiler- Throws:
org.codehaus.plexus.compiler.CompilerException
-
inProcessCompiler
protected InProcessCompiler inProcessCompiler()
-
hasJavaxToolProvider
protected static boolean hasJavaxToolProvider()
- Returns:
trueif the current context class loader has access tojavax.tools.ToolProvider
-
createCommandLine
public java.lang.String[] createCommandLine(org.codehaus.plexus.compiler.CompilerConfiguration config) throws org.codehaus.plexus.compiler.CompilerException- Throws:
org.codehaus.plexus.compiler.CompilerException
-
buildCompilerArguments
public static java.lang.String[] buildCompilerArguments(org.codehaus.plexus.compiler.CompilerConfiguration config, java.lang.String[] sourceFiles, java.lang.String javacVersion)
-
compileOutOfProcess
protected org.codehaus.plexus.compiler.CompilerResult compileOutOfProcess(org.codehaus.plexus.compiler.CompilerConfiguration config, java.lang.String executable, java.lang.String[] args) throws org.codehaus.plexus.compiler.CompilerExceptionCompile the java sources in a external process, calling an external executable, like javac.- Parameters:
config- compiler configurationexecutable- name of the executable to launchargs- arguments for the executable launched- Returns:
- a CompilerResult object encapsulating the result of the compilation and any compiler messages
- Throws:
org.codehaus.plexus.compiler.CompilerException
-
compileInProcessWithProperClassloader
protected org.codehaus.plexus.compiler.CompilerResult compileInProcessWithProperClassloader(java.lang.Class<?> javacClass, java.lang.String[] args) throws org.codehaus.plexus.compiler.CompilerException- Throws:
org.codehaus.plexus.compiler.CompilerException
-
getJavacExecutable
protected java.lang.String getJavacExecutable(org.codehaus.plexus.compiler.CompilerConfiguration config)
Get the path of the javac tool executable to use. Either given through explicit configuration or viagetJavacExecutable().- Parameters:
config- the configuration- Returns:
- the path of the javac tool
-
createJavacClass
protected java.lang.Class<?> createJavacClass() throws org.codehaus.plexus.compiler.CompilerExceptionHelper method for create Javac class- Throws:
org.codehaus.plexus.compiler.CompilerException
-
-