package compilation
- Alphabetic
- Public
- All
Type Members
-
final
case class
CompileBundle(project: Project, javaSources: List[AbsolutePath], scalaSources: List[AbsolutePath]) extends Product with Serializable
Define a bundle of high-level information about a project that is going to be compiled.
Define a bundle of high-level information about a project that is going to be compiled. It packs several derived data from the project and makes it available both to the implementation of compile in bloop.engine.tasks.CompilationTask and the logic that runs the compile graph. The latter needs information about Java and Scala sources to appropriately (and efficiently) do build pipelining in mixed Java and Scala setups.
A CompileBundle has the same hashCode() and equals() than Project for performance reasons. CompileBundle is a class that is heavily used in the guts of the compilation logic (namely CompileGraph and bloop.engine.tasks.CompilationTask). Because these classes depend on a fast hashCode() to cache dags and other instances that contain bundles, our implementation of hashCode() is as fast as the hash code of a project, which is cached. Using
project
's hash code does not poses any problem given that the rest of the members of a bundle are derived from a project.- project
The project we want to compile.
- javaSources
The found java sources in the file system.
- scalaSources
The found scala sources in the file system.
- sealed trait CompileResult[+R] extends AnyRef
- case class CompileSourcesAndInstance(sources: List[AbsolutePath], instance: ScalaInstance, javaOnly: Boolean) extends Product with Serializable
- sealed trait FinalCompileResult extends CompileResult[Result]
- case class FinalNormalCompileResult extends FinalCompileResult with CacheHashCode with Product with Serializable
- sealed trait PartialCompileResult extends CompileResult[Task[Result]]
- case class PartialFailure(bundle: CompileBundle, exception: Throwable, result: Task[Result]) extends PartialCompileResult with CacheHashCode with Product with Serializable
- case class PartialFailures(failures: List[PartialCompileResult], result: Task[Result]) extends PartialCompileResult with CacheHashCode with Product with Serializable
- case class PartialSuccess(bundle: CompileBundle, store: IRStore, completeJava: CompletableFuture[Unit], javaTrigger: Task[JavaSignal], result: Task[Result]) extends PartialCompileResult with CacheHashCode with Product with Serializable
Value Members
- object CompileBundle extends Serializable
- object CompileGraph
- object FinalCompileResult
- object FinalEmptyResult extends FinalCompileResult with Product with Serializable
- object PartialCompileResult
- object PartialEmpty extends PartialCompileResult with Product with Serializable