La clase generada para Component of Dagger 2 no se encuentra en compileTestJava del complemento Java de Gradle

Bueno, estoy migrando mi proyecto de Android para usar la Clean Architecure:

Https://github.com/android10/Android-CleanArchitecture

Esto significa que parte de mi código está dentro del módulo de dominio (Java puro, sin dependencia con Android). Para este proyecto, estoy usando Dagger 2, que genera la fuente utilizando el procesador de anotación (durante el tiempo de compilación).

Tengo la siguiente configuración de Gradle para mi proyecto:

apply plugin: 'java' sourceCompatibility = 1.7 targetCompatibility = 1.7 configurations { provided } sourceSets { main { compileClasspath += configurations.provided runtimeClasspath += configurations.provided } test { compileClasspath += configurations.provided runtimeClasspath += configurations.provided } } dependencies { def domainDependencies = rootProject.ext.domainDependencies def domainTestDependencies = rootProject.ext.domainTestDependencies provided domainDependencies.daggerCompiler provided domainDependencies.javaxAnnotation compile domainDependencies.dagger compile domainDependencies.rxJava compile domainDependencies.joda testCompile domainTestDependencies.junit testCompile domainTestDependencies.assertJ testCompile domainTestDependencies.mockito testCompile domainTestDependencies.jMockLegacy testCompile domainTestDependencies.commonsCsv } 

En mi fuente de prueba, creé la interfaz TestComponent y la Dagger se supone para generar el DaggerTestComponent. Cuando intento construir mi proyecto ya sea a través de línea de comandos o Android Studio, recibo errores de compilación de no se puede encontrar símbolo y luego: La ejecución falló para la tarea ': domain: compileTestJava' .

Traté de cambiar el 'proporcionado' con 'compilar' y 'testCompile'. Todavía no funciona.

Lo que es extraño es que, después del fallo de la compilaciónTestJava, puedo encontrar el DaggerTestComponent.java generado en domain / build / classes / test . Por lo tanto, si se está generando, ¿por qué estoy recibiendo este error de compilación?

Es importante tener en cuenta que este problema sólo ocurre en la fuente de prueba. He generado la fuente de Daga 2 que se utiliza en la fuente principal.

ACTUALIZAR:

Comenté cada lugar que estaba tratando de usar el DaggerTestComponent y trató de construir de nuevo. En el dominio / build / classes / test , ahora puedo encontrar no solo el DaggerTestComponent.java sino también el .class resultante de la compilación. Por lo tanto, está generando el archivo de origen y compilándolo. ¿Por qué no funciona la compilación de archivos que lo utilizan? Parece que algún problema de orden, como la fuente generada no está listo todavía en el momento de la compilación de las otras fuentes.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.