org.codehaus.plexus.compiler.javac

## Class JavacCompiler

- java.lang.Object
- - org.codehaus.plexus.logging.AbstractLogEnabled
  - - org.codehaus.plexus.compiler.AbstractCompiler
    - - org.codehaus.plexus.compiler.javac.JavacCompiler

- All Implemented Interfaces:
    Compiler, org.codehaus.plexus.logging.LogEnabled

      public class JavacCompiler
      extends AbstractCompiler

  Author:
    Trygve Laugstøl, Matthew Pocock, Jörg Waßmer, Others

- - ### Field Summary

    - ### Fields inherited from class org.codehaus.plexus.compiler.AbstractCompiler

      `EOL, PS`

    - ### Fields inherited from interface org.codehaus.plexus.compiler.Compiler

      `ROLE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JavacCompiler()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static String[]` | `buildCompilerArguments(CompilerConfiguration config, String[] sourceFiles)`
    `protected CompilerResult` | `compileInProcessWithProperClassloader(Class<?> javacClass, String[] args)`
    `protected CompilerResult` | `compileOutOfProcess(CompilerConfiguration config, String executable, String[] args)` Compile the java sources in a external process, calling an external executable, like javac.
    `String[]` | `createCommandLine(CompilerConfiguration config)` Create the command line that would be executed using this configuration.
    `protected Class<?>` | `createJavacClass()` Helper method for create Javac class
    `protected static boolean` | `isJava16()`
    `CompilerResult` | `performCompile(CompilerConfiguration config)` Performs the compilation of the project.

    - ### Methods inherited from class org.codehaus.plexus.compiler.AbstractCompiler

      `canUpdateTarget, compile, getCompilerOutputStyle, getInputFileEnding, getOutputFile, getOutputFileEnding, getPathString, getSourceFiles, getSourceFilesForSourceRoot, makeClassName, toStringArray`

    - ### Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled

      `enableLogging, getLogger, setupLogger, setupLogger, setupLogger`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JavacCompiler

          public JavacCompiler()

  - ### Method Detail

    - #### performCompile

          public CompilerResult performCompile(CompilerConfiguration config)
                                        throws CompilerException

      Description copied from interface: `Compiler`
      Performs the compilation of the project. Clients must implement this method.
      Specified by:
        `performCompile` in interface `Compiler`
      Overrides:
        `performCompile` in class `AbstractCompiler`
      Parameters:
        `config` - the configuration description of the compilation to perform
      Returns:
        the result of the compilation returned by the language processor
      Throws:
        `CompilerException`

    - #### isJava16

          protected static boolean isJava16()

    - #### createCommandLine

          public String[] createCommandLine(CompilerConfiguration config)
                                     throws CompilerException

      Description copied from interface: `Compiler`
      Create the command line that would be executed using this configuration. If this particular compiler has no concept of a command line then returns null.
      Parameters:
        `config` - the CompilerConfiguration describing the compilation
      Returns:
        an array of Strings that make up the command line, or null if this compiler has no concept of command line
      Throws:
        `CompilerException` - if there was an error generating the command line

    - #### buildCompilerArguments

          public static String[] buildCompilerArguments(CompilerConfiguration config,
                                        String[] sourceFiles)

    - #### compileOutOfProcess

          protected CompilerResult compileOutOfProcess(CompilerConfiguration config,
                                           String executable,
                                           String[] args)
                                                throws CompilerException

      Compile the java sources in a external process, calling an external executable, like javac.
      Parameters:
        `config` - compiler configuration
        `executable` - name of the executable to launch
        `args` - arguments for the executable launched
      Returns:
        a CompilerResult object encapsulating the result of the compilation and any compiler messages
      Throws:
        `CompilerException`

    - #### compileInProcessWithProperClassloader

          protected CompilerResult compileInProcessWithProperClassloader(Class<?> javacClass,
                                                             String[] args)
                                                                  throws CompilerException

      Throws:
        `CompilerException`

    - #### createJavacClass

          protected Class<?> createJavacClass()
                                       throws CompilerException

      Helper method for create Javac class
      Throws:
        `CompilerException`

Copyright © 2015. All rights reserved.