## 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
Author:
  James Davidson duncan@x180.com, Robin Green greenrd@hotmail.com, Stefan Bodewig, J D Glanville

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 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 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

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.