Class JavacCompiler

  • All Implemented Interfaces:
    org.codehaus.plexus.compiler.Compiler

    @Named("javac")
    @Singleton
    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
      JavacCompiler()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String[] buildCompilerArguments​(org.codehaus.plexus.compiler.CompilerConfiguration config, java.lang.String[] sourceFiles)  
      protected org.codehaus.plexus.compiler.CompilerResult compileInProcessWithProperClassloader​(java.lang.Class<?> javacClass, java.lang.String[] args)  
      protected org.codehaus.plexus.compiler.CompilerResult compileOutOfProcess​(org.codehaus.plexus.compiler.CompilerConfiguration config, java.lang.String executable, java.lang.String[] args)
      Compile the java sources in a external process, calling an external executable, like javac.
      java.lang.String[] createCommandLine​(org.codehaus.plexus.compiler.CompilerConfiguration config)  
      protected java.lang.Class<?> createJavacClass()
      Helper method for create Javac class
      java.lang.String getCompilerId()  
      protected InProcessCompiler inProcessCompiler()  
      protected static boolean isJava16()  
      org.codehaus.plexus.compiler.CompilerResult performCompile​(org.codehaus.plexus.compiler.CompilerConfiguration config)  
      • Methods inherited from class org.codehaus.plexus.compiler.AbstractCompiler

        canUpdateTarget, getCompilerOutputStyle, getInputFileEnding, getLog, getLogger, getOutputFile, getOutputFileEnding, getPathString, getSourceFiles, getSourceFilesForSourceRoot, logCompiling, makeClassName
      • 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 Detail

      • JavacCompiler

        public JavacCompiler()
    • Method Detail

      • getCompilerId

        public java.lang.String getCompilerId()
        Specified by:
        getCompilerId in class org.codehaus.plexus.compiler.AbstractCompiler
      • 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
      • isJava16

        protected static boolean isJava16()
      • createCommandLine

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

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

        protected org.codehaus.plexus.compiler.CompilerResult compileOutOfProcess​(org.codehaus.plexus.compiler.CompilerConfiguration config,
                                                                                  java.lang.String executable,
                                                                                  java.lang.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​(java.lang.Class<?> javacClass,
                                                                                                    java.lang.String[] args)
                                                                                             throws org.codehaus.plexus.compiler.CompilerException
        Throws:
        org.codehaus.plexus.compiler.CompilerException
      • createJavacClass

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