ModuleResolver

io.github.matejcerny.sbtconfig.ModuleResolver

Pure resolution logic mapping a project id to a module config (D3) and merging shared + per-module settings (D4).

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def merge(shared: ProjectConfig, module: ProjectConfig, moduleKey: String): ProjectConfig

Merge shared settings with a module's settings (D4).

Merge shared settings with a module's settings (D4).

Scalars override (module orElse shared); lists append (shared ++ module); name is never inherited from shared and defaults to the module key.

Attributes

def resolveKey(id: String, keys: Set[String]): Option[String]

Resolve the module key for a project id: exact id wins, then the stripped (crossProject) id, else None.

Resolve the module key for a project id: exact id wins, then the stripped (crossProject) id, else None.

Attributes

def strip(id: String): String

Strip a trailing platform suffix (JVM/JS/Native) from a crossProject component id.

Strip a trailing platform suffix (JVM/JS/Native) from a crossProject component id.

Case-sensitive on purpose: coreJVM/coreJS/coreNative -> core, but a plain mathjs (lowercase js) is left untouched.

Attributes