A diagnostics listener that feeds all messages into the given reporter.
An implementation of compiling java which forks a Javac instance.
A parser that is able to parse java's error output successfully.
A wrapper around xsbti.Position so we can pass in Java input.
A wrapper around xsbti.Problem with java-specific options.
An adapted process logger which can feed semantic error events from Javac as well as just dump logs.
An implementation of compiling java which delegates to the JVM resident java compiler.
Implementation of javadoc tool which attempts to run it locally (in-class).
Track write calls through customized file manager.
Helper methods for running the java toolchain by forking.
Factory methods for constructing a java compiler.
A position which has no information, because there is none.
Factory methods for getting a java toolchain.
Factory methods for constructing a javadoc.
Helper methods for trying to run the java toolchain out of our own classloaders.
Track write calls through customized file manager.
NB: overriding
getJavaFileForOutput
takes care of.class
file generation, which is the most part.getFileForOutput
used by annotation processor for writing resources, however, cannot be overridden because of a javac sdk limitation. In jdk8 it has a hard coded check ofcom.sun.tools.javac.file.RegularFileObject instanceof com.sun.tools.javac.file.BaseFileObject
so if we wrapRegularFileObject
withForwardingFileObject
would fail the check.