This sample Android project demonstrates:
- Generating Kotlin code though an annotation processor.
- Feeding that generated code into a second round of annotation processing by putting it into a Gradle module and consuming it into another one.
- Testing that a second round of processing has happened. In this case Dagger 2 (used as an example) is consuming the previously generated code to generate additional classes.