p

bloop.engine.tasks

compilation

package compilation

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait CompileBundle extends AnyRef
  2. case class CompileDependenciesData(dependencyClasspath: Array[AbsolutePath], dependentResults: Map[File, PreviousResult], allInvalidatedClassFiles: Set[File], allGeneratedClassFilePaths: Map[String, File]) extends Product with Serializable
  3. sealed trait CompileResult[+R] extends AnyRef
  4. case class CompileSourcesAndInstance(sources: List[AbsolutePath], instance: ScalaInstance, javaOnly: Boolean) extends Product with Serializable
  5. sealed trait FinalCompileResult extends CompileResult[ResultBundle]
  6. case class FinalNormalCompileResult extends FinalCompileResult with CacheHashCode with Product with Serializable
  7. sealed trait PartialCompileResult extends CompileResult[Task[ResultBundle]]
  8. case class PartialFailure(project: Project, exception: Throwable, result: Task[ResultBundle]) extends PartialCompileResult with CacheHashCode with Product with Serializable
  9. case class PartialFailures(failures: List[PartialCompileResult], result: Task[ResultBundle]) extends PartialCompileResult with CacheHashCode with Product with Serializable
  10. case class PartialSuccess(bundle: SuccessfulCompileBundle, pipeliningResults: Option[PipelineResults], result: Task[ResultBundle]) extends PartialCompileResult with CacheHashCode with Product with Serializable
  11. case class PipelineResults(signatures: Array[Signature], definedMacros: Array[String], productsWhenCompilationIsFinished: Promise[Option[CompileProducts]], isJavaCompilationFinished: Promise[Unit], shouldAttemptJavaCompilation: Task[JavaSignal]) extends Product with Serializable
  12. final class PipeliningOracle extends CompilerOracle

    <invalid inheritdoc annotation>

  13. case class ResultBundle(fromCompiler: Result, successful: Option[LastSuccessfulResult], previous: Option[LastSuccessfulResult], runningBackgroundTasks: CancelableFuture[Unit]) extends Product with Serializable

    Defines a result that aggregates several compilation outputs together.

    Defines a result that aggregates several compilation outputs together.

    fromCompiler

    The compiler result we got directly from Zinc compiler APIs.

    successful

    The result created when a compilation is successful, empty otherwise. When successful, it will be used by future compilations.

    previous

    The last successful result used as the basis to trigger a new compile. If the compile is successful it'll produce successful.

    runningBackgroundTasks

    Tasks running in the background and that must be blocked on for compiler correctness reasons.

  14. final class SimpleOracle extends CompilerOracle
  15. final case class SuccessfulCompileBundle(project: Project, clientClassesDir: AbsolutePath, dependenciesData: CompileDependenciesData, javaSources: List[AbsolutePath], scalaSources: List[AbsolutePath], uniqueInputs: UniqueCompileInputs, cancelCompilation: Promise[Unit], reporter: ObservedReporter, logger: ObservedLogger[Logger], mirror: Observable[Either[ReporterAction, LoggerAction]], lastSuccessful: LastSuccessfulResult, latestResult: Result, tracer: BraveTracer) extends CompileBundle with 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.CompileTask 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 when enabled.

    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.CompileTask). 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 pose any problem given that the rest of the members of a bundle are derived from a project.

    project

    The project to compile.

    clientClassesDir

    The external client-owned classes directory.

    dependenciesData

    An entity that abstract over all the data of dependent projects, which is required to create a full classpath.

    javaSources

    A list of Java sources in the project.

    scalaSources

    A list of Scala sources in the project.

    cancelCompilation

    A promise that can be completed to cancel the compilation.

    reporter

    A reporter instance that will register every reporter action produced by the compilation started by this compile bundle.

    logger

    A logger instance that will register every logger action produced by the compilation started by this compile bundle.

    mirror

    An observable that contains all reporter and logger actions.

    lastSuccessful

    An instance of the last successful result. CompileGraph will replace the default empty result with the most recent successful result that needs to be used for the compilation.

    latestResult

    The latest result registered by the client. Required because the reporting of diagnostics might be stateful (BSP diagnostics reporting is, for example) and some of the state is contain in this result.

Value Members

  1. object CancelledCompileBundle extends CompileBundle with Product with Serializable

    Define a compile bundle whose computation was cancelled by the task engine.

    Define a compile bundle whose computation was cancelled by the task engine.

    This value is returned whenever any of the tasks required to compute the successful bundle have been cancelled by the task engine. This value signals the compile scheduler logic that the compilation should be aborted.

  2. object CompileBundle
  3. object CompileDefinitions
  4. object CompileDependenciesData extends Serializable
  5. object CompileGatekeeper
  6. object CompileGraph
  7. object CompilerPluginWhitelist
  8. object FinalCompileResult
  9. object FinalEmptyResult extends FinalCompileResult with Product with Serializable
  10. object FinalNormalCompileResult extends Serializable
  11. object PartialCompileResult
  12. object PartialEmpty extends PartialCompileResult with Product with Serializable
  13. object PipeliningOracle
  14. object ResultBundle extends Serializable

Ungrouped