我正在用Groovy和Kotlin进行一个小项目,我的Kotlin代码取决于我的Groovy代码,而不是相反。但是,Kotlin首先编译我的代码而不是Groovy,结果,我得到了像Unresolved reference: SiteRepository这样的错误。

关于通过更改构建顺序或明确取决于Groovy的Kotlin或其他建议,我可以如何解决此问题的任何建议?

最佳答案

可以这样完成:

在4.10之后

Kotlin首先:

//compileKotlin.dependsOn = compileKotlin.taskDependencies.values - 'compileJava'
compileGroovy.dependsOn compileKotlin
compileGroovy.classpath += files(compileKotlin.destinationDir)
classes.dependsOn compileGroovy

在4.10之前

Groovy首先:
compileGroovy.dependsOn = compileGroovy.taskDependencies.values - 'compileJava'
compileKotlin.dependsOn compileGroovy
compileKotlin.classpath += files(compileGroovy.destinationDir)
classes.dependsOn compileKotlin

Kotlin首先:
compileKotlin.dependsOn = compileKotlin.taskDependencies.values - 'compileJava'
compileGroovy.dependsOn compileKotlin
compileGroovy.classpath += files(compileKotlin.destinationDir)
classes.dependsOn compileGroovy

明确地说,您可以选择是将Kotlin代码依赖于Groovy还是依赖Kotlin上的Groovy,但是您不必同时使用这两种方法。

07-27 21:25