LauncherBIO

izumi.distage.roles.RoleAppMain.LauncherBIO
abstract class LauncherBIO[F[_, _]](implicit evidence$1: Tag[F], evidence$2: DefaultModule2[F], artifact: IzArtifactMaterializer) extends RoleAppMain[[_] =>> F[Throwable, _$8]]

Attributes

Graph
Supertypes
class RoleAppMain[[_] =>> F[Throwable, _$8]]
class RoleCheckableApp[[_] =>> F[Throwable, _$8]]
trait CheckableApp
class Object
trait Matchable
class Any
Show all

Members list

Type members

Inherited classlikes

open class PlanCheck[Cfg <: Any](cfg: Cfg = ...)(implicit planCheck: PlanCheckMaterializer[RoleAppMain.this.type, Cfg]) extends Main[this.type, Cfg]

Shortcut for izumi.distage.framework.PlanCheck.Main

object WiringTest extends MyApp.PlanCheck(PlanCheckConfig(...))

same as

object WiringTest extends PlanCheck.Main(MyApp, PlanCheckConfig(...))

Attributes

Inherited from:
RoleAppMain
Supertypes
class Main[RoleAppMain.this.type, Cfg]
class Object
trait Matchable
class Any
class SpecificResourceConfigLoader(val classLoader: ClassLoader, val resourceName: String) extends ConfigLoader

Attributes

Inherited from:
RoleCheckableApp
Supertypes
trait ConfigLoader
class Object
trait Matchable
class Any

Inherited types

final override type AppEffectType[A] = [_] =>> F[Throwable, _$8][A]

Attributes

Inherited from:
RoleCheckableApp

Value members

Concrete methods

override protected def roleAppBootOverrides(argv: ArgV): Module

Overrides applied to roleAppBootModule

Overrides applied to roleAppBootModule

Attributes

See also
Note

Role App Bootstrap always runs under Identity, other effects (cats.effect.IO, zio.IO) are not available at this stage.

The components added here are visible during the creation of the app, but not inside the app, to override components inside the app, use pluginConfig & izumi.distage.plugins.PluginConfig#overriddenBy:

     override def pluginConfig: PluginConfig = {
       super.pluginConfig overriddenBy new PluginDef {
         make[MyComponentX]]
       }
     }
Definition Classes

Inherited methods

def assertAppCompileTime[Cfg <: Any](cfg: Cfg = ...)(implicit planCheck: PlanCheckMaterializer[this.type, Cfg]): PlanCheckMaterializer[this.type, Cfg]
def customCheck(planVerifier: PlanVerifier, excludedActivations: Set[NESet[AxisPoint]], checkConfig: Boolean, planCheckInput: PlanCheckInput[AppEffectType]): PlanVerifierResult

Override this to execute additional arbitrary user-defined checks at compile-time (or runtime via PlanCheck.runtime)

Override this to execute additional arbitrary user-defined checks at compile-time (or runtime via PlanCheck.runtime)

Attributes

Throws
Throwable

You may throw a custom exception if your check error is not describable by izumi.distage.model.planning.PlanIssue

Inherited from:
CheckableApp
def main(args: Array[String]): MainEffect[Unit]

Attributes

Inherited from:
RoleAppMain
override def preparePlanCheckInput(selectedRoles: RoleSelection, chosenConfigFile: Option[String]): PlanCheckInput[[_] =>> F[Throwable, _$8]]

Attributes

Definition Classes
Inherited from:
RoleCheckableApp
def replLocator(args: String*)(implicit F: QuasiIO[[_] =>> F[Throwable, _$8]]): [_] =>> F[Throwable, _$8][Locator]

Create an object graph for inspection in the REPL:

Create an object graph for inspection in the REPL:

scala> val graph = Launcher.replLocator("-u", "mode:test", ":role1")
val graph: izumi.fundamentals.platform.functional.Identity[izumi.distage.model.Locator] = izumi.distage.LocatorDefaultImpl@6f6a2ac8

scala> val testObj = graph.get[Hello]
val testObj: example.Hellower = example.Hellower@25109d84

scala> testObj.hello("test")
Hello test!

Attributes

Note

All resources will be leaked. Use replLocatorWithClose if you need resource cleanup within a REPL session.

Inherited from:
RoleAppMain
def replLocatorWithClose(args: String*)(implicit F: QuasiIO[[_] =>> F[Throwable, _$8]]): [_] =>> F[Throwable, _$8][(Locator, () => [_] =>> F[Throwable, _$8][Unit])]

Attributes

Inherited from:
RoleAppMain
def roleAppBootModule(argv: ArgV, additionalRoles: RequiredRoles, crashLogRouterRef: Option[CrashLogRouterRef]): Module

Attributes

See also
Inherited from:
RoleAppMain
final def roleAppBootModule(argv: ArgV): Module

Attributes

Inherited from:
RoleAppMain
final override def roleAppBootModule: Module

Attributes

Definition Classes
Inherited from:
RoleAppMain
final protected def roleAppBootModulePlanCheckOverrides(chosenRoles: RoleSelection, chosenConfigResource: Option[(ClassLoader, String)]): ModuleDef

Attributes

Inherited from:
RoleCheckableApp

Implicits

Inherited implicits

implicit val defaultModule: DefaultModule[[_] =>> F[Throwable, _$8]]

Attributes

Inherited from:
RoleAppMain
implicit override val tagK: Tag[[_] =>> F[Throwable, _$8]]

Attributes

Inherited from:
RoleAppMain