Android sample project demonstrating how to generate Kotlin code through annotation processing, and then feeding it into a second round of annotation processing.
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.