Solución:
Ahora https://github.com/tbroyer/gradle-apt-plugin estados:
El objetivo de este complemento era que eventualmente ya no fuera necesario, siendo reemplazado por funciones integradas. Esto se está convirtiendo en una realidad con Gradle 5.2 y IntelliJ IDEA 2019.1.
Entonces:
dependencies {
compile("com.google.dagger:dagger:2.18")
annotationProcessor("com.google.dagger:dagger-compiler:2.18")
compileOnly("com.google.auto.factory:auto-factory:1.0-beta6")
annotationProcessor("com.google.auto.factory:auto-factory:1.0-beta6")
compileOnly("org.immutables:value-annotations:2.7.1")
annotationProcessor("org.immutables:value:2.7.1")
}
compileOnly
es necesario si usa anotaciones, compile
si usas clases, annotationProcessor
introducido en Gradle 4.6.
Para habilitar el procesamiento de una tarea de compilación específica:
compileJava {
options.annotationProcessorPath = configurations.annotationProcessor
}
Deshabilitar:
compileTestJava {
options.compilerArgs += '-proc:none'
}
ACTUALIZACIÓN 2.2019
desde Gradle 5.2, hay una manera fácil de hacerlo: vea la respuesta de gavenkoas
ACTUALIZACIÓN 5.2018
La forma más fácil que conozco es usar el complemento apt-idea
Simplemente active el complemento en el build.gradle
expediente:
plugins {
id 'java'
id 'net.ltgt.apt-idea' version "0.15"
}
y luego agregue los procesadores de anotaciones al annotationProcessor
configuración:
final DAGGER_VER = '2.16'
dependencies {
implementation "com.google.dagger:dagger:${DAGGER_VER}"
annotationProcessor"com.google.dagger:dagger-compiler:${DAGGER_VER}"
}
Proyecto de prueba en GitHub: ex.dagger
(usando IntelliJ 2018.1.4, Gradle 4.7)
RESPUESTA ORIGINAL
Hay una solución simple usando el directorio principal que funciona bien en IntelliJ 2016.3.4
- Directorio de fuentes de producción:
../main
- Directorio de fuentes de prueba:
../test
Ahora gradle e IntelliJ generarán el código en los mismos directorios.
Corregido en el proyecto GitLab V0.0.2
ver también: problema # 35 de apt-gradle-plugin
Hola a todos, tuve el mismo problema y encontré una manera limpia de resolver este problema. Estoy usando dos bibliotecas que requieren procesamiento de anotaciones (Lombok y MapStruct).
Además, mi IntelliJ es 2019.1 (actualice el suyo en caso de que sea más antiguo) y Gradle 5.2.1.
Primero configuremos IntelliJ:
- Deshabilite el procesamiento de anotaciones en la configuración, ya que vamos a delegar todo a Gradle:
- Delegar acciones de IDE a Gradle:
El último paso es configurar tus dependencias correctamente en Gradle.
- Sección de dependencias en Gradle:
Ahora puede ejecutar Build and Run tanto desde la línea de comandos como desde el IDE.
¡Salud!