Class JavacCompiler
java.lang.Object
org.codehaus.plexus.compiler.AbstractCompiler
org.codehaus.plexus.compiler.javac.JavacCompiler
- All Implemented Interfaces:
Compiler
- Author:
- Trygve Laugstøl, Matthew Pocock, Jörg Waßmer, Others
-
Field Summary
Fields inherited from class org.codehaus.plexus.compiler.AbstractCompiler
EOL, PS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic String[]
buildCompilerArguments
(CompilerConfiguration config, String[] sourceFiles, String javacVersion) protected CompilerResult
compileInProcessWithProperClassloader
(Class<?> javacClass, String[] args) protected CompilerResult
compileOutOfProcess
(CompilerConfiguration config, String executable, String[] args) Compile the java sources in a external process, calling an external executable, like javac.String[]
protected Class
<?> Helper method for create Javac classprotected String
Get the path of the javac tool executable to use.protected static boolean
protected InProcessCompiler
performCompile
(CompilerConfiguration config) Methods inherited from class org.codehaus.plexus.compiler.AbstractCompiler
canUpdateTarget, getCompilerOutputStyle, getInputFileEnding, getLog, getLogger, getOutputFile, getOutputFileEnding, getPathString, getSourceFiles, getSourceFilesForSourceRoot, logCompiling, makeClassName
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.codehaus.plexus.compiler.Compiler
supportsIncrementalCompilation
-
Constructor Details
-
JavacCompiler
public JavacCompiler()
-
-
Method Details
-
getCompilerId
- Specified by:
getCompilerId
in classAbstractCompiler
-
performCompile
- Specified by:
performCompile
in interfaceCompiler
- Overrides:
performCompile
in classAbstractCompiler
- Throws:
CompilerException
-
inProcessCompiler
-
hasJavaxToolProvider
protected static boolean hasJavaxToolProvider()- Returns:
true
if the current context class loader has access tojavax.tools.ToolProvider
-
createCommandLine
- Throws:
CompilerException
-
buildCompilerArguments
public static String[] buildCompilerArguments(CompilerConfiguration config, String[] sourceFiles, String javacVersion) -
compileOutOfProcess
protected CompilerResult compileOutOfProcess(CompilerConfiguration config, String executable, String[] args) throws 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:
CompilerException
-
compileInProcessWithProperClassloader
protected CompilerResult compileInProcessWithProperClassloader(Class<?> javacClass, String[] args) throws CompilerException - Throws:
CompilerException
-
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:
CompilerException
-