Posted on Leave a comment

Multiple modules with Moxy

https://gist.github.com/ekursakov/b8ffe396ae4e00a5400f7f4e3d546f9a

In order to add support for multiple modules:

  1. Add moxy-compiler dependency to each module that uses Moxy.
  2. In each library/subproject that uses a Moxy, you must add an annotation processor argument moxyReflectorPackage.
    For built-in annotationProcessor from gradle android plugin 2.2+:

    [code language=”groovy”]
    android {

    defaultConfig {

    javaCompileOptions {
    annotationProcessorOptions {
    arguments = [ moxyReflectorPackage : ‘some.unique.package.name’ ]
    }
    }
    }

    }
    [/code]

    For Kotlin with kapt:

    [code language=”groovy”]
    kapt {

    arguments {
    arg("moxyReflectorPackage", "some.unique.package.name")
    }
    }
    [/code]

  3. In application module you must add annotation @RegisterMoxyReflectorPackages to any class (for example application class) and pass all packages that were set in library modules, like this:

    [code language=”groovy”]
    @RegisterMoxyReflectorPackages({"some.unique.package.name.library1", "some.unique.package.name.library2"})
    public class MyApplication extends Application {

    [/code]

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.