org.apache.tools.ant.taskdefs.compilers
Class DefaultCompilerAdapter

java.lang.Object
  |
  +--org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter
All Implemented Interfaces:
CompilerAdapter
Direct Known Subclasses:
Gcj, Javac12, Javac13, JavacExternal, Jikes, Jvc, Kjc, Sj

public abstract class DefaultCompilerAdapter
extends java.lang.Object
implements CompilerAdapter

This is the default implementation for the CompilerAdapter interface. Currently, this is a cut-and-paste of the original javac task.

Since:
Ant 1.3

Field Summary
protected  Javac attributes
           
protected  Path bootclasspath
           
protected  Path compileClasspath
           
protected  java.io.File[] compileList
           
protected  Path compileSourcepath
           
protected  boolean debug
           
protected  boolean depend
           
protected  boolean deprecation
           
protected  java.io.File destDir
           
protected  java.lang.String encoding
           
protected  Path extdirs
           
protected  boolean includeAntRuntime
           
protected  boolean includeJavaRuntime
           
protected  Location location
           
protected static java.lang.String lSep
           
protected  java.lang.String memoryInitialSize
           
protected  java.lang.String memoryMaximumSize
           
protected  boolean optimize
           
protected  Project project
           
protected  Path src
           
protected  java.lang.String target
           
protected  boolean verbose
           
 
Constructor Summary
DefaultCompilerAdapter()
           
 
Method Summary
protected  void addCurrentCompilerArgs(Commandline cmd)
          Adds the command line arguments specific to the current implementation.
protected  void addExtdirsToClasspath(Path classpath)
          Deprecated. use org.apache.tools.ant.types.Path#addExtdirs instead
protected  boolean assumeJava11()
          Shall we assume JDK 1.1 command line switches?
protected  boolean assumeJava12()
          Shall we assume JDK 1.2 command line switches?
protected  boolean assumeJava13()
          Shall we assume JDK 1.3 command line switches?
protected  boolean assumeJava14()
          Shall we assume JDK 1.4 command line switches?
protected  boolean assumeJava15()
          Shall we assume JDK 1.5 command line switches?
protected  int executeExternalCompile(java.lang.String[] args, int firstFileName)
          Do the compile with the specified arguments.
protected  int executeExternalCompile(java.lang.String[] args, int firstFileName, boolean quoteFiles)
          Do the compile with the specified arguments.
protected  Path getCompileClasspath()
          Builds the compilation classpath.
 Javac getJavac()
          Get the Javac task instance associated with this compiler adapter
protected  java.lang.String getNoDebugArgument()
          The argument the compiler wants to see if the debug attribute has been set to false.
protected  Project getProject()
           
protected  void logAndAddFilesToCompile(Commandline cmd)
          Logs the compilation parameters, adds the files to compile and logs the "niceSourceList"
 void setJavac(Javac attributes)
          Set the Javac instance which contains the configured compilation attributes.
protected  Commandline setupJavacCommand()
           
protected  Commandline setupJavacCommand(boolean debugLevelCheck)
          Does the command line argument processing for classic and adds the files to compile as well.
protected  Commandline setupJavacCommandlineSwitches(Commandline cmd)
           
protected  Commandline setupJavacCommandlineSwitches(Commandline cmd, boolean useDebugLevel)
          Does the command line argument processing common to classic and modern.
protected  Commandline setupModernJavacCommand()
          Does the command line argument processing for modern and adds the files to compile as well.
protected  Commandline setupModernJavacCommandlineSwitches(Commandline cmd)
          Does the command line argument processing for modern.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.tools.ant.taskdefs.compilers.CompilerAdapter
execute
 

Field Detail

src

protected Path src

destDir

protected java.io.File destDir

encoding

protected java.lang.String encoding

debug

protected boolean debug

optimize

protected boolean optimize

deprecation

protected boolean deprecation

depend

protected boolean depend

verbose

protected boolean verbose

target

protected java.lang.String target

bootclasspath

protected Path bootclasspath

extdirs

protected Path extdirs

compileClasspath

protected Path compileClasspath

compileSourcepath

protected Path compileSourcepath

project

protected Project project

location

protected Location location

includeAntRuntime

protected boolean includeAntRuntime

includeJavaRuntime

protected boolean includeJavaRuntime

memoryInitialSize

protected java.lang.String memoryInitialSize

memoryMaximumSize

protected java.lang.String memoryMaximumSize

compileList

protected java.io.File[] compileList

lSep

protected static final java.lang.String lSep

attributes

protected Javac attributes
Constructor Detail

DefaultCompilerAdapter

public DefaultCompilerAdapter()
Method Detail

setJavac

public void setJavac(Javac attributes)
Set the Javac instance which contains the configured compilation attributes.

Specified by:
setJavac in interface CompilerAdapter
Parameters:
attributes - a configured Javac task.

getJavac

public Javac getJavac()
Get the Javac task instance associated with this compiler adapter

Returns:
the configured Javac task instance used by this adapter.

getProject

protected Project getProject()
Since:
Ant 1.6

getCompileClasspath

protected Path getCompileClasspath()
Builds the compilation classpath.


setupJavacCommandlineSwitches

protected Commandline setupJavacCommandlineSwitches(Commandline cmd)

setupJavacCommandlineSwitches

protected Commandline setupJavacCommandlineSwitches(Commandline cmd,
                                                    boolean useDebugLevel)
Does the command line argument processing common to classic and modern. Doesn't add the files to compile.


setupModernJavacCommandlineSwitches

protected Commandline setupModernJavacCommandlineSwitches(Commandline cmd)
Does the command line argument processing for modern. Doesn't add the files to compile.


setupModernJavacCommand

protected Commandline setupModernJavacCommand()
Does the command line argument processing for modern and adds the files to compile as well.


setupJavacCommand

protected Commandline setupJavacCommand()

setupJavacCommand

protected Commandline setupJavacCommand(boolean debugLevelCheck)
Does the command line argument processing for classic and adds the files to compile as well.


logAndAddFilesToCompile

protected void logAndAddFilesToCompile(Commandline cmd)
Logs the compilation parameters, adds the files to compile and logs the "niceSourceList"


executeExternalCompile

protected int executeExternalCompile(java.lang.String[] args,
                                     int firstFileName)
Do the compile with the specified arguments.

Parameters:
args - - arguments to pass to process on command line
firstFileName - - index of the first source file in args, if the index is negative, no temporary file will ever be created, but this may hit the command line length limit on your system.

executeExternalCompile

protected int executeExternalCompile(java.lang.String[] args,
                                     int firstFileName,
                                     boolean quoteFiles)
Do the compile with the specified arguments.

Parameters:
args - - arguments to pass to process on command line
firstFileName - - index of the first source file in args, if the index is negative, no temporary file will ever be created, but this may hit the command line length limit on your system.
quoteFiles - - if set to true, filenames containing spaces will be quoted when they appear in the external file. This is necessary when running JDK 1.4's javac and probably others.
Since:
Ant 1.6

addExtdirsToClasspath

protected void addExtdirsToClasspath(Path classpath)
Deprecated. use org.apache.tools.ant.types.Path#addExtdirs instead


addCurrentCompilerArgs

protected void addCurrentCompilerArgs(Commandline cmd)
Adds the command line arguments specific to the current implementation.


assumeJava11

protected boolean assumeJava11()
Shall we assume JDK 1.1 command line switches?

Since:
Ant 1.5

assumeJava12

protected boolean assumeJava12()
Shall we assume JDK 1.2 command line switches?

Since:
Ant 1.5

assumeJava13

protected boolean assumeJava13()
Shall we assume JDK 1.3 command line switches?

Since:
Ant 1.5

assumeJava14

protected boolean assumeJava14()
Shall we assume JDK 1.4 command line switches?

Since:
Ant 1.6.3

assumeJava15

protected boolean assumeJava15()
Shall we assume JDK 1.5 command line switches?

Returns:
true if JDK 1.5
Since:
Ant 1.6.3

getNoDebugArgument

protected java.lang.String getNoDebugArgument()
The argument the compiler wants to see if the debug attribute has been set to false.

A return value of null means no argument at all.

Returns:
"-g:none" unless we expect to invoke a JDK 1.1 compiler.
Since:
Ant 1.6.3


Copyright 2000-2005 Apache Software Foundation. All Rights Reserved.