object Dag

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Dag
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class DagResult(dags: List[Dag[Project]], missingDependencies: Map[Project, List[String]], traces: List[RecursiveTrace]) extends Product with Serializable
  2. case class InverseDependencies[T](reduced: List[T], all: List[T]) extends Product with Serializable

    Represent the result of inverseDependencies().

    Represent the result of inverseDependencies().

    reduced

    The minimal set of nodes that subsume targets.

    all

    The set of all nodes that are strictly inverse dependencies of targets.

  3. case class RecursiveTrace(visited: List[Project]) extends Product with Serializable

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. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  6. def dagFor[T](dags: List[Dag[T]], targets: Set[T]): Option[List[Dag[T]]]

    Return a list of dags that match all the targets.

    Return a list of dags that match all the targets.

    The matched dags are returned in no particular order.

    dags

    The list of all dags.

    targets

    The targets for which we want to find a dag.

    returns

    An optional value of a list of dags.

  7. def dagFor[T](dags: List[Dag[T]], target: T): Option[Dag[T]]
  8. def dfs[T](dag: Dag[T]): List[T]
  9. def directDependencies[T](dags: List[Dag[T]]): List[T]
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. def fromMap(projectsMap: Map[String, Project]): DagResult
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def inverseDependencies[T](dags: List[Dag[T]], targets: List[T]): InverseDependencies[T]
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. def reduce[T](dags: List[Dag[T]], targets: Set[T]): Set[T]

    Reduce takes a list of dags and a set of targets and outputs the smallest set of disjoint DAGs that include all the targets (transitively).

    Reduce takes a list of dags and a set of targets and outputs the smallest set of disjoint DAGs that include all the targets (transitively).

    Therefore, all the nodes in targets that have a children relationship with another node in targets will be subsumed by the latter and removed from the returned set of DAGs nodes.

    This operation is necessary to remove the repetition of a transitive action over the nodes in targets. This operation has not been tweaked for performance yet because it's unlikely we stumble upon densely populated DAGs (in the magnitude of hundreds) with tons of inter-dependencies in real-world module graphs.

    To make this operation more efficient, we may want to do indexing of transitives and then cache them in the build so that we don't have to recompute them every time.

    dags

    The forest of disjoint DAGs from which we start from.

    targets

    The targets to be deduplicated transitively.

    returns

    The smallest set of disjoint DAGs including all targets.

  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. def toDotGraph(dags: List[Dag[Project]]): String
  24. def toDotGraph[T](dag: Dag[T])(implicit Show: Show[T]): String
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. def transitive[T](dag: Dag[T]): List[Dag[T]]
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped