Gradle混合源语言集编译顺序

Gradle混合源语言集编译顺序,gradle,Gradle,我使用的是gradle,我继承了一个包含所有Java、Groovy和Kotlin的项目。我试图将项目转换为一种语言,但在此期间,我需要获得一个特定的编译顺序:首先是Java,然后是Kotlin,然后是Groovy 我想我可以在build.gradle中这样做: compileJava.dependsOn = compileJava.taskDependencies.values - 'compileKotlin' compileKotlin.dependsOn compileJava co

我使用的是gradle,我继承了一个包含所有Java、Groovy和Kotlin的项目。我试图将项目转换为一种语言,但在此期间,我需要获得一个特定的编译顺序:首先是Java,然后是Kotlin,然后是Groovy

我想我可以在build.gradle中这样做:

 compileJava.dependsOn = compileJava.taskDependencies.values - 'compileKotlin'
 compileKotlin.dependsOn compileJava
 compileGroovy.dependsOn compileKotlin
 classes.dependsOn compileGroovy
 compileGroovy.classpath += files(compileKotlin.destinationDir)
根据我在这里读到的一些东西:

但我最终得到了一个循环依赖,如下所示:

* What went wrong:
Circular dependency between the following tasks:
:demo:compileJava
     \--- :demo:compileKotlin
         \--- :demo:compileJava (*)
如果我读对了,它似乎告诉我,
compileJava
依赖于
compileKotlin
,但我已经明确删除了该依赖项,所以我不确定发生了什么