ModuleUtils

mill.scalalib.internal.ModuleUtils
object ModuleUtils

Attributes

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