final case class CompileBundle(project: Project, classpath: Array[AbsolutePath], 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. 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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CompileBundle
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CompileBundle(project: Project, classpath: Array[AbsolutePath], javaSources: List[AbsolutePath], scalaSources: List[AbsolutePath])

    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.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val classpath: Array[AbsolutePath]
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(other: Any): Boolean
    Definition Classes
    CompileBundle → Equals → AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. val hashCode: Int
    Definition Classes
    CompileBundle → AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. val isJavaOnly: Boolean
  14. val javaSources: List[AbsolutePath]
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. val project: Project
  19. val scalaSources: List[AbsolutePath]
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toSourcesAndInstance: Either[Result, CompileSourcesAndInstance]
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped