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 ClassesModifier and TypeClassDescriptionprotected static classMulti-language compiler messages to parse from forked javac output. -
Field Summary
Fields inherited from class org.codehaus.plexus.compiler.AbstractCompiler
EOL, PSFields inherited from interface org.codehaus.plexus.compiler.Compiler
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic String[]buildCompilerArguments(org.codehaus.plexus.compiler.CompilerConfiguration config, String[] sourceFiles, String javacVersion) protected org.codehaus.plexus.compiler.CompilerResultcompileInProcessWithProperClassloader(Class<?> javacClass, String[] args) protected org.codehaus.plexus.compiler.CompilerResultcompileOutOfProcess(org.codehaus.plexus.compiler.CompilerConfiguration config, String executable, String[] args) Compile the java sources in a external process, calling an external executable, like javac.String[]createCommandLine(org.codehaus.plexus.compiler.CompilerConfiguration config) protected Class<?> Helper method for create Javac classprotected StringgetJavacExecutable(org.codehaus.plexus.compiler.CompilerConfiguration config) Get the path of the javac tool executable to use.protected static booleanprotected InProcessCompilerorg.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, makeClassNameMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.plexus.compiler.Compiler
supportsIncrementalCompilation
-
Constructor Details
-
JavacCompiler
public JavacCompiler()
-
-
Method Details
-
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
-
hasJavaxToolProvider
protected static boolean hasJavaxToolProvider()- Returns:
trueif the current context class loader has access tojavax.tools.ToolProvider
-
createCommandLine
public String[] createCommandLine(org.codehaus.plexus.compiler.CompilerConfiguration config) throws org.codehaus.plexus.compiler.CompilerException - Throws:
org.codehaus.plexus.compiler.CompilerException
-
buildCompilerArguments
-
compileOutOfProcess
protected org.codehaus.plexus.compiler.CompilerResult compileOutOfProcess(org.codehaus.plexus.compiler.CompilerConfiguration config, String executable, String[] args) throws org.codehaus.plexus.compiler.CompilerException Compile 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
-
getJavacExecutable
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
Helper method for create Javac class- Throws:
org.codehaus.plexus.compiler.CompilerException
-