object Dag
- Alphabetic
- By Inheritance
- Dag
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- class RecursiveCycle extends Exception
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
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.
- def dagFor[T](dags: List[Dag[T]], target: T): Option[Dag[T]]
- def dfs[T](dag: Dag[T]): List[T]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def fromMap(projectsMap: Map[String, Project]): List[Dag[Project]]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
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 intargets
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.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def toDotGraph(dags: List[Dag[Project]]): String
- def toDotGraph[T](dag: Dag[T])(implicit Show: Show[T]): String
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- def transitive[T](dag: Dag[T]): List[Dag[T]]
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )