org.apache.tools.ant.taskdefs.compilers

Class DefaultCompilerAdapter

  • java.lang.Object
    • org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter
    • 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
      • release

        protected java.lang.String release
      • bootclasspath

        protected Path bootclasspath
      • extdirs

        protected Path extdirs
      • compileClasspath

        protected Path compileClasspath
      • modulepath

        protected Path modulepath
      • upgrademodulepath

        protected Path upgrademodulepath
      • compileSourcepath

        protected Path compileSourcepath
      • moduleSourcepath

        protected Path moduleSourcepath
      • project

        protected Project project
      • 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
      • attributes

        protected Javac attributes
      • lSep

        protected static final java.lang.String lSep
    • 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.
      • getSupportedFileExtensions

        public java.lang.String[] getSupportedFileExtensions()
        By default, only recognize files with a Java extension, but specialized compilers can recognize multiple kinds of files.
        Specified by:
        getSupportedFileExtensions in interface CompilerAdapterExtension
        Returns:
        list of source file extensions recognized by this compiler adapter.
      • getProject

        protected Project getProject()
        Get the project this compiler adapter was created in.
        Returns:
        the owner project
        Since:
        Ant 1.6
      • getCompileClasspath

        protected Path getCompileClasspath()
        Builds the compilation classpath.
        Returns:
        the compilation class path
      • getModulepath

        protected Path getModulepath()
        Builds the modulepath.
        Returns:
        the modulepath
        Since:
        1.9.7
      • getUpgrademodulepath

        protected Path getUpgrademodulepath()
        Builds the upgrademodulepath.
        Returns:
        the upgrademodulepath
        Since:
        1.9.7
      • getModulesourcepath

        protected Path getModulesourcepath()
        Builds the modulesourcepath for multi module compilation.
        Returns:
        the modulesourcepath
        Since:
        1.9.7
      • setupJavacCommandlineSwitches

        protected Commandline setupJavacCommandlineSwitches(Commandline cmd)
        Get the command line arguments for the switches.
        Parameters:
        cmd - the command line
        Returns:
        the command line
      • 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.
        Parameters:
        cmd - the command line
        useDebugLevel - if true set set the debug level with the -g switch
        Returns:
        the command line
      • setupModernJavacCommandlineSwitches

        protected Commandline setupModernJavacCommandlineSwitches(Commandline cmd)
        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

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

        protected Commandline setupJavacCommand()
        Set up the command line.
        Returns:
        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.
        Parameters:
        debugLevelCheck - if true set the debug level with the -g switch
        Returns:
        the command line
      • logAndAddFilesToCompile

        protected void logAndAddFilesToCompile(Commandline cmd)
        Logs the compilation parameters, adds the files to compile and logs the "niceSourceList"
        Parameters:
        cmd - the command line
      • 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.
        Returns:
        the exit code of the compilation
      • executeExternalCompile

        protected int executeExternalCompile(java.lang.String[] args,
                                             int firstFileName,
                                             boolean quoteFiles)
        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 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.
        Returns:
        the exit code of the compilation
        Since:
        Ant 1.6
      • addExtdirsToClasspath

        @Deprecated
        protected void addExtdirsToClasspath(Path classpath)
        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

        protected void addCurrentCompilerArgs(Commandline cmd)
        Adds the command line arguments specific to the current implementation.
        Parameters:
        cmd - the command line to use
      • assumeJava11

        protected boolean assumeJava11()
        Shall we assume JDK 1.1 command line switches?
        Returns:
        true if jdk 1.1
        Since:
        Ant 1.5
      • assumeJava12

        protected boolean assumeJava12()
        Shall we assume JDK 1.2 command line switches?
        Returns:
        true if jdk 1.2
        Since:
        Ant 1.5
      • assumeJava13

        protected boolean assumeJava13()
        Shall we assume JDK 1.3 command line switches?
        Returns:
        true if jdk 1.3
        Since:
        Ant 1.5
      • assumeJava14

        protected boolean assumeJava14()
        Shall we assume JDK 1.4 command line switches?
        Returns:
        true if jdk 1.4
        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
      • assumeJava16

        protected boolean assumeJava16()
        Shall we assume JDK 1.6 command line switches?
        Returns:
        true if JDK 1.6
        Since:
        Ant 1.7
      • assumeJava17

        protected boolean assumeJava17()
        Shall we assume JDK 1.7 command line switches?
        Returns:
        true if JDK 1.7
        Since:
        Ant 1.8.2
      • assumeJava18

        protected boolean assumeJava18()
        Shall we assume JDK 1.8 command line switches?
        Returns:
        true if JDK 1.8
        Since:
        Ant 1.8.3
      • assumeJava19

        protected boolean assumeJava19()
        Deprecated. use #assumeJava9 instead
        Shall we assume JDK 9 command line switches?
        Returns:
        true if JDK 9
        Since:
        Ant 1.9.4
      • assumeJava9

        protected boolean assumeJava9()
        Shall 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.9.10
      • getBootClassPath

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

        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