org.codehaus.plexus.compiler.csharp
Class CSharpCompiler

java.lang.Object
  extended by org.codehaus.plexus.logging.AbstractLogEnabled
      extended by org.codehaus.plexus.compiler.AbstractCompiler
          extended by org.codehaus.plexus.compiler.csharp.CSharpCompiler
All Implemented Interfaces:
org.codehaus.plexus.compiler.Compiler, org.codehaus.plexus.logging.LogEnabled

public class CSharpCompiler
extends org.codehaus.plexus.compiler.AbstractCompiler

Version:
$Id: CSharpCompiler.java 3087 2006-03-23 05:00:14Z carlos $
Author:
Gilles Dodinet, Trygve Laugstøl, Matthew Pocock, Chris Stevenson

Field Summary
private  java.lang.String ARGUMENTS_FILE_NAME
           
 
Fields inherited from class org.codehaus.plexus.compiler.AbstractCompiler
EOL, PS
 
Fields inherited from interface org.codehaus.plexus.compiler.Compiler
ROLE
 
Constructor Summary
CSharpCompiler()
           
 
Method Summary
private  java.lang.String[] buildCompilerArguments(org.codehaus.plexus.compiler.CompilerConfiguration config, java.lang.String[] sourceFiles)
           
 boolean canUpdateTarget(org.codehaus.plexus.compiler.CompilerConfiguration configuration)
           
 java.util.List compile(org.codehaus.plexus.compiler.CompilerConfiguration config)
           
private  java.util.List compileOutOfProcess(java.io.File workingDirectory, java.io.File target, java.lang.String executable, java.lang.String[] args)
           
 java.lang.String[] createCommandLine(org.codehaus.plexus.compiler.CompilerConfiguration config)
           
private  java.lang.String findExecutable(org.codehaus.plexus.compiler.CompilerConfiguration config)
           
 java.lang.String getOutputFile(org.codehaus.plexus.compiler.CompilerConfiguration configuration)
           
protected static java.lang.String[] getSourceFiles(org.codehaus.plexus.compiler.CompilerConfiguration config)
           
protected static java.util.Set getSourceFilesForSourceRoot(org.codehaus.plexus.compiler.CompilerConfiguration config, java.lang.String sourceLocation)
           
private  java.lang.String getType(java.util.Map compilerArguments)
           
private  java.lang.String getTypeExtension(org.codehaus.plexus.compiler.CompilerConfiguration configuration)
           
static java.util.List parseCompilerOutput(java.io.BufferedReader bufferedReader)
           
static org.codehaus.plexus.compiler.CompilerError parseLine(java.lang.String line)
          Deprecated.  
 
Methods inherited from class org.codehaus.plexus.compiler.AbstractCompiler
getCompilerOutputStyle, getInputFileEnding, getOutputFileEnding, getPathString, makeClassName, toStringArray
 
Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ARGUMENTS_FILE_NAME

private final java.lang.String ARGUMENTS_FILE_NAME
See Also:
Constant Field Values
Constructor Detail

CSharpCompiler

public CSharpCompiler()
Method Detail

canUpdateTarget

public boolean canUpdateTarget(org.codehaus.plexus.compiler.CompilerConfiguration configuration)
                        throws org.codehaus.plexus.compiler.CompilerException
Specified by:
canUpdateTarget in interface org.codehaus.plexus.compiler.Compiler
Overrides:
canUpdateTarget in class org.codehaus.plexus.compiler.AbstractCompiler
Throws:
org.codehaus.plexus.compiler.CompilerException

getOutputFile

public java.lang.String getOutputFile(org.codehaus.plexus.compiler.CompilerConfiguration configuration)
                               throws org.codehaus.plexus.compiler.CompilerException
Specified by:
getOutputFile in interface org.codehaus.plexus.compiler.Compiler
Overrides:
getOutputFile in class org.codehaus.plexus.compiler.AbstractCompiler
Throws:
org.codehaus.plexus.compiler.CompilerException

compile

public java.util.List compile(org.codehaus.plexus.compiler.CompilerConfiguration config)
                       throws org.codehaus.plexus.compiler.CompilerException
Throws:
org.codehaus.plexus.compiler.CompilerException

createCommandLine

public java.lang.String[] createCommandLine(org.codehaus.plexus.compiler.CompilerConfiguration config)
                                     throws org.codehaus.plexus.compiler.CompilerException
Throws:
org.codehaus.plexus.compiler.CompilerException

findExecutable

private java.lang.String findExecutable(org.codehaus.plexus.compiler.CompilerConfiguration config)

buildCompilerArguments

private java.lang.String[] buildCompilerArguments(org.codehaus.plexus.compiler.CompilerConfiguration config,
                                                  java.lang.String[] sourceFiles)
                                           throws org.codehaus.plexus.compiler.CompilerException
Throws:
org.codehaus.plexus.compiler.CompilerException

compileOutOfProcess

private java.util.List compileOutOfProcess(java.io.File workingDirectory,
                                           java.io.File target,
                                           java.lang.String executable,
                                           java.lang.String[] args)
                                    throws org.codehaus.plexus.compiler.CompilerException
Throws:
org.codehaus.plexus.compiler.CompilerException

parseCompilerOutput

public static java.util.List parseCompilerOutput(java.io.BufferedReader bufferedReader)
                                          throws java.io.IOException
Throws:
java.io.IOException

getType

private java.lang.String getType(java.util.Map compilerArguments)

getTypeExtension

private java.lang.String getTypeExtension(org.codehaus.plexus.compiler.CompilerConfiguration configuration)
                                   throws org.codehaus.plexus.compiler.CompilerException
Throws:
org.codehaus.plexus.compiler.CompilerException

getSourceFiles

protected static java.lang.String[] getSourceFiles(org.codehaus.plexus.compiler.CompilerConfiguration config)

parseLine

public static org.codehaus.plexus.compiler.CompilerError 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 getSourceFilesForSourceRoot(org.codehaus.plexus.compiler.CompilerConfiguration config,
                                                           java.lang.String sourceLocation)