Saltar al contenido

Procesador de anotaciones en IntelliJ y Gradle

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:

  1. Deshabilite el procesamiento de anotaciones en la configuración, ya que vamos a delegar todo a Gradle:

ingrese la descripción de la imagen aquí

  1. Delegar acciones de IDE a Gradle:

ingrese la descripción de la imagen aquí

El último paso es configurar tus dependencias correctamente en Gradle.

  1. Sección de dependencias en Gradle:

ingrese la descripción de la imagen aquí

Ahora puede ejecutar Build and Run tanto desde la línea de comandos como desde el IDE.

¡Salud!

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *