我正在使用 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)
Run Code Online (Sandbox Code Playgroud)
基于我在这里读到的一些内容: https ://discuss.gradle.org/t/kotlin-groovy-and-java-compilation/14903/8
但我最终得到了一个循环依赖,如下所示:
* What went wrong:
Circular dependency between the following tasks:
:demo:compileJava
\--- :demo:compileKotlin
\--- :demo:compileJava (*)
Run Code Online (Sandbox Code Playgroud)
如果我没看错的话,它看起来像是告诉我compileJava依赖于compileKotlin,但我已经明确删除了该依赖项,所以我不确定发生了什么。
| 归档时间: |
|
| 查看次数: |
577 次 |
| 最近记录: |