Package org.codehaus.plexus.compiler
Interface Compiler
- All Known Implementing Classes:
AbstractCompiler
public interface Compiler
The interface of an compiling language processor (aka compiler).
- Author:
- Jason van Zyl, Trygve Laugstøl, Matthew Pocock
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
canUpdateTarget
(CompilerConfiguration configuration) String[]
Create the command line that would be executed using this configuration.getInputFileEnding
(CompilerConfiguration configuration) getOutputFile
(CompilerConfiguration configuration) getOutputFileEnding
(CompilerConfiguration configuration) performCompile
(CompilerConfiguration configuration) Performs the compilation of the project.default boolean
Based on this flag the caller can decide the strategy how to compile.
-
Field Details
-
ROLE
-
-
Method Details
-
getCompilerOutputStyle
CompilerOutputStyle getCompilerOutputStyle() -
getInputFileEnding
- Throws:
CompilerException
-
getOutputFileEnding
- Throws:
CompilerException
-
getOutputFile
- Throws:
CompilerException
-
canUpdateTarget
- Throws:
CompilerException
-
performCompile
Performs the compilation of the project. Clients must implement this method.- Parameters:
configuration
- the configuration description of the compilation to perform- Returns:
- the result of the compilation returned by the language processor
- Throws:
CompilerException
-
createCommandLine
Create 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
-
supportsIncrementalCompilation
default boolean supportsIncrementalCompilation()Based on this flag the caller can decide the strategy how to compile. E.g. is incrementCompilation is not supported, it could decide to clear to outputDirectory to enforce a complete recompilation.- Returns:
true
if incrementalCompilation is supported, otherwisefalse
-