ModuleUtils

mill.scalalib.internal.ModuleUtils
object ModuleUtils

Attributes

Source
ModuleUtils.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

@Scaladoc(value = "/**\n * Find all dependencies.\n * The result contains `start` and all its transitive dependencies provided by `deps`,\n * but does not contain duplicates.\n * If it detects a cycle, it throws an exception with a meaningful message containing the cycle trace.\n * @param name The nane is used in the exception message only\n * @param start the start element\n * @param deps A function provided the direct dependencies\n * @throws BuildScriptException if there were cycles in the dependencies\n */")
def recursive[T](name: String, start: T, deps: T => Seq[T]): Seq[T]

Find all dependencies. The result contains start and all its transitive dependencies provided by deps, but does not contain duplicates. If it detects a cycle, it throws an exception with a meaningful message containing the cycle trace.

Find all dependencies. The result contains start and all its transitive dependencies provided by deps, but does not contain duplicates. If it detects a cycle, it throws an exception with a meaningful message containing the cycle trace.

Value parameters

deps

A function provided the direct dependencies

name

The nane is used in the exception message only

start

the start element

Attributes

Throws
BuildScriptException

if there were cycles in the dependencies

Source
ModuleUtils.scala