Я мигрирую из Maven в Gradle, и у меня проблема с сгенерированными источниками. Вот build.gradle
одного из подпроектов
plugins {
id 'war'
id 'net.ltgt.apt-idea' version '0.15'
}
dependencies {
...
compileOnly 'com.querydsl:querydsl-apt:4.2.1:jpa'
compileOnly 'org.hibernate:hibernate-jpamodelgen:1.3.0.Final'
}
def generatedSources = "${buildDir}/generated/source/apt/main"
def generatedOutputDir = file("$generatedSources")
task generateSources(type: JavaCompile, group: 'build') {
doFirst {
generatedOutputDir.exists() || generatedOutputDir.mkdirs()
sourceSets.main.java.srcDirs = ["${generatedSources}", 'src/main/java']
}
options.compilerArgs += [
'-processor', '-proc:none',
'org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor,' +
'com.querydsl.apt.jpa.JPAAnnotationProcessor',
'-AaddSuppressWarningsAnnotation=true',
'-Aquerydsl.entityAccessors=true',
'-s', "${generatedSources}"
]
}
compileJava.finalizedBy generateSources
Классы сгенерированы правильно, но сразу после генерации я получаю ошибку "не найден подходящий метод для ..."
В основном, компиляция завершается неудачно, потому что сгенерированные классы не учитываются на этапе компиляции.
С finalizedBy
Я был почти уверен, что это сработает, но нет ..
Любые идеи по как еще можно заставить генерацию классов работать до фазы compileJava
?