Package-level declarations

Types

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class MergeInterfaces(val scope: KClass<*>, val exclude: Array<KClass<*>> = [])

Marks an interface to merge all contributed component interfaces for the given scope. This is a subset of what MergeComponent and MergeSubcomponent are doing.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class MergeModules(val scope: KClass<*>, val includes: Array<KClass<*>> = [], val subcomponents: Array<KClass<*>> = [], val exclude: Array<KClass<*>> = [])

Marks a Dagger module to merge all contributed Dagger modules for the given scope. This is a subset of what MergeComponent and MergeSubcomponent are doing. Use this annotation instead of @Module in your module. The Kotlin compiler plugin will add the @Module annotation to this class. The parameters includes and subcomponents are preserved in the @Module annotation.