Gradle混合源语言集编译顺序
我使用的是gradle,我继承了一个包含所有Java、Groovy和Kotlin的项目。我试图将项目转换为一种语言,但在此期间,我需要获得一个特定的编译顺序:首先是Java,然后是Kotlin,然后是Groovy 我想我可以在build.gradle中这样做:Gradle混合源语言集编译顺序,gradle,Gradle,我使用的是gradle,我继承了一个包含所有Java、Groovy和Kotlin的项目。我试图将项目转换为一种语言,但在此期间,我需要获得一个特定的编译顺序:首先是Java,然后是Kotlin,然后是Groovy 我想我可以在build.gradle中这样做: compileJava.dependsOn = compileJava.taskDependencies.values - 'compileKotlin' compileKotlin.dependsOn compileJava co
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
,但我已经明确删除了该依赖项,所以我不确定发生了什么