Packages

abstract class RoleAppMain[F[_]] extends RoleCheckableApp[F]

Create a launcher for role-based applications by extending this in a top-level object

Example:
  1. import izumi.distage.framework.RoleAppMain
    import izumi.distage.plugins.PluginConfig
    
    object RoleLauncher extends RoleAppMain.LauncherBIO[zio.IO] {
    
      override def pluginConfig: PluginConfig = {
        PluginConfig.cached(pluginsPackage = "my.example.app.plugins")
      }
    
    }
See also

Roles

Plugins

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RoleAppMain
  2. RoleCheckableApp
  3. CheckableApp
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new RoleAppMain()(implicit tagK: TagK[F], defaultModule: DefaultModule[F], artifact: IzArtifactMaterializer)

Type Members

  1. final type AppEffectType[A] = F[A]
    Definition Classes
    RoleCheckableAppCheckableApp
  2. class PlanCheck[Cfg <: Any] extends Main[RoleAppMain.this.type, Cfg]

    Shortcut for izumi.distage.framework.PlanCheck.Main

    Shortcut for izumi.distage.framework.PlanCheck.Main

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

    same as

    object WiringTest extends PlanCheck.Main(MyApp, PlanCheckConfig(...))
    Annotations
    @open()

Abstract Value Members

  1. abstract def pluginConfig: PluginConfig
    Attributes
    protected
  2. abstract def shutdownStrategy: AppShutdownStrategy[F]
    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. implicit val artifact: IzArtifactMaterializer
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def assertAppCompileTime[Cfg <: Any](cfg: Cfg = PlanCheckConfig.empty)(implicit planCheck: PlanCheckMaterializer[RoleAppMain.this.type, Cfg]): PlanCheckMaterializer[RoleAppMain.this.type, Cfg]

  7. def bootstrapPluginConfig: PluginConfig
    Attributes
    protected
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. implicit val defaultModule: DefaultModule[F]
  10. def earlyFailureHandler(args: ArgV): AppFailureHandler
    Attributes
    protected
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. def main(args: Array[String]): Unit
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. def preparePlanCheckInput(selectedRoles: RoleSelection, chosenConfigFile: Option[String]): PlanCheckInput[F]
    Definition Classes
    RoleCheckableAppCheckableApp
  22. def requiredRoles(argv: ArgV): Vector[RawRoleParams]

    Roles always enabled in this RoleAppMain

    Roles always enabled in this RoleAppMain

    Attributes
    protected
  23. def roleAppBootModule(argv: ArgV, additionalRoles: RequiredRoles): Module

    See also

    izumi.distage.roles.RoleAppBootModule for initial values

  24. def roleAppBootModule(argv: ArgV): Module
  25. final def roleAppBootModule: Module
    Definition Classes
    RoleAppMainRoleCheckableApp
  26. final def roleAppBootModulePlanCheckOverrides(chosenRoles: RoleSelection, chosenConfigResource: Option[(ClassLoader, String)]): ModuleDef
    Attributes
    protected[this]
    Definition Classes
    RoleCheckableApp
  27. def roleAppBootOverrides(argv: ArgV): Module

    Overrides applied to roleAppBootModule

    Overrides applied to roleAppBootModule

    Attributes
    protected
    Note

    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]]
      }
    }
    See also

    izumi.distage.roles.RoleAppBootModule for initial values of roleAppBootModule

  28. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  29. implicit val tagK: TagK[F]
    Definition Classes
    RoleAppMainRoleCheckableAppCheckableApp
  30. def toString(): String
    Definition Classes
    AnyRef → Any
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from RoleCheckableApp[F]

Inherited from CheckableApp

Inherited from AnyRef

Inherited from Any

Ungrouped