如何正确检测是否需要生成实体?

时间:2019-01-17 16:22:25

标签: java gradle querydsl

我们在项目中使用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()
}

0 个答案:

没有答案