Create HasModules interface for modules with transitive submodules
Transitive dependencies require separate transitive() call on the module
Move required(), optional() and inject() out of Injects<M> into extension functions to avoid multiple submodules clashing on common methods in one root module delegation
HasModules
interface for modules with transitive submodulestransitive()
call on the modulerequired()
,optional()
andinject()
out ofInjects<M>
into extension functions to avoid multiple submodules clashing on common methods in one root module delegation