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, Others
-
-
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.CompilerResult
compileInProcessWithProperClassloader(java.lang.Class<?> javacClass, java.lang.String[] args)
protected org.codehaus.plexus.compiler.CompilerResult
compileOutOfProcess(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.String
getCompilerId()
protected java.lang.String
getJavacExecutable(org.codehaus.plexus.compiler.CompilerConfiguration config)
Get the path of the javac tool executable to use.protected static boolean
hasJavaxToolProvider()
protected InProcessCompiler
inProcessCompiler()
org.codehaus.plexus.compiler.CompilerResult
performCompile(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:
getCompilerId
in 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:
performCompile
in interfaceorg.codehaus.plexus.compiler.Compiler
- Overrides:
performCompile
in classorg.codehaus.plexus.compiler.AbstractCompiler
- Throws:
org.codehaus.plexus.compiler.CompilerException
-
inProcessCompiler
protected InProcessCompiler inProcessCompiler()
-
hasJavaxToolProvider
protected static boolean hasJavaxToolProvider()
- Returns:
true
if 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.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
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.CompilerException
Helper method for create Javac class- Throws:
org.codehaus.plexus.compiler.CompilerException
-
-