Class JavacCompiler

java.lang.Object
org.codehaus.plexus.logging.AbstractLogEnabled
org.codehaus.plexus.compiler.AbstractCompiler
org.codehaus.plexus.compiler.javac.JavacCompiler
All Implemented Interfaces:
org.codehaus.plexus.compiler.Compiler, org.codehaus.plexus.logging.LogEnabled

@Component(role=org.codehaus.plexus.compiler.Compiler.class, hint="javac ") public class JavacCompiler extends org.codehaus.plexus.compiler.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
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String[]
    buildCompilerArguments(org.codehaus.plexus.compiler.CompilerConfiguration config, String[] sourceFiles)
     
    protected org.codehaus.plexus.compiler.CompilerResult
     
    protected org.codehaus.plexus.compiler.CompilerResult
    compileOutOfProcess(org.codehaus.plexus.compiler.CompilerConfiguration config, String executable, String[] args)
    Compile the java sources in a external process, calling an external executable, like javac.
    createCommandLine(org.codehaus.plexus.compiler.CompilerConfiguration config)
     
    protected Class<?>
    Helper method for create Javac class
     
    protected static boolean
     
    org.codehaus.plexus.compiler.CompilerResult
    performCompile(org.codehaus.plexus.compiler.CompilerConfiguration config)
     

    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

    Methods inherited from interface org.codehaus.plexus.compiler.Compiler

    supportsIncrementalCompilation
  • Constructor Details

    • JavacCompiler

      public JavacCompiler()
  • Method Details

    • performCompile

      public org.codehaus.plexus.compiler.CompilerResult performCompile(org.codehaus.plexus.compiler.CompilerConfiguration config) throws org.codehaus.plexus.compiler.CompilerException
      Specified by:
      performCompile in interface org.codehaus.plexus.compiler.Compiler
      Overrides:
      performCompile in class org.codehaus.plexus.compiler.AbstractCompiler
      Throws:
      org.codehaus.plexus.compiler.CompilerException
    • inProcessCompiler

      protected InProcessCompiler inProcessCompiler()
    • isJava16

      protected static boolean isJava16()
    • createCommandLine

      public String[] createCommandLine(org.codehaus.plexus.compiler.CompilerConfiguration config) throws org.codehaus.plexus.compiler.CompilerException
      Throws:
      org.codehaus.plexus.compiler.CompilerException
    • buildCompilerArguments

      public static String[] buildCompilerArguments(org.codehaus.plexus.compiler.CompilerConfiguration config, String[] sourceFiles)
    • compileOutOfProcess

      protected org.codehaus.plexus.compiler.CompilerResult compileOutOfProcess(org.codehaus.plexus.compiler.CompilerConfiguration config, String executable, String[] args) throws org.codehaus.plexus.compiler.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:
      org.codehaus.plexus.compiler.CompilerException
    • compileInProcessWithProperClassloader

      protected org.codehaus.plexus.compiler.CompilerResult compileInProcessWithProperClassloader(Class<?> javacClass, String[] args) throws org.codehaus.plexus.compiler.CompilerException
      Throws:
      org.codehaus.plexus.compiler.CompilerException
    • createJavacClass

      protected Class<?> createJavacClass() throws org.codehaus.plexus.compiler.CompilerException
      Helper method for create Javac class
      Throws:
      org.codehaus.plexus.compiler.CompilerException