Class CompilerJavac
- java.lang.Object
-
- io.github.mkoncek.classpathless.impl.CompilerJavac
-
- All Implemented Interfaces:
ClasspathlessCompiler
public class CompilerJavac extends java.lang.Object implements ClasspathlessCompiler
An implementation using javax.tools compiler API
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.github.mkoncek.classpathless.api.ClasspathlessCompiler
ClasspathlessCompiler.Arguments
-
-
Field Summary
Fields Modifier and Type Field Description private ClasspathlessCompiler.Arguments
arguments
private javax.tools.JavaCompiler
compiler
-
Constructor Summary
Constructors Constructor Description CompilerJavac()
CompilerJavac(ClasspathlessCompiler.Arguments arguments)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Collection<IdentifiedBytecode>
compileClass(ClassesProvider classesProvider, java.util.Optional<MessagesListener> messagesConsumer, IdentifiedSource... javaSourceFiles)
private static ClassIdentifier
getIdentifier(javax.tools.JavaFileObject object)
-
-
-
Field Detail
-
compiler
private javax.tools.JavaCompiler compiler
-
arguments
private ClasspathlessCompiler.Arguments arguments
-
-
Constructor Detail
-
CompilerJavac
public CompilerJavac(ClasspathlessCompiler.Arguments arguments)
-
CompilerJavac
public CompilerJavac()
-
-
Method Detail
-
getIdentifier
private static ClassIdentifier getIdentifier(javax.tools.JavaFileObject object)
-
compileClass
public java.util.Collection<IdentifiedBytecode> compileClass(ClassesProvider classesProvider, java.util.Optional<MessagesListener> messagesConsumer, IdentifiedSource... javaSourceFiles)
- Specified by:
compileClass
in interfaceClasspathlessCompiler
- Parameters:
classesProvider
- Provider for missing elements on the classpath.messagesConsumer
- Accepts any diagnostic or logging information from the compiler.javaSourceFiles
- Files to compile.- Returns:
- Compiled bytecode of all javaSourceFiles.
-
-