Init

sbt.internal.util.Init
trait Init[ScopeType]

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Classlikes

final class Compiled[A1](val key: ScopedKey[A1], val dependencies: Iterable[ScopedKey[_]], val settings: Seq[Setting[A1]])

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class Flattened(val key: ScopedKey[_], val dependencies: Iterable[ScopedKey[_]])

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
object Initialize

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait Initialize[A1]

Abstractly defines a value of type A1.

Abstractly defines a value of type A1.

Specifically it defines a node in a task graph, where the dependencies represents dependent nodes, and evaluate represents the calculation based on the existing body of knowledge.

Attributes

A1

the type of the value this defines.

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Keyed[S, A1]
trait KeyedInitialize[A1]
class ScopedKey[A]
sealed trait Keyed[S, A1] extends Initialize[A1]

An Initialize[T] associated with a ScopedKey[S].

An Initialize[T] associated with a ScopedKey[S].

Attributes

S

the type of the associated ScopedKey

T

the type of the value this Initialize defines.

Graph
Supertypes
trait Initialize[A1]
class Object
trait Matchable
class Any
Known subtypes
trait KeyedInitialize[A1]
class ScopedKey[A]
trait KeyedInitialize[A1] extends Keyed[A1, A1]

A Keyed where the type of the value and the associated ScopedKey are the same.

A Keyed where the type of the value and the associated ScopedKey are the same.

Attributes

A1

the type of both the value this Initialize defines and the type of the associated ScopedKey.

Graph
Supertypes
trait Keyed[A1, A1]
trait Initialize[A1]
class Object
trait Matchable
class Any
Known subtypes
class ScopedKey[A]
final class RuntimeUndefined(val undefined: Seq[Undefined]) extends RuntimeException

Attributes

Graph
Supertypes
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
sealed case class ScopedKey[A](scope: ScopeType, key: AttributeKey[A]) extends KeyedInitialize[A]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Keyed[A, A]
trait Initialize[A]
class Object
trait Matchable
class Any
sealed class Setting[A1] extends SettingsDefinition

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
final class SettingList(val settings: Seq[Setting[_]]) extends SettingsDefinition

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait SettingsDefinition

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Setting[A1]
final class Undefined

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
final class Uninitialized(val undefined: Seq[Undefined], val toString: String) extends Exception

Attributes

Graph
Supertypes
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any

Types

type CompiledMap = Map[ScopedKey[_], Compiled[_]]
type MapConstant = [a] => (x$1: ScopedKey[a]) => Option[a]
type MapScoped = [a] => (x$1: ScopedKey[a]) => ScopedKey[a]
type ScopeLocal = ScopedKey[_] => Seq[Setting[_]]
type SettingSeq[A] = Seq[Setting[A]]
type ValidateRef = [a] => (x$1: ScopedKey[a]) => ValidatedRef[a]
type ValidatedInit[A] = Either[Seq[Undefined], Initialize[A]]
type ValidatedRef[A] = Either[Undefined, ScopedKey[A]]

Value members

Abstract methods

The Show instance used when a detailed String needs to be generated. It is typically used when no context is available.

The Show instance used when a detailed String needs to be generated. It is typically used when no context is available.

Attributes

Concrete methods

def Undefined(defining: Setting[_], referencedKey: ScopedKey[_]): Undefined
def Uninitialized(validKeys: Seq[ScopedKey[_]], delegates: ScopeType => Seq[ScopeType], keys: Seq[Undefined], runtime: Boolean)(implicit display: Show[ScopedKey[_]]): Uninitialized
def add[A1](m: ScopedMap, s: Setting[A1]): ScopedMap
def addLocal(init: Seq[Setting[_]])(implicit scopeLocal: ScopeLocal): Seq[Setting[_]]
def ap[A1, A2](ff: Initialize[A1 => A2])(in: Initialize[A1]): Initialize[A2]
def app[K[L[x]], A2](inputs: K[Initialize])(f: K[Id] => A2)(implicit alist: AList[K]): Initialize[A2]
def append[A1](ss: Seq[Setting[A1]], s: Setting[A1]): Seq[Setting[A1]]
def asFunction[A](s: Settings[ScopeType]): ScopedKey[A] => A
def asTransform(s: Settings[ScopeType]): [A] => (x$1: ScopedKey[A]) => Id[A]
def compiled(init: Seq[Setting[_]], actual: Boolean)(using delegates: ScopeType => Seq[ScopeType], scopeLocal: ScopeLocal, display: Show[ScopedKey[_]]): CompiledMap
def definedAtString(settings: Seq[Setting[_]]): String
def delegate(sMap: ScopedMap)(implicit delegates: ScopeType => Seq[ScopeType], display: Show[ScopedKey[_]]): ScopedMap
final def derive[A1](s: Setting[A1], allowDynamic: Boolean, filter: ScopeType => Boolean, trigger: AttributeKey[_] => Boolean, default: Boolean): Setting[A1]

Constructs a derived setting that will be automatically defined in every scope where one of its dependencies is explicitly defined and the where the scope matches filter. A setting initialized with dynamic dependencies is only allowed if allowDynamic is true. Only the static dependencies are tracked, however. Dependencies on previous values do not introduce a derived setting either.

Constructs a derived setting that will be automatically defined in every scope where one of its dependencies is explicitly defined and the where the scope matches filter. A setting initialized with dynamic dependencies is only allowed if allowDynamic is true. Only the static dependencies are tracked, however. Dependencies on previous values do not introduce a derived setting either.

Attributes

def deriveAllowed[T](s: Setting[T], allowDynamic: Boolean): Option[String]
def empty(implicit delegates: ScopeType => Seq[ScopeType]): Settings[ScopeType]
def flatMap[A1, A2](in: Initialize[A1])(f: A1 => Initialize[A2]): Initialize[A2]
def flattenLocals(compiled: CompiledMap): Map[ScopedKey[_], Flattened]
def getValue[T](s: Settings[ScopeType], k: ScopedKey[T]): T
def grouped(init: Seq[Setting[_]]): ScopedMap
def guessIntendedScope(validKeys: Seq[ScopedKey[_]], delegates: ScopeType => Seq[ScopeType], key: ScopedKey[_]): Option[ScopedKey[_]]
def makeWithCompiledMap(init: Seq[Setting[_]])(using delegates: ScopeType => Seq[ScopeType], scopeLocal: ScopeLocal, display: Show[ScopedKey[_]]): (CompiledMap, Settings[ScopeType])
def map[A1, A2](in: Initialize[A1])(f: A1 => A2): Initialize[A2]
def mapScope(f: ScopeType => ScopeType): MapScoped
def optional[A1, A2](i: Initialize[A1])(f: Option[A1] => A2): Initialize[A2]
def pure[A1](value: () => A1): Initialize[A1]
def refinedDistance(delegates: ScopeType => Seq[ScopeType], a: ScopedKey[_], b: ScopedKey[_]): Option[Int]
def setting[A1](key: ScopedKey[A1], init: Initialize[A1], pos: SourcePosition): Setting[A1]
def showUndefined(u: Undefined, validKeys: Seq[ScopedKey[_]], delegates: ScopeType => Seq[ScopeType])(implicit display: Show[ScopedKey[_]]): String
def sort(cMap: CompiledMap): Seq[Compiled[_]]
def uniform[A1, A2](inputs: Seq[Initialize[A1]])(f: Seq[A1] => A2): Initialize[A2]
def update[A1](key: ScopedKey[A1])(f: A1 => A1): Setting[A1]
def value[A1](value: => A1): Initialize[A1]
def valueStrict[A1](value: A1): Initialize[A1]

Deprecated methods

def make(init: Seq[Setting[_]])(using delegates: ScopeType => Seq[ScopeType], scopeLocal: ScopeLocal, display: Show[ScopedKey[_]]): Settings[ScopeType]

Attributes

Deprecated
true

Concrete fields

lazy val capturedTransformations: Initialize[[x] => (x$1: Initialize[x]) => Initialize[x]]

The result of this initialization is the composition of applied transformations. This can be useful when dealing with dynamic Initialize values.

The result of this initialization is the composition of applied transformations. This can be useful when dealing with dynamic Initialize values.

Attributes

Extensions

Extensions

extension (f: [x] => (x$1: ValidatedInit[x]) => Initialize[x])
def composeVI(g: [x] => (x$1: Initialize[x]) => ValidatedInit[x]): [x] => (x$1: Initialize[x]) => Initialize[x]
extension (f: [x] => (x$1: Initialize[x]) => Initialize[x])
def (g: [x] => (x$1: Initialize[x]) => Initialize[x]): [x] => (x$1: Initialize[x]) => Initialize[x]