Class CSharpCompiler
- java.lang.Object
-
- org.codehaus.plexus.logging.AbstractLogEnabled
-
- org.codehaus.plexus.compiler.AbstractCompiler
-
- org.codehaus.plexus.compiler.csharp.CSharpCompiler
-
- All Implemented Interfaces:
Compiler
,org.codehaus.plexus.logging.LogEnabled
public class CSharpCompiler extends AbstractCompiler
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
ARGUMENTS_FILE_NAME
private java.util.Map<java.lang.String,java.lang.String>
compilerArguments
private static java.lang.String[]
DEFAULT_INCLUDES
private static java.lang.String
DLL_SUFFIX
private static java.lang.String
JAR_SUFFIX
private static java.lang.String
NET_SUFFIX
-
Fields inherited from class org.codehaus.plexus.compiler.AbstractCompiler
EOL, PS
-
-
Constructor Summary
Constructors Constructor Description CSharpCompiler()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private void
addResourceArgs(CompilerConfiguration config, java.util.List<java.lang.String> args)
private java.lang.String[]
buildCompilerArguments(CompilerConfiguration config, java.lang.String[] sourceFiles)
boolean
canUpdateTarget(CompilerConfiguration configuration)
private java.util.List<CompilerMessage>
compileOutOfProcess(java.io.File workingDirectory, java.io.File target, java.lang.String executable, java.lang.String[] args)
private java.lang.String
convertNameToAssemblyResourceName(java.lang.String name)
java.lang.String[]
createCommandLine(CompilerConfiguration config)
Create the command line that would be executed using this configuration.private java.lang.String
findExecutable(CompilerConfiguration config)
private java.io.File
findResourceDir(CompilerConfiguration config)
private java.util.Map<java.lang.String,java.lang.String>
getCompilerArguments(CompilerConfiguration config)
java.lang.String
getOutputFile(CompilerConfiguration configuration)
protected static java.lang.String[]
getSourceFiles(CompilerConfiguration config)
protected static java.util.Set<java.lang.String>
getSourceFilesForSourceRoot(CompilerConfiguration config, java.lang.String sourceLocation)
private java.lang.String
getType(java.util.Map<java.lang.String,java.lang.String> compilerArguments)
private java.lang.String
getTypeExtension(CompilerConfiguration configuration)
static java.util.List<CompilerMessage>
parseCompilerOutput(java.io.BufferedReader bufferedReader)
static CompilerMessage
parseLine(java.lang.String line)
Deprecated.CompilerResult
performCompile(CompilerConfiguration config)
Performs the compilation of the project.-
Methods inherited from class org.codehaus.plexus.compiler.AbstractCompiler
compile, getCompilerOutputStyle, getInputFileEnding, getOutputFileEnding, getPathString, makeClassName, toStringArray
-
-
-
-
Field Detail
-
JAR_SUFFIX
private static final java.lang.String JAR_SUFFIX
- See Also:
- Constant Field Values
-
DLL_SUFFIX
private static final java.lang.String DLL_SUFFIX
- See Also:
- Constant Field Values
-
NET_SUFFIX
private static final java.lang.String NET_SUFFIX
- See Also:
- Constant Field Values
-
ARGUMENTS_FILE_NAME
private static final java.lang.String ARGUMENTS_FILE_NAME
- See Also:
- Constant Field Values
-
DEFAULT_INCLUDES
private static final java.lang.String[] DEFAULT_INCLUDES
-
compilerArguments
private java.util.Map<java.lang.String,java.lang.String> compilerArguments
-
-
Method Detail
-
canUpdateTarget
public boolean canUpdateTarget(CompilerConfiguration configuration) throws CompilerException
- Specified by:
canUpdateTarget
in interfaceCompiler
- Overrides:
canUpdateTarget
in classAbstractCompiler
- Throws:
CompilerException
-
getOutputFile
public java.lang.String getOutputFile(CompilerConfiguration configuration) throws CompilerException
- Specified by:
getOutputFile
in interfaceCompiler
- Overrides:
getOutputFile
in classAbstractCompiler
- Throws:
CompilerException
-
performCompile
public CompilerResult performCompile(CompilerConfiguration config) throws CompilerException
Description copied from interface:Compiler
Performs the compilation of the project. Clients must implement this method.- Specified by:
performCompile
in interfaceCompiler
- Overrides:
performCompile
in classAbstractCompiler
- Parameters:
config
- the configuration description of the compilation to perform- Returns:
- the result of the compilation returned by the language processor
- Throws:
CompilerException
-
createCommandLine
public java.lang.String[] createCommandLine(CompilerConfiguration config) throws CompilerException
Description copied from interface:Compiler
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
-
getCompilerArguments
private java.util.Map<java.lang.String,java.lang.String> getCompilerArguments(CompilerConfiguration config)
-
findExecutable
private java.lang.String findExecutable(CompilerConfiguration config)
-
buildCompilerArguments
private java.lang.String[] buildCompilerArguments(CompilerConfiguration config, java.lang.String[] sourceFiles) throws CompilerException
- Throws:
CompilerException
-
addResourceArgs
private void addResourceArgs(CompilerConfiguration config, java.util.List<java.lang.String> args)
-
findResourceDir
private java.io.File findResourceDir(CompilerConfiguration config)
-
convertNameToAssemblyResourceName
private java.lang.String convertNameToAssemblyResourceName(java.lang.String name)
-
compileOutOfProcess
private java.util.List<CompilerMessage> compileOutOfProcess(java.io.File workingDirectory, java.io.File target, java.lang.String executable, java.lang.String[] args) throws CompilerException
- Throws:
CompilerException
-
parseCompilerOutput
public static java.util.List<CompilerMessage> parseCompilerOutput(java.io.BufferedReader bufferedReader) throws java.io.IOException
- Throws:
java.io.IOException
-
getType
private java.lang.String getType(java.util.Map<java.lang.String,java.lang.String> compilerArguments)
-
getTypeExtension
private java.lang.String getTypeExtension(CompilerConfiguration configuration) throws CompilerException
- Throws:
CompilerException
-
getSourceFiles
protected static java.lang.String[] getSourceFiles(CompilerConfiguration config)
-
parseLine
public static CompilerMessage parseLine(java.lang.String line)
Deprecated.This method is just here to maintain the public api. This is now handled in the parse compiler output function.
-
getSourceFilesForSourceRoot
protected static java.util.Set<java.lang.String> getSourceFilesForSourceRoot(CompilerConfiguration config, java.lang.String sourceLocation)
-
-