izumi.distage.plugins
Members list
Type members
Classlikes
Attributes
- Companion
- object
- Supertypes
-
trait BootstrapModuletrait PluginBasetrait ModuleBasetrait CachedHashcodeclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class BootstrapPluginDef
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
BootstrapPlugin.type
Attributes
- See also
- Supertypes
-
trait BootstrapModuleDeftrait ModuleDefDSLtrait TagsDSLtrait IncludesDSLtrait AbstractBindingDefDSL[MakeDSL, MakeDSLUnnamedAfterFrom, SetDSL]trait AbstractBindingDefDSLMacro[MakeDSL]trait BootstrapPlugintrait BootstrapModuletrait PluginBasetrait ModuleBasetrait CachedHashcodeclass Objecttrait Matchableclass AnyShow all
Java properties that control the behavior of load.PluginLoader
Java properties that control the behavior of load.PluginLoader
Attributes
- See also
- Supertypes
-
trait DebugPropertiesclass Objecttrait Matchableclass Any
- Self type
-
DebugProperties.type
This macro allows distage
's compile-time checks to cooperate with Scala's incremental compilation: it forces recompilation of the macro that performs compile-time plan checking every time a PluginDef's body changes.
This macro allows distage
's compile-time checks to cooperate with Scala's incremental compilation: it forces recompilation of the macro that performs compile-time plan checking every time a PluginDef's body changes.
It does that by generating a new unique type for each compiler session and assigning it to the class that inherits PluginDef. The "change of super type" of a plugin forces recompilation of all code that references it, and specifically of the code generated by izumi.distage.framework.PlanCheckMacro.
This allows compile-time checking macro to re-run on relevant changes and provide rapid feedback during development.
Attributes
- See also
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Non-abstract class or object inheritors of PluginBase will be found on the classpath by distage-extension-plugins
scanning machinery. (izumi.distage.plugins.load.PluginLoader)
Non-abstract class or object inheritors of PluginBase will be found on the classpath by distage-extension-plugins
scanning machinery. (izumi.distage.plugins.load.PluginLoader)
Attributes
- See also
- Companion
- object
- Supertypes
-
trait ModuleBasetrait CachedHashcodeclass Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
PluginBase.type
Attributes
- Companion
- class
- Supertypes
- Self type
-
PluginConfig.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object PluginConfig
Use it to define Plugins using izumi.distage.model.definition.dsl.ModuleDefDSL syntax
Use it to define Plugins using izumi.distage.model.definition.dsl.ModuleDefDSL syntax
object MyPlugin extends PluginDef {
include(myModule[F])
make[Xa[F]].from[Xa.Impl[F]]
}
Value parameters
- recompilationToken
-
Makes compile-time checks re-run when the source code of this
PluginDef
is changed, if it's used in the checked role.
Attributes
- See also
- Note
-
Since this is an abstract class, you cannot mix it with other classes or use it as a mixin. Instead, you may inherit from PluginBase, which is a trait – but in that case compile-time checks will not re-run when the class is updated in that case. Alternatively, you may use izumi.distage.model.definition.dsl.IncludesDSL#include to compose modules as values instead of using inheritance.
- Supertypes
-
trait ModuleDeftrait ModuleDefDSLtrait TagsDSLtrait IncludesDSLtrait AbstractBindingDefDSL[MakeDSL, MakeDSLUnnamedAfterFrom, SetDSL]trait AbstractBindingDefDSLMacro[MakeDSL]trait Moduletrait PluginBasetrait ModuleBasetrait CachedHashcodeclass Objecttrait Matchableclass AnyShow all
Scan the specified package at compile-time for classes and objects that inherit PluginBase
Scan the specified package at compile-time for classes and objects that inherit PluginBase
WARN: may interact badly with incremental compilation WARN: will not find plugins defined in the current module, only those defined in dependency modules (similarly to how you cannot call Scala macros defined in the current module)
Attributes
- See also
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
StaticPluginLoader.type