This is the default implementation for the CompilerAdapter interface.
Currently, this is a cut-and-paste of the original javac task.
attributes
protected Javac attributes
bootclasspath
protected Path bootclasspath
compileClasspath
protected Path compileClasspath
compileList
protected File[] compileList
compileSourcepath
protected Path compileSourcepath
debug
protected boolean debug
depend
protected boolean depend
deprecation
protected boolean deprecation
destDir
protected File destDir
encoding
protected String encoding
extdirs
protected Path extdirs
includeAntRuntime
protected boolean includeAntRuntime
includeJavaRuntime
protected boolean includeJavaRuntime
lSep
protected static final String lSep
memoryInitialSize
protected String memoryInitialSize
memoryMaximumSize
protected String memoryMaximumSize
optimize
protected boolean optimize
target
protected String target
verbose
protected boolean verbose
addCurrentCompilerArgs
protected void addCurrentCompilerArgs(Commandline cmd)
Adds the command line arguments specific to the current implementation.
cmd
- the command line to use
addExtdirsToClasspath
protected void addExtdirsToClasspath(Path classpath)
since 1.5.x.
Use org.apache.tools.ant.types.Path#addExtdirs instead.
Add extdirs to classpath
classpath
- the classpath to use
assumeJava11
protected boolean assumeJava11()
Shall we assume JDK 1.1 command line switches?
assumeJava12
protected boolean assumeJava12()
Shall we assume JDK 1.2 command line switches?
assumeJava13
protected boolean assumeJava13()
Shall we assume JDK 1.3 command line switches?
assumeJava14
protected boolean assumeJava14()
Shall we assume JDK 1.4 command line switches?
assumeJava15
protected boolean assumeJava15()
Shall we assume JDK 1.5 command line switches?
assumeJava16
protected boolean assumeJava16()
Shall we assume JDK 1.6 command line switches?
executeExternalCompile
protected int executeExternalCompile(String[] args,
int firstFileName)
Do the compile with the specified arguments.
args
- - arguments to pass to process on command linefirstFileName
- - 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.
- the exit code of the compilation
executeExternalCompile
protected int executeExternalCompile(String[] args,
int firstFileName,
boolean quoteFiles)
Do the compile with the specified arguments.
args
- - arguments to pass to process on command linefirstFileName
- - 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.
- the exit code of the compilation
getBootClassPath
protected Path getBootClassPath()
Combines a user specified bootclasspath with the system
bootclasspath taking build.sysclasspath into account.
- a non-null Path instance that combines the user
specified and the system bootclasspath.
getCompileClasspath
protected Path getCompileClasspath()
Builds the compilation classpath.
- the compilation class path
getJavac
public Javac getJavac()
Get the Javac task instance associated with this compiler adapter
- the configured Javac task instance used by this adapter.
getNoDebugArgument
protected 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.
- "-g:none" unless we expect to invoke a JDK 1.1 compiler.
getProject
protected Project getProject()
Get the project this compiler adapter was created in.
logAndAddFilesToCompile
protected void logAndAddFilesToCompile(Commandline cmd)
Logs the compilation parameters, adds the files to compile and logs the
"niceSourceList"
setJavac
public void setJavac(Javac attributes)
Set the Javac instance which contains the configured compilation
attributes.
- setJavac in interface CompilerAdapter
attributes
- a configured Javac task.
setupJavacCommand
protected Commandline setupJavacCommand()
Set up the command line.
setupJavacCommand
protected Commandline setupJavacCommand(boolean debugLevelCheck)
Does the command line argument processing for classic and adds
the files to compile as well.
debugLevelCheck
- if true set the debug level with the -g switch
setupJavacCommandlineSwitches
protected Commandline setupJavacCommandlineSwitches(Commandline cmd)
Get the command line arguments for the switches.
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.
cmd
- the command lineuseDebugLevel
- if true set set the debug level with the -g switch
setupModernJavacCommand
protected Commandline setupModernJavacCommand()
Does the command line argument processing for modern and adds
the files to compile as well.
setupModernJavacCommandlineSwitches
protected Commandline setupModernJavacCommandlineSwitches(Commandline cmd)
Does the command line argument processing for modern. Doesn't
add the files to compile.