Class DefaultCompilerAdapter
java.lang.Object
org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter
- All Implemented Interfaces:
CompilerAdapter
,CompilerAdapterExtension
public abstract class DefaultCompilerAdapter
extends Object
implements CompilerAdapter, CompilerAdapterExtension
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
Modifier and TypeFieldDescriptionprotected Javac
protected Path
protected Path
protected File[]
protected Path
protected boolean
protected boolean
protected boolean
protected File
protected String
protected Path
protected boolean
protected boolean
protected Location
protected static final String
Deprecated.protected String
protected String
protected Path
protected Path
protected boolean
protected Project
protected String
protected Path
protected String
protected Path
protected boolean
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Adds the command line arguments specific to the current implementation.protected void
addExtdirsToClasspath
(Path classpath) Deprecated.since 1.5.x.protected boolean
Shall we assume JDK 1.1+ command line switches?protected boolean
Shall we assume JDK 1.2+ command line switches?protected boolean
Shall we assume JDK 1.3+ command line switches?protected boolean
Shall we assume JDK 1.4+ command line switches?protected boolean
Shall we assume JDK 1.5+ command line switches?protected boolean
Shall we assume JDK 1.6+ command line switches?protected boolean
Shall we assume JDK 1.7+ command line switches?protected boolean
Shall we assume JDK 1.8+ command line switches?protected boolean
Shall we assume JDK 10+ command line switches?protected boolean
Deprecated.since Ant 1.10.7, use assumeJava1_1Plus, if necessary combined with !assumeJava1_2Plusprotected boolean
Deprecated.since Ant 1.10.7, use assumeJava1_2Plus, if necessary combined with !assumeJava1_3Plusprotected boolean
Deprecated.since Ant 1.10.7, use assumeJava1_3Plus, if necessary combined with !assumeJava1_4Plusprotected boolean
Deprecated.since Ant 1.10.7, use assumeJava1_4Plus, if necessary combined with !assumeJava1_5Plusprotected boolean
Deprecated.since Ant 1.10.7, use assumeJava1_5Plus, if necessary combined with !assumeJava1_6Plusprotected boolean
Deprecated.since Ant 1.10.7, use assumeJava1_6Plus, if necessary combined with !assumeJava1_7Plusprotected boolean
Deprecated.since Ant 1.10.7, use assumeJava1_7Plus, if necessary combined with !assumeJava1_8Plusprotected boolean
Deprecated.since Ant 1.10.7, use assumeJava1_8Plus, if necessary combined with !assumeJava9Plusprotected boolean
Deprecated.use #assumeJava9 insteadprotected boolean
Deprecated.since Ant 1.10.7, use assumeJava9Plus, in the future if necessary combined with !assumeJava10Plusprotected boolean
Shall we assume JDK 9+ command line switches?protected int
executeExternalCompile
(String[] args, int firstFileName) Do the compile with the specified arguments.protected int
executeExternalCompile
(String[] args, int firstFileName, boolean quoteFiles) Do the compile with the specified arguments.protected Path
Combines a user specified bootclasspath with the system bootclasspath taking build.sysclasspath into account.protected Path
Builds the compilation classpath.getJavac()
Get the Javac task instance associated with this compiler adapterprotected Path
Builds the modulepath.protected Path
Builds the modulesourcepath for multi module compilation.protected String
The argument the compiler wants to see if the debug attribute has been set to false.protected Project
Get the project this compiler adapter was created in.String[]
By default, only recognize files with a Java extension, but specialized compilers can recognize multiple kinds of files.protected Path
Builds the upgrademodulepath.protected void
Logs the compilation parameters, adds the files to compile and logs the "niceSourceList"void
Set the Javac instance which contains the configured compilation attributes.protected Commandline
Set up the command line.protected Commandline
setupJavacCommand
(boolean debugLevelCheck) Does the command line argument processing for classic and adds the files to compile as well.protected Commandline
Get the command line arguments for the switches.protected Commandline
setupJavacCommandlineSwitches
(Commandline cmd, boolean useDebugLevel) Does the command line argument processing common to classic and modern.protected Commandline
Does the command line argument processing for modern and adds the files to compile as well.protected Commandline
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 Details
-
lSep
Deprecated. -
src
-
destDir
-
encoding
-
debug
protected boolean debug -
optimize
protected boolean optimize -
deprecation
protected boolean deprecation -
depend
protected boolean depend -
verbose
protected boolean verbose -
target
-
release
-
bootclasspath
-
extdirs
-
compileClasspath
-
modulepath
-
upgrademodulepath
-
compileSourcepath
-
moduleSourcepath
-
project
-
location
-
includeAntRuntime
protected boolean includeAntRuntime -
includeJavaRuntime
protected boolean includeJavaRuntime -
memoryInitialSize
-
memoryMaximumSize
-
compileList
-
attributes
-
-
Constructor Details
-
DefaultCompilerAdapter
public DefaultCompilerAdapter()
-
-
Method Details
-
setJavac
Set the Javac instance which contains the configured compilation attributes.- Specified by:
setJavac
in interfaceCompilerAdapter
- Parameters:
attributes
- a configured Javac task.
-
getJavac
Get the Javac task instance associated with this compiler adapter- Returns:
- the configured Javac task instance used by this adapter.
-
getSupportedFileExtensions
By default, only recognize files with a Java extension, but specialized compilers can recognize multiple kinds of files.- Specified by:
getSupportedFileExtensions
in interfaceCompilerAdapterExtension
- Returns:
- list of source file extensions recognized by this compiler adapter.
-
getProject
Get the project this compiler adapter was created in.- Returns:
- the owner project
- Since:
- Ant 1.6
-
getCompileClasspath
Builds the compilation classpath.- Returns:
- the compilation class path
-
getModulepath
-
getUpgrademodulepath
Builds the upgrademodulepath.- Returns:
- the upgrademodulepath
- Since:
- 1.9.7
-
getModulesourcepath
Builds the modulesourcepath for multi module compilation.- Returns:
- the modulesourcepath
- Since:
- 1.9.7
-
setupJavacCommandlineSwitches
Get the command line arguments for the switches.- Parameters:
cmd
- the command line- Returns:
- the command line
-
setupJavacCommandlineSwitches
Does the command line argument processing common to classic and modern. Doesn't add the files to compile.- Parameters:
cmd
- the command lineuseDebugLevel
- if true set set the debug level with the -g switch- Returns:
- the command line
-
setupModernJavacCommandlineSwitches
Does the command line argument processing for modern. Doesn't add the files to compile.- Parameters:
cmd
- the command line- Returns:
- the command line
-
setupModernJavacCommand
Does the command line argument processing for modern and adds the files to compile as well.- Returns:
- the command line
-
setupJavacCommand
-
setupJavacCommand
Does the command line argument processing for classic and adds the files to compile as well.- Parameters:
debugLevelCheck
- if true set the debug level with the -g switch- Returns:
- the command line
-
logAndAddFilesToCompile
Logs the compilation parameters, adds the files to compile and logs the "niceSourceList"- Parameters:
cmd
- the command line
-
executeExternalCompile
Do the compile with the specified arguments.- Parameters:
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.- Returns:
- the exit code of the compilation
-
executeExternalCompile
Do the compile with the specified arguments.The working directory if the executed process will be the project's base directory.
- Parameters:
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.- Returns:
- the exit code of the compilation
- Since:
- Ant 1.6
-
addExtdirsToClasspath
Deprecated.since 1.5.x. Use org.apache.tools.ant.types.Path#addExtdirs instead.Add extdirs to classpath- Parameters:
classpath
- the classpath to use
-
addCurrentCompilerArgs
Adds the command line arguments specific to the current implementation.- Parameters:
cmd
- the command line to use
-
assumeJava11
Deprecated.since Ant 1.10.7, use assumeJava1_1Plus, if necessary combined with !assumeJava1_2PlusShall we assume JDK 1.1 command line switches?- Returns:
- true if jdk 1.1
- Since:
- Ant 1.5
-
assumeJava1_1Plus
protected boolean assumeJava1_1Plus()Shall we assume JDK 1.1+ command line switches?- Returns:
- true if jdk 1.1 and above
- Since:
- Ant 1.10.7
-
assumeJava12
Deprecated.since Ant 1.10.7, use assumeJava1_2Plus, if necessary combined with !assumeJava1_3PlusShall we assume JDK 1.2 command line switches?- Returns:
- true if jdk 1.2
- Since:
- Ant 1.5
-
assumeJava1_2Plus
protected boolean assumeJava1_2Plus()Shall we assume JDK 1.2+ command line switches?- Returns:
- true if jdk 1.2 and above
- Since:
- Ant 1.10.7
-
assumeJava13
Deprecated.since Ant 1.10.7, use assumeJava1_3Plus, if necessary combined with !assumeJava1_4PlusShall we assume JDK 1.3 command line switches?- Returns:
- true if jdk 1.3
- Since:
- Ant 1.5
-
assumeJava1_3Plus
protected boolean assumeJava1_3Plus()Shall we assume JDK 1.3+ command line switches?- Returns:
- true if jdk 1.3 and above
- Since:
- Ant 1.10.7
-
assumeJava14
Deprecated.since Ant 1.10.7, use assumeJava1_4Plus, if necessary combined with !assumeJava1_5PlusShall we assume JDK 1.4 command line switches?- Returns:
- true if jdk 1.4
- Since:
- Ant 1.6.3
-
assumeJava1_4Plus
protected boolean assumeJava1_4Plus()Shall we assume JDK 1.4+ command line switches?- Returns:
- true if jdk 1.4 and above
- Since:
- Ant 1.10.7
-
assumeJava15
Deprecated.since Ant 1.10.7, use assumeJava1_5Plus, if necessary combined with !assumeJava1_6PlusShall we assume JDK 1.5 command line switches?- Returns:
- true if JDK 1.5
- Since:
- Ant 1.6.3
-
assumeJava1_5Plus
protected boolean assumeJava1_5Plus()Shall we assume JDK 1.5+ command line switches?- Returns:
- true if jdk 1.5 and above
- Since:
- Ant 1.10.7
-
assumeJava16
Deprecated.since Ant 1.10.7, use assumeJava1_6Plus, if necessary combined with !assumeJava1_7PlusShall we assume JDK 1.6 command line switches?- Returns:
- true if JDK 1.6
- Since:
- Ant 1.7
-
assumeJava1_6Plus
protected boolean assumeJava1_6Plus()Shall we assume JDK 1.6+ command line switches?- Returns:
- true if jdk 1.6 and above
- Since:
- Ant 1.10.7
-
assumeJava17
Deprecated.since Ant 1.10.7, use assumeJava1_7Plus, if necessary combined with !assumeJava1_8PlusShall we assume JDK 1.7 command line switches?- Returns:
- true if JDK 1.7
- Since:
- Ant 1.8.2
-
assumeJava1_7Plus
protected boolean assumeJava1_7Plus()Shall we assume JDK 1.7+ command line switches?- Returns:
- true if jdk 1.7 and above
- Since:
- Ant 1.10.7
-
assumeJava18
Deprecated.since Ant 1.10.7, use assumeJava1_8Plus, if necessary combined with !assumeJava9PlusShall we assume JDK 1.8 command line switches?- Returns:
- true if JDK 1.8
- Since:
- Ant 1.8.3
-
assumeJava1_8Plus
protected boolean assumeJava1_8Plus()Shall we assume JDK 1.8+ command line switches?- Returns:
- true if jdk 1.8 and above
- Since:
- Ant 1.10.7
-
assumeJava19
Deprecated.use #assumeJava9 insteadShall we assume JDK 9 command line switches?- Returns:
- true if JDK 9
- Since:
- Ant 1.9.4
-
assumeJava9
Deprecated.since Ant 1.10.7, use assumeJava9Plus, in the future if necessary combined with !assumeJava10PlusShall we assume JDK 9 command line switches?- Returns:
- true if JDK 9
- Since:
- Ant 1.9.8
-
assumeJava9Plus
protected boolean assumeJava9Plus()Shall we assume JDK 9+ command line switches?- Returns:
- true if JDK 9+
- Since:
- Ant 1.10.2
-
assumeJava10Plus
protected boolean assumeJava10Plus()Shall we assume JDK 10+ command line switches?- Returns:
- true if JDK 10+
- Since:
- Ant 1.10.7
-
getBootClassPath
Combines a user specified bootclasspath with the system bootclasspath taking build.sysclasspath into account.- Returns:
- a non-null Path instance that combines the user specified and the system bootclasspath.
-
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
-