izumi.distage.framework
Members list
Packages
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
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class CoreCheckableApp[F]class CoreCheckableAppSimple[F]class RoleCheckableApp[F]class RoleAppMain[F]class LauncherBIO[F]class LauncherIdentityShow all
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CheckableApp.type
Attributes
- Supertypes
- Known subtypes
-
class CoreCheckableAppSimple[F]
Attributes
- Supertypes
Attributes
- Supertypes
- 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 - 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
Value parameters
- 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:dummyaxis choice. "repo:dummy | scene:managed" to ignore missing implementations or other issues inrepo:dummyaxis choice and inscene:managedaxis choice. "repo:dummy mode:test | scene:managed" to ignore missing implementations or other issues inrepo:dummy mode:testactivation and inscene:managedactivation. This will ignore parts of the graph accessible through these activations and larger activations that include them. That is, anything involvingscene:managedor the combination of bothrepo:dummy mode:testwill not be checked. but activationsrepo:prod mode:test scene:providedandrepo:dummy mode:prod scene:providedare 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:prodcomponents, but no counterpartrepo:dummycomponents, 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.
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- 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.
Type parameters
- AppMain
-
The application to check, this should be a static object, most often a
mainobject inherited from izumi.distage.roles.RoleAppMain - Cfg
-
Additional configuration options for compile-time checker
Attributes
- See also
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
Attributes
- Supertypes
- Known subtypes