testCompiler任务之间的循环依赖

时间:2016-09-30 16:22:01

标签: gradle

我有三个用于scala,groovy和Java的测试文件夹。

在Java中,我有一个与Groovy有依赖关系的类,在Groovy中我有一个与Scala有依赖关系的类。

所以我在gradle构建文件中添加了这个依赖关系:

 compileTestGroovy.dependsOn compileTestScala
 compileTestJava.dependsOn compileTestGroovy

但我在Gradle上收到此错误

   Circular dependency between the following tasks:
:compileTestGroovy
+--- :compileTestJava
|    \--- :compileTestGroovy (*)
\--- :compileTestScala
     \--- :compileTestJava (*)

(*) - details omitted (listed previously)

知道我做错了吗?

此致

1 个答案:

答案 0 :(得分:2)

您需要使用joint compilation,这实际上意味着您需要将来源放在一起。来自文档:

  

[...]可以处理Groovy代码,混合Groovy和Java代码,甚至   纯Java代码(虽然我们不一定建议使用它   后者)。该插件支持联合编译,允许您   自由地混合和匹配Groovy和Java代码,依赖于   两个方向。例如,Groovy类可以扩展Java类   这反过来扩展了一个Groovy类。这使得可以使用   工作的最佳语言,并在另一个课程中重写任何课程   语言,如果需要。