我们在项目中使用queryDSL以及它的预处理器,该预处理器为我们的实体和投影生成类。
情况是,我们有一个很大的整体应用程序,许多实体分布在各个程序包中。现在,compileJava gradle任务对generateQueryDSL有了依赖性,因此每次都重新生成类时,我们的代码会有所更改。问题是,即使我做了一些与JPA无关的小事情,它也会花费一些时间,并且会发生。这也导致我们的unitTest循环大大增加。我们只想在代码更改包含新的/更改的/删除的实体/投影的情况下将其触发。
也许有些检查,会将gradle任务标记为UP-TO-DATE?
当前的generateQueryDSL任务如下所示:
task generateQueryDSL(type: JavaCompile) {
description 'Generates the QueryDSL query types'
source = sourceSets.main.groovy
classpath = configurations.compile + configurations.compileOnly + configurations.querydslapt
options.compilerArgs = [
"-proc:only",
"-processor", "com.querydsl.apt.jpa.JPAAnnotationProcessor"
]]
destinationDir = sourceSets.generated.java.srcDirs.iterator().next()
}