Skip to content

Multiple modules

Yuri Shmakov edited this page May 24, 2017 · 2 revisions

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+:
    android {
        ...
        defaultConfig {
            ...
            javaCompileOptions {
                annotationProcessorOptions {
                    arguments = [ moxyReflectorPackage : 'some.unique.package.name' ]
                }
            }
        }
        ...
    }
    For Kotlin with kapt:
    kapt {
        ...
        arguments {
            arg("moxyReflectorPackage", "some.unique.package.name")
        }
    }
  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:
    @RegisterMoxyReflectorPackages({"some.unique.package.name.library1", "some.unique.package.name.library2"})
    public class MyApplication extends Application {
    ...