izumi.distage.framework
Members list
Type members
Classlikes
Represents distage
apps that can be checked by izumi.distage.framework.PlanCheck at compile-time.
CheckableApp
must be inherited in a top-level object to be usable with PlanCheck
Represents distage
apps that can be checked by izumi.distage.framework.PlanCheck at compile-time.
CheckableApp
must be inherited in a top-level object to be usable with PlanCheck
Role-based applications automatically inherit from RoleCheckableApp and can be checked out of the box.
Apps assembled directly using distage-core
's distage.Injector
will need to implement the interface manually,
using CoreCheckableApp or CoreCheckableAppSimple
Attributes
- See also:
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class CoreCheckableApp[F]class CoreCheckableAppSimple[F]class RoleCheckableApp[F]class RoleAppMain[F]class LauncherBIO[F]class LauncherCats[F]class LauncherIdentity
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- CheckableApp.type
Attributes
- Graph
- Supertypes
- Known subtypes
- class CoreCheckableAppSimple[F]
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- trait DebugPropertiesclass Objecttrait Matchableclass Any
- Self type
- DebugProperties.type
API for performing compile-time and runtime checks of correctness for distage
applications.
API for performing compile-time and runtime checks of correctness for distage
applications.
The easiest way to add compile-time safety to your application is to add an object inheriting PlanCheck.Main in test scope of the same module where you define your Role Launcher
Attributes
- See also:
- Example:
import izumi.distage.framework.PlanCheck import com.example.myapp.MainLauncher object WiringCheck extends PlanCheck.Main(MainLauncher)
This object will emit compile-time errors for any issues or omissions in your
ModuleDefs
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- PlanCheck.type
Options to alter the behavior of izumi.distage.framework.PlanCheck
Options to alter the behavior of izumi.distage.framework.PlanCheck
Attributes
- checkConfig
Try to parse config file checking all the config bindings added using izumi.distage.config.ConfigModuleDef. Default:
true
- config
Config resource file name, e.g. "application.conf" or "*" if using the same config settings as
roleAppMain
- excludeActivations
"repo:dummy" to ignore missing implementations or other issues in
repo:dummy
axis choice. "repo:dummy | scene:managed" to ignore missing implementations or other issues inrepo:dummy
axis choice and inscene:managed
axis choice. "repo:dummy mode:test | scene:managed" to ignore missing implementations or other issues inrepo:dummy mode:test
activation and inscene:managed
activation. This will ignore parts of the graph accessible through these activations and larger activations that include them. That is, anything involvingscene:managed
or the combination of bothrepo:dummy mode:test
will not be checked. but activationsrepo:prod mode:test scene:provided
andrepo:dummy mode:prod scene:provided
are not excluded and will be checked. Allows the check to pass even if some axis choices or combinations of choices are (wilfully) left invalid, e.g. if you do haverepo:prod
components, but no counterpartrepo:dummy
components, and don't want to add them, then you may exclude "repo:dummy" from being checked.- onlyWarn
Do not abort compilation when errors are found, just print a warning instead. Does not affect plan checks performed at runtime. Default:
false
- printBindings
Print all the bindings loaded from plugins when a problem is found during plan checking. Default:
false
- roles
"" to check all roles, "role1 role2" to check specific roles, " -role1 -role2" to check all roles except specific roles.
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
Attributes
- Companion:
- class
- Graph
- Supertypes
- trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
- PlanCheckConfig.type
This implicit performs a compile-time check for a given distage
-based App
when materialized.
This implicit performs a compile-time check for a given distage
-based App
when materialized.
The reason to use an implicit macro for this, instead of a direct def-macro is because
implicit macros are more compositional – you may write new functions using the implicit without writing new macros,
by contrast macros can only be composed inside new macros – and this in turn requires separating them into different
sbt
modules.
Attributes
- AppMain
The application to check, this should be a static object, most often a
main
object inherited from izumi.distage.roles.RoleAppMain- Cfg
Additional configuration options for compile-time checker
- See also:
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
Attributes
- Companion:
- class
- Graph
- Supertypes
- trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
Attributes
- Graph
- Supertypes
- Known subtypes